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.
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.
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
}
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
| Champ | Usage |
|---|---|
siren | Identifiant de l'unité légale |
businessName | Dénomination |
entityType | Type d'entité |
administrativeStatus | Statut administratif |
instructions.isSalesProspectingForbidden | Restriction d'usage commercial des données |
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.
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
| Champ | Usage |
|---|---|
siret | Identifiant de l'établissement |
siren | Unité légale de rattachement |
name | Nom de l'établissement |
facilityType | Établissement principal ou secondaire |
administrativeStatus | Statut administratif |
address | Adresse postale si publiable |
legalUnit | Informations de l'unité légale lorsqu'elles sont incluses |
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.