Vérifier une entreprise et obtenir un code de preuve par API (POST /v1/verifications)

Un seul appel vérifie une entreprise française ou espagnole dans son registre et renvoie un résultat, ses raisons et un code de preuve vérifiable par tous.

· Par l’équipe Fuentio · 7 min de lecture

Image de partage : « Vérifier une entreprise et obtenir un code de preuve par API » sur le fond papier de Fuentio, avec l’étiquette Tutoriel.

Une consultation dit ce que contient le registre. Une vérification en fait une décision sur laquelle agir, et que vous pourrez justifier plus tard : un résultat, ses raisons, les contrôles effectués, et un code de preuve que toute personne à qui vous le transmettez peut vérifier, sans clé. Ce tutoriel montre l’appel, deux vraies réponses (une française, une espagnole), comment traduire les résultats en décisions dans votre parcours d’entrée en relation, et comment fonctionnent les codes de preuve.

Ce que vous allez apprendre

  • Appeler POST /v1/verifications, et ce que ça coûte
  • Lire le résultat, les raisons, les contrôles et les signaux
  • Pourquoi le même appel répond « verified » pour une société française et « partial » pour une société espagnole
  • Transformer les résultats en décisions d’entrée en relation
  • Le fonctionnement des codes de preuve, et qui voit quoi

L’appel

Envoyez le pays et l’identifiant officiel. Ajoutez votre propre reference (un numéro de dossier ou de client, jusqu’à 200 caractères) pour retrouver la vérification plus tard :

curl -X POST https://api.fuentio.com/v1/verifications \
  -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"country": "FR", "identifier": "552032534", "reference": "onboarding-0042"}'

En Python :

import httpx

r = httpx.post("https://api.fuentio.com/v1/verifications",
               headers={"X-API-Key": "YOUR_API_KEY"},
               json={"country": "FR", "identifier": "552032534", "reference": "onboarding-0042"},
               timeout=30)
v = r.json()["data"]
print(v["result"]["outcome"], v["result"]["reasons"], v["proof_code"])

Coût : 5 unités, ou 1 unité quand un identifiant bien formé n’est pas trouvé ; les erreurs ne coûtent rien. Pour la France, l’identifiant est un SIREN ou un SIRET ; pour l’Espagne, la feuille du Registro Mercantil (trouvez-la d’abord par le nom : voir trouver une société espagnole par son nom).

Une vraie réponse française : DANONE, « verified »

Enregistrée depuis l’API le 12 octobre 2026 (certains champs omis) :

{
  "proof_code": "FUE-FR-20261012-ABAT38",
  "checked_at": "2026-10-12T11:26:42.573335+00:00",
  "identifier": { "scheme": "FR_SIREN", "value": "552032534" },
  "result": {
    "outcome": "verified",
    "reasons": ["company_active"],
    "summary": "DANONE (FR, SIREN 552032534): verified, active per Annuaire des Entreprises (API Recherche d'entreprises), checked 2026-10-12. Proof FUE-FR-20261012-ABAT38."
  },
  "checks": [
    { "check": "identifier_valid", "result": "pass", "detail": "The ID has a valid format." },
    { "check": "record_found", "result": "pass", "detail": "Found in the official source." },
    { "check": "status_active", "result": "pass", "detail": "Register status: active." },
    { "check": "address_present", "result": "pass", "detail": "Registered address published." },
    { "check": "fresh", "result": "pass", "detail": "Checked against the source within its refresh window." }
  ],
  "receipt": {
    "request_id": "req_F-kLJX7DF7SffHsi",
    "served_at": "2026-10-12T11:26:42.573335+00:00",
    "data_sha256": "4b555141ade1bb91ab789296aa9d7f4d95e71879c057f4b7797aea1aaa9bab0f"
  }
}

La réponse contient aussi la fiche complète de l’entreprise, un changes_summary et des signals.

Une vraie réponse espagnole : MERCADONA, « partial »

Le même appel pour MERCADONA SA, feuille du Registro Mercantil V-5581, enregistré le même jour :

{
  "proof_code": "FUE-ES-20261012-966W7X",
  "result": {
    "outcome": "partial",
    "reasons": ["status_unknown", "events_only_coverage"],
    "summary": "MERCADONA SA (ES, Registro Mercantil sheet (hoja) V-5581): partial, status unknown (no dissolution act; latest act 2026-10-07) per BORME — Boletín Oficial del Registro Mercantil (Sección A), checked 2026-10-12. Proof FUE-ES-20261012-966W7X."
  },
  "checks": [
    { "check": "record_found", "result": "pass", "detail": "Found in the official source." },
    { "check": "status_active", "result": "unknown", "detail": "Register status: unknown." }
  ]
}

Ici, « partial » n’est pas une alerte sur Mercadona. Il reflète la source : le BORME espagnol publie des événements (les actes inscrits depuis le 2 janvier 2009), pas un indicateur « active » à jour. Sans acte de dissolution et avec un acte récent, le statut reste « inconnu », et le résultat le dit honnêtement au lieu de deviner.

Lire la réponse

  • result.outcome : verified, partial, unverified ou insufficient_data.
  • result.reasons : des codes courts qui expliquent le résultat (company_active, status_unknown, events_only_coverage…). Enregistrez-les : c’est ce qu’un relecteur lit en premier.
  • result.summary : une phrase en clair (en anglais) qui se termine par la source, la date de vérification et le code de preuve. Elle peut être affichée telle quelle ou collée dans une note de dossier.
  • checks : chaque contrôle effectué, avec pass, fail ou unknown et une ligne d’explication.
  • signals : ce que la source indique sur la fermeture, la dissolution, l’extinction et les procédures collectives : present, none_found ou not_covered. « Non couvert » veut dire que la source ne peut pas répondre, jamais « rien à signaler ».
  • receipt : le request_id, l’heure de la réponse et une empreinte SHA-256 des données. Il permet de prouver plus tard que c’est exactement ce qui a été servi.

Du résultat à la décision

Fuentio vous donne des faits et un résultat ; la décision vous appartient. Un point de départ pour un parcours d’entrée en relation :

RésultatTraitement suggéré
verifiedContinuer. Enregistrer le code de preuve avec la fiche du client ou du fournisseur.
partialLire les raisons. Pour l’Espagne, status_unknown avec events_only_coverage est le cas normal : ajoutez vos propres contrôles si l’enjeu le justifie.
unverifiedS’arrêter et demander. Lire les contrôles en échec : une société fermée, une fiche absente.
insufficient_dataDemander un meilleur identifiant (un SIREN plutôt qu’un nom, la bonne feuille).

Quelle que soit la décision, enregistrez quatre éléments avec la fiche : le proof_code, le outcome, les reasons et la date checked_at. C’est votre piste d’audit. Pour la vue d’ensemble, voir un contrôle d’entrée en relation fournisseurs pour la France et l’Espagne.

Les codes de preuve : qui voit quoi

Chaque vérification est enregistrée avec son code de preuve (FUE- + pays + date + six caractères), conservé 24 mois par défaut.

Vous, le propriétaire, pouvez récupérer la vérification complète à tout moment avec votre clé, par son identifiant ou son code de preuve, pour 0 unité :

curl https://api.fuentio.com/v1/verifications/FUE-FR-20261012-ABAT38 -H "X-API-Key: YOUR_API_KEY"

Toute personne à qui vous transmettez le code peut le vérifier publiquement, sans clé et pour 0 unité :

curl https://api.fuentio.com/v1/public/proofs/FUE-FR-20261012-ABAT38

ou simplement ouvrir la page de preuve et coller le code. La réponse publique montre le résultat, les raisons, l’entreprise (nom, identifiant, pays), les contrôles, les sources avec leurs liens, l’heure de la réponse, l’empreinte des données, et si les données enregistrées sont inchangées. Elle ne montre jamais qui a fait la vérification : ni clé, ni e-mail, ni référence, ni identifiant interne. Vous pouvez donc la mettre dans un e-mail à une banque, un auditeur ou un client.

Les consultations publiques sont limitées (30 par minute et par adresse), et un code inconnu répond un 404 propre.

Essayer sans écrire de code

Quand vous êtes prêt, une clé API gratuite donne 100 unités par mois, soit 20 vérifications. Commencez par démarrer avec l’API si vous n’avez pas encore fait de premier appel. Voyez ce que nous couvrons.

Les questions des relecteurs, et où trouver la réponse

Quand les vérifications arrivent chez un relecteur conformité ou finance, les mêmes questions reviennent. Chacune a son champ.

  • « Est-ce à jour ? » Le contrôle fresh passe quand la réponse a été vérifiée auprès de la source dans son délai de rafraîchissement, et checked_at donne l’heure exacte. Une vérification est une photo : pour une décision ultérieure, relancez-en une.
  • « Qu’avez-vous vraiment contrôlé ? » La liste checks répond, une ligne par contrôle, avec son résultat. Montrez-la telle quelle plutôt que de la résumer.
  • « Pourquoi la dissolution n’a-t-elle pas été signalée ? » Lisez signals : not_covered veut dire que la source ne peut pas répondre, ce qui n’est pas none_found. Votre politique doit dire quoi faire dans chaque cas.
  • « Pour quel dossier était-ce ? » C’est le rôle de reference. Utilisez votre propre numéro de client ou de dossier, et vous retrouvez toutes les vérifications qui s’y rattachent.
  • « Pouvez-vous prouver que les données n’ont pas changé depuis ? » La preuve publique indique unchanged, calculé à partir des données conservées et de leur empreinte SHA-256.

Une règle pratique adoptée par beaucoup d’équipes : vérifier à l’entrée en relation, puis avant toute grosse commande, tout acompte ou toute décision de crédit, et classer chaque nouveau code de preuve à côté des précédents.

Questions fréquentes

Combien coûte une vérification ?

5 unités, ou 1 unité quand un identifiant bien formé n’est pas trouvé. Les erreurs ne coûtent rien. Récupérer une vérification enregistrée ou consulter une preuve publique coûte 0.

Que veut dire « partial » pour une société espagnole ?

Que la source ne peut pas confirmer un statut actif : le BORME publie des actes, pas un statut à jour. C’est le résultat normal pour beaucoup de sociétés espagnoles, expliqué par les raisons status_unknown et events_only_coverage.

Peut-on voir qui a fait une vérification à partir de son code de preuve ?

Non. La preuve publique montre l’entreprise, le résultat, les contrôles et les sources, jamais la clé, l’e-mail, la référence ou l’identifiant interne de la personne qui l’a lancée.

Combien de temps les vérifications sont-elles conservées ?

24 mois par défaut.

Sources

  • Référence de l’API Fuentio : documentation et le fichier OpenAPI
  • Les exemples : DANONE et MERCADONA, enregistrés depuis l’API le 12 octobre 2026 (site/data/api-examples dans le dépôt du site)
  • Les sources officielles des données : sources

← Tous les articles · Flux RSS