Téléphones supplémentaires
Téléphones supplémentaires
Le module phones_extra va au-delà de l'unique numéro de standard renvoyé par une fiche cartographique typique et fait remonter les canaux vocaux supplémentaires qu'une entreprise expose sur son propre site : lignes directes, mobiles, services commerciaux et hotlines support.
Objectif
Les sources de découverte publient un numéro canonique par implantation. Les organisations réelles en publient plusieurs : homepage, landing pages, bios d'équipe, mentions légales. phones_extra lit les pages publiques de chaque site rattaché à un POI, extrait tous les jetons de forme téléphonique, les valide via la bibliothèque phonenumbers de Google, les normalise en E.164 et les dédoublonne par rapport au numéro principal déjà connu.
Entrées
Le module opère sur une liste de POI enrichie : généralement issue d'une étape de découverte préalable.
| Champ | Requis | Notes |
|---|---|---|
site_web |
oui | Les POI sans site sont filtrés à la soumission. |
name |
non | Sert au libellé de sortie et à l'audit trail. |
phone |
non | Quand présent, sert de référence pour le dédoublonnage. |
address |
non | Aide la détection de pays sur formats ambigus. |
Les items sans site_web sont silencieusement écartés ; si la liste filtrée est vide, la requête est rejetée avec une erreur de validation.
Sorties
Chaque ligne d'entrée garde ses colonnes d'origine et reçoit les champs ci-dessous. Plusieurs numéros sont séparés par |. Une chaîne vide indique que le module a tourné mais n'a rien trouvé de ce type. Le telephone principal de la ligne n'est jamais répété ici, et au plus 5 numéros sont gardés par site.
| Colonne | Type | Description |
|---|---|---|
phones_extra |
string | Tous les numéros supplémentaires trouvés sur le site, E.164. |
phones_extra_count |
string | Nombre de numéros contenus dans phones_extra. |
phones_source_urls |
string | Pages où les numéros ont été lus. |
phones_mobile |
string | Les numéros de phones_extra qui sont des lignes mobiles, E.164. |
phones_fixed |
string | Les autres numéros (fixe, VoIP, numéros spéciaux), E.164. |
Mobile ou fixe est déterminé par le plan de numérotation national de chaque numéro (en France, 06 et 07 sont mobiles). Les numéros qu'un plan ne permet pas de distinguer (comme certaines plages américaines fixe ou mobile) sont classés en fixe. Tous les numéros sont validés et normalisés ; ce qui échoue à la validation est écarté plutôt que rendu sous forme d'estimation.
Cycle de vie
Cycle de job standard. Voir Cycle de vie des jobs. La progression est reportée en sites et le volume final en numéros.
Pipeline
phones_extra est un module d'enrichissement : il augmente une liste de POI existante, il n'en génère pas.
needs: poi_list
produces: enriched_list
Chaîne typique :
scrap → phones_extra → filter → export
Endpoints
POST /api/jobs/phones-extra
Crée un job de téléphones supplémentaires à partir d'une liste de POI.
Corps
| Champ | Type | Requis | Description |
|---|---|---|---|
items |
array | oui | POI à enrichir, chacun portant au moins site_web. |
source_job_id |
string (uuid) | non | ID du job parent quand on enchaîne depuis une exécution. |
Réponse
Retourne l'enveloppe JobPublic standard (id, status, job_type, output_filename, coût quota, timestamps).
Exemple
POST /api/jobs/phones-extra
Content-Type: application/json
{
"source_job_id": "f3c2…",
"items": [
{ "name": "Acme SAS", "site_web": "https://acme.example", "phone": "+33123456789" },
{ "name": "Beta Co", "site_web": "https://beta.example" }
]
}
{
"id": "9a7b…",
"status": "pending",
"job_type": "phones_extra",
"output_filename": "telephones-extra-2-sites.xlsx"
}
Quotas globaux et plafonds par job : voir Limites.
Erreurs
| Condition | Réponse |
|---|---|
Aucun item ne porte de site_web |
400 : Aucun établissement avec site web. |
| Coût estimé au-dessus du quota par job | 400 : quota dépassé, avec dépassement chiffré. |
| Quota de compte épuisé | 400 : échec du contrôle quota avant insertion. |
Corps malformé (items manquant, mauvais types) |
422 : erreur de validation de requête. |
Les erreurs runtime sur des sites individuels n'interrompent pas le job : le POI concerné est enregistré avec des champs téléphoniques extras vides et le worker poursuit.
Et après
- Vérification d'emails : apparier les lignes directes fraîchement trouvées avec des boîtes délivrables.
- Filter : segmenter la liste enrichie par présence de mobile, indicatif pays, ou toute combinaison des nouveaux champs.