Aller au contenu principal

Entreprises et établissements

Les ressources SIREN et SIRET servent à vérifier l'identité du destinataire avant d'enregistrer ou d'utiliser son adressage de facturation électronique.

Recherche ou consultation directe ?

Si le SIREN ou le SIRET exact est déjà connu, utilisez de préférence la route GET.

Utilisez POST /search lorsque vous recherchez sur un autre critère, lorsque vous combinez plusieurs critères ou lorsqu'une liste de résultats est nécessaire.

➡️ Recherche, filtres et pagination

Rechercher une unité légale

POST /v1/siren/search

Le sous-folder Postman SIREN illustre plusieurs façons d'utiliser la même route.

Cas 1 — rechercher par SIREN

Utilisez strict lorsque le SIREN exact est connu.

{
"filters": {
"siren": {
"op": "strict",
"value": "445023427"
}
},
"fields": [
"siren",
"businessName",
"entityType",
"administrativeStatus",
"instructions"
],
"limit": 20,
"ignore": 0
}

Cas 2 — rechercher par raison sociale

Utilisez contains pour rechercher une chaîne contenue dans la raison sociale.

{
"filters": {
"businessName": {
"op": "contains",
"value": "PC PLACE CANDOLLE"
}
},
"limit": 20,
"ignore": 0
}
Pas de caractères joker

Avec l'opérateur contains, transmettez directement la valeur recherchée.

Par exemple :

{
"op": "contains",
"value": "PC PLACE CANDOLLE"
}

N'ajoutez pas de * autour de la valeur : l'opérateur porte déjà la sémantique de recherche.

Cas 3 — rechercher une unité légale administrativement active par raison sociale

Vous pouvez combiner la raison sociale et le statut administratif :

{
"filters": {
"businessName": {
"op": "contains",
"value": "PC PLACE CANDOLLE"
},
"administrativeStatus": {
"op": "strict",
"value": "A"
}
},
"limit": 20,
"ignore": 0
}

Ici, administrativeStatus: "A" permet de limiter la recherche aux unités légales administrativement actives.

Les critères fournis dans filters servent ensemble à affiner la recherche.

Exemple de réponse

{
"search": {
"filters": {
"siren": {
"op": "strict",
"value": "552100554"
}
},
"fields": [
"siren",
"businessName",
"entityType",
"administrativeStatus",
"instructions"
],
"limit": 20,
"ignore": 0
},
"totalNumberOfResults": 1,
"results": [
{
"siren": "552100554",
"businessName": "BCSOLUTIONS DEMO",
"entityType": "PrivateVatRegistered",
"administrativeStatus": "A",
"instructions": {
"isSalesProspectingForbidden": false
}
}
]
}

Champs utiles

ChampUsage
sirenIdentifiant de l'unité légale
businessNameDénomination
entityTypeType d'entité
administrativeStatusStatut administratif
instructions.isSalesProspectingForbiddenRestriction d'usage commercial des données
Restriction d'usage

isSalesProspectingForbidden doit être respecté lorsqu'il interdit la prospection. Une valeur false n'autorise cependant pas à détourner le Directory Service pour constituer une base commerciale : les recherches restent limitées aux besoins de facturation électronique.

➡️ Comprendre la pagination


Consulter directement une unité légale

GET /v1/siren/code-insee:{siren}

Lorsque le SIREN exact est connu, cette route permet de vérifier directement l'unité légale.

GET /v1/siren/code-insee:445023427?fields=siren&fields=businessName&fields=entityType&fields=administrativeStatus&fields=instructions

Les paramètres fields permettent de limiter la réponse aux données réellement nécessaires.

Exemple de réponse :

{
"siren": "552100554",
"businessName": "BCSOLUTIONS DEMO",
"entityType": "PrivateVatRegistered",
"administrativeStatus": "A",
"instructions": {
"isSalesProspectingForbidden": false
}
}

Utilisation dans le SI du fournisseur

Lors de la création d'une fiche client :

La validation du SIREN ne suffit pas à valider l'adresse de facturation électronique. Le SI doit ensuite vérifier le niveau d'adressage réellement utilisé par le client.


Rechercher un établissement

POST /v1/siret/search

Le sous-folder Postman SIRET illustre plusieurs recherches adaptées à la manière dont l'utilisateur connaît le destinataire.

Cas 1 — rechercher par SIRET

{
"filters": {
"siret": {
"op": "strict",
"value": "32904893800156"
}
},
"include": [
"siren",
"siret"
],
"fields": [
"siret",
"siren",
"name",
"facilityType",
"administrativeStatus",
"siretInstructions",
"address"
],
"limit": 20,
"ignore": 0
}

Cas 2 — rechercher les établissements d'un SIREN

Lorsque l'unité légale est connue mais pas l'établissement :

{
"filters": {
"siren": {
"op": "strict",
"value": "329048938"
}
},
"limit": 20,
"ignore": 0
}

Ce cas est utile pour proposer à l'utilisateur les établissements rattachés à l'unité légale avant de sélectionner l'adresse de facturation appropriée.

Cas 3 — rechercher par nom d'établissement

{
"filters": {
"name": {
"op": "contains",
"value": "{{facility_name}}"
}
},
"limit": 20,
"ignore": 0
}

Comme pour la raison sociale, contains ne nécessite pas de * autour de la valeur.

Cas 4 — rechercher un établissement actif par nom et code postal

Pour réduire les ambiguïtés lorsque plusieurs établissements ont des noms proches :

{
"filters": {
"name": {
"op": "contains",
"value": "GPME SERVICES"
},
"postalCode": {
"op": "strict",
"value": "34090"
},
"administrativeStatus": {
"op": "strict",
"value": "A"
}
},
"limit": 20,
"ignore": 0
}

Cet exemple combine :

  • une recherche partielle sur name ;
  • un code postal exact ;
  • un établissement administrativement actif.

Il est particulièrement adapté à une recherche interactive dans un écran de sélection de destinataire.

Exemple de réponse

{
"search": {
"filters": {
"siret": {
"op": "strict",
"value": "55210055400013"
}
},
"limit": 20,
"ignore": 0
},
"totalNumberOfResults": 1,
"results": [
{
"siret": "55210055400013",
"siren": "552100554",
"name": "BCSOLUTIONS DEMO",
"facilityType": "P",
"administrativeStatus": "A",
"siretInstructions": {
"isSalesProspectingForbidden": false
},
"address": {
"addressLine1": "1 RUE DE L EXEMPLE",
"postalCode": "75000",
"locality": "PARIS",
"countryCode": "FR",
"countryName": "France"
},
"legalUnit": {
"siren": "552100554",
"businessName": "BCSOLUTIONS DEMO",
"entityType": "PrivateVatRegistered",
"administrativeStatus": "A"
}
}
]
}

Champs utiles

ChampUsage
siretIdentifiant de l'établissement
sirenUnité légale de rattachement
nameNom de l'établissement
facilityTypeÉtablissement principal ou secondaire
administrativeStatusStatut administratif
addressAdresse postale si publiable
legalUnitInformations de l'unité légale lorsqu'elles sont incluses

➡️ Comprendre la pagination


Consulter directement un établissement

GET /v1/siret/code-insee:{siret}

Lorsque le SIRET exact est connu :

GET /v1/siret/code-insee:32904893800156?fields=siret&fields=siren&fields=name&fields=facilityType&fields=administrativeStatus&fields=siretInstructions&fields=address

Exemple de réponse :

{
"siret": "55210055400013",
"siren": "552100554",
"name": "BCSOLUTIONS DEMO",
"facilityType": "P",
"administrativeStatus": "A",
"siretInstructions": {
"isSalesProspectingForbidden": false
},
"address": {
"addressLine1": "1 RUE DE L EXEMPLE",
"postalCode": "75000",
"locality": "PARIS",
"countryCode": "FR",
"countryName": "France"
},
"legalUnit": {
"siren": "552100554",
"businessName": "BCSOLUTIONS DEMO",
"entityType": "PrivateVatRegistered",
"administrativeStatus": "A"
}
}

Une fois l'établissement vérifié, passez à la recherche de l'adresse de facturation électronique ou du code routage attendu.

➡️ Codes routage
➡️ Lignes d'annuaire