EN
Copied
Modules

Enrichissement externe

Enrichissement externe

Comble les trous d'une liste (téléphone, email et site web) en rapprochant chaque établissement des annuaires publics officiels chargés en local. Aucun crawl, aucune IA, aucun appel réseau pendant le job : la réponse est dans l'annuaire, ou elle n'y est pas.

À quoi il sert

La plupart des modules d'enrichissement lisent le site web d'une entreprise : une liste sans sites est donc un cul-de-sac. Ce module fonctionne dans l'autre sens : il identifie l'établissement (par son SIRET, ou par son nom et son code postal) et renvoie les coordonnées publiées dans les annuaires ouverts de l'État. C'est l'étape naturelle juste après sirene, qui donne les fiches officielles mais jamais de coordonnées.

La correspondance est déterministe, du plus sûr au plus large : SIRET, puis SIREN, puis nom normalisé + code postal, puis nom normalisé + commune. Quand deux fiches homonymes de la même ville se contredisent, rien n'est rempli : une case vide vaut mieux qu'un numéro faux.

Les annuaires couverts

Annuaire Ce qu'il couvre Ce qu'il apporte
Annuaire Santé (RPPS) Médecins, dentistes, pharmaciens, sages-femmes Téléphone, email
DATAtourisme Hôtels, restaurants, campings, sites et activités Site web
Annuaire de l'administration (DILA) Mairies, préfectures, organismes publics Téléphone, email, site web
FINESS Hôpitaux, cliniques, EHPAD, médico-social Téléphone
Annuaire de l'éducation Écoles, collèges, lycées Téléphone, site web
ADEME, entreprises RGE Bâtiment et rénovation énergétique Téléphone, email, site web
Agence Bio Producteurs, transformateurs et distributeurs bio Téléphone, site web
Atout France, hébergements classés Hôtels, campings, résidences de tourisme Site web
Centres de contrôle technique Automobile Téléphone, site web
Qualité Tourisme et Tourisme et Handicap (DGE) Établissements touristiques labellisés Téléphone, email, site web
OpenStreetMap, commerces et artisans Boulangeries, coiffeurs, garages, bureaux, commerces de proximité Téléphone, email, site web
OpenStreetMap, restauration Restaurants, cafés, bars Téléphone, site web
OpenStreetMap, santé, services publics et hébergements Cabinets, équipements publics, hôtels et chambres d'hôtes Téléphone, email, site web

Au total, environ 1 160 000 établissements, dont 854 000 avec un téléphone, 287 000 avec un email et 570 000 avec un site web. La couverture est nationale (France) et les annuaires sont rechargés chaque mois, sans intervention de votre part.

Licences et attribution

Les registres publiés par l'État sont sous Licence Ouverte. Les trois derniers viennent d'OpenStreetMap et sont sous licence ODbL, qui impose l'attribution et le partage à l'identique. C'est la raison d'être de la colonne opendata_source : chaque valeur écrite cite le registre dont elle provient. Si vous rediffusez un fichier contenant ces données, conservez cette colonne.

Entrées

Champ Requis Notes
nom oui (sauf si siret/siren) Nom de l'entreprise. Alias acceptés (name, raison sociale, entreprise…).
siret non 14 chiffres. Meilleure clé : utilisée en premier quand elle est présente.
siren non 9 chiffres. Utilisée quand aucun SIRET ne correspond.
code_postal non Fortement recommandé : sans code postal ni commune, la correspondance par nom est ignorée.
commune non Solution de repli en l'absence de code postal.

C'est le seul module d'enrichissement qui accepte des lignes sans aucun point de contact : en trouver un est précisément son rôle. Les lignes sans nom et sans identifiant d'entreprise sont conservées telles quelles dans le fichier de sortie.

Sorties

Colonne Type Description
site_web texte Rempli seulement si vide en entrée.
telephone texte Rempli seulement si vide en entrée. Format national.
email texte Rempli seulement si vide en entrée. Les boîtes institutionnelles génériques sont exclues.
opendata_champs texte Les colonnes que ce module a remplies, séparées par |. Vide quand rien n'a été rempli.
opendata_match texte Comment la ligne a été rapprochée : siret, siren, nom+cp ou nom+commune. Vide sans correspondance.
opendata_source texte L'annuaire d'où viennent les valeurs, en clair (attribution imposée par la licence ouverte).

Une valeur déjà présente n'est jamais écrasée. Un opendata_champs vide signifie que le module a tourné sans rien trouver d'utilisable pour cette ligne, jamais que la ligne a été perdue.

Cycle de vie

Cycle de vie standard, voir Cycle de vie des jobs. La progression est comptée en établissements, le volume final en lignes complétées.

Chaînage

opendata est un module d'enrichissement : il complète une liste existante, il n'en produit pas.

needs:    poi_list
produces: enriched_list

Chaîne typique :

sirene → opendata → emails → verify_emails → filter

Le placer juste après sirene est ce qui rend la suite possible : emails, socials, legal_mentions ou techstack exigent tous une colonne site_web.

Points d'entrée

POST /api/jobs/opendata

Champ Type Requis Description
items tableau d'objets non Lignes à enrichir, 10000 maximum. Facultatif si source_job_id est fourni.
source_job_id texte non Réutiliser les lignes d'un de vos jobs terminés au lieu de les renvoyer.

Réponse : l'enveloppe JobPublic standard.

Exemple :

POST /api/jobs/opendata
{ "items": [ { "nom": "Dupont Couverture", "code_postal": "35000", "siret": "48123456700019" } ] }
{ "id": "6b1f…", "job_type": "opendata", "status": "pending", "results_count": 0 }

Quotas globaux et plafonds par job : voir Limites.

Erreurs

Condition Réponse
Aucune ligne n'a de nom, de SIRET ni de SIREN 400 avec la composition exacte de la liste envoyée
Plus de 10000 lignes Erreur de validation 422
source_job_id inconnu, pas à vous, non terminé ou au-delà de 10000 lignes 400

Et après