API Zefix : interroger les données du registre du commerce
Zefix est l’index central des raisons de commerce de la Suisse, exploité par l’Office fédéral du registre du commerce (OFRC) au sein de l’Office fédéral de la justice. Outre la recherche dans le navigateur, Zefix existe comme interface REST, la « Zefix PublicREST API ». Une application y obtient directement du registre du commerce la raison sociale, le siège, la forme juridique, le statut et le but. Ce guide montre l’accès, les requêtes et la réponse, et quand le registre IDE est le choix le plus simple.
Ce que fournit l’API Zefix
L’interface se trouve sous https://www.zefix.admin.ch/ZefixPublicREST. La description des
endpoints est dans l’interface Swagger,
lisible par machine en OpenAPI sous /v3/api-docs. Les endpoints principaux :
GET /api/v1/company/uid/{id}: entreprise par IDEPOST /api/v1/company/search: recherche par nom, forme juridique, siège ou cantonGET /api/v1/sogc/bydate/{date}: publications d’un jour dans la Feuille officielle suisse du commerce (FOSC)GET /api/v1/legalFormetGET /api/v1/community: listes des formes juridiques et des communes
Les données sont soumises à la condition « Open use », avec l’obligation d’indiquer la source.
Étape 1 : demander un accès
Les requêtes sont gratuites mais demandent un compte. L’OFRC attribue l’accès sur demande par e-mail à zefix@bj.admin.ch ; le nom d’utilisateur est une adresse e-mail. L’authentification se fait par HTTP Basic Auth, donc avec nom d’utilisateur et mot de passe à chaque requête. Obtenir les identifiants peut prendre quelques jours, mieux vaut donc les demander tôt.
Étape 2 : chercher une entreprise par IDE
L’IDE figure dans le chemin sans points ni tiret :
curl -u "utilisateur@example.ch:motdepasse" \
https://www.zefix.admin.ch/ZefixPublicREST/api/v1/company/uid/CHE107721785
La réponse est une liste, pas un objet unique. Si l’IDE n’est pas au registre du commerce, Zefix répond 404.
Étape 3 : chercher une entreprise par nom
La recherche attend le début de la raison sociale, au moins trois caractères, avec * comme
joker :
{
"name": "Exemple*",
"canton": "VD",
"activeOnly": true
}
Elle se comporte comme la recherche exacte sur le site de Zefix. activeOnly masque les
entreprises radiées. Les résultats arrivent sous forme courte ; les données complètes viennent
ensuite d’une requête par IDE.
Ce que contient la réponse
name,uid,legalSeat(commune du siège) etcantonlegalFormavec le code selon eCH-0097status:ACTIVEactive,BEING_CANCELLEDen liquidation,CANCELLEDradiée, avecdeletionDatepurpose, le but inscrit au registre du commerceaddressavec rue, numéro, code postal et localitécapitalNominaletcapitalCurrencypour les sociétés de capitauxsogcPubavec les publications FOSC etoldNamesavec les anciennes raisons socialescantonalExcerptWeb, le lien vers l’extrait du registre du commerce cantonal
Zefix ou registre IDE ?
Zefix ne connaît que les entreprises inscrites au registre du commerce. Le registre IDE de l’Office fédéral de la statistique connaît chaque entreprise ayant un IDE, y compris les entreprises individuelles et associations non inscrites, et montre l’inscription au registre TVA. Son interrogation publique ne demande pas de compte.
Pour savoir si un IDE saisi dans le checkout est valable et l’entreprise active, le registre IDE suffit donc. Zefix vaut la peine quand le but, le capital, les anciennes raisons sociales ou les publications sont nécessaires. Le contrôle via le registre IDE est expliqué dans le guide vérifier un numéro IDE.
Pièges
- Écriture de l’IDE : dans le chemin sans séparateurs (
CHE107721785), à l’affichage avec (CHE-107.721.785). Normaliser avant la requête. - Liste au lieu d’objet : même la requête par IDE renvoie une liste.
- Liquidation :
BEING_CANCELLEDn’est pas encore radiée, mais n’est plus un partenaire commercial ordinaire. Votre application doit décider comment la traiter. - Identifiants : nom d’utilisateur et mot de passe restent sur le serveur. Un appel depuis le navigateur les montrerait à chaque visiteur.
- Mise en cache : les données d’entreprise changent rarement. Garder les réponses un moment plutôt que d’interroger à chaque affichage de page.
Prêt pour la boutique
Pour vérifier les IDE dans le checkout WooCommerce, pas besoin de code maison : mon plugin Contrôle IDE vérifie format, chiffre de contrôle et statut dans le registre IDE, sans compte ni clé.