Passer au contenu principal
Les webhooks KYB de Didit informent votre backend lorsqu’une session de Vérification d’entreprise (KYB) change de statut, ou lorsqu’un réviseur ou le registre modifie ses données. Les entités d’entreprise ont leurs propres événements. Abonnez-vous aux événements qui vous intéressent via l’API des destinations de webhook ou la Business Console.

Catalogue des événements

Les événements de session sont communs aux sessions utilisateur et entreprise. Le champ session_kind du payload indique à quel type de session l’événement se rapporte. Les événements au niveau de l’entité sont distincts des événements au niveau de la session.

Événements au niveau de la session

data.updated n’est pas envoyé lorsque le demandeur téléverse un document ou soumet les personnes clés, ni lorsqu’une nouvelle analyse AML se termine. Utilisez status.updated ou récupérez la décision de la session pour suivre cette progression.

Événements de l’entité d’entreprise

Abonnez votre destination de webhook à la combinaison d’événements de votre choix. Consultez les webhooks d’entité pour la référence complète des événements des entités d’entreprise et utilisateur.

Structure du payload

Les webhooks de session utilisent un payload plat, sans enveloppe data. L’enveloppe, les en-têtes de signature et tous les champs communs sont documentés dans la référence des webhooks. Une session KYB ajoute les champs suivants :

status.updated pour une session KYB

Le bloc decision contient registry_checks[], key_people_checks[], document_verifications[], aml_screenings[] ainsi que les autres tableaux KYB.

data.updated pour une session KYB

data.updated contient la même enveloppe plate que status.updated, avec en plus un trigger qui indique la raison de l’envoi. Lorsque le statut de la session vaut Approved, Declined, In Review ou Abandoned, il contient aussi la decision actuelle. Récupérez de nouveau la décision pour voir ce qui a changé. Le payload ne contient pas de liste changed_fields.

business.status.updated et business.data.updated

Les événements d’entité sont également plats. Ils contiennent vendor_business_id, vendor_data, status (ACTIVE, FLAGGED ou BLOCKED) et created_at. business.status.updated ajoute previous_status. business.data.updated ajoute changed_fields ainsi qu’une map changes de la forme { field: { previous, current } }.

Vérification de signature

Chaque webhook est signé avec HMAC-SHA256 à l’aide du secret partagé de votre destination. Vérifiez le corps brut de la requête avec l’en-tête X-Signature-V2 (recommandé) et rejetez les envois dont l’en-tête X-Timestamp date de plus de 300 secondes. La référence des webhooks répertorie tous les en-têtes de signature, le chevauchement lors de la rotation du secret de signature, ainsi que des exemples de code.

Politique de nouvelle tentative

  • Une réponse 5xx ou 404, un délai d’attente ou un échec de connexion déclenche jusqu’à 2 nouvelles tentatives, après environ 1 minute puis environ 4 minutes, après quoi l’envoi est abandonné.
  • Les autres réponses 4xx et 3xx ne sont pas réessayées.
  • Chaque nouvelle tentative conserve le même event_id : dédupliquez sur ce champ.
  • Vous pouvez renvoyer un envoi depuis le journal de livraison de la destination. La référence des webhooks détaille la politique complète.

Abonnement

Abonnez-vous aux événements qui vous intéressent sur une destination de webhook :
Pour filtrer les sessions entreprise de votre côté, vérifiez session_kind === "business" dans les événements status.updated et data.updated.

Étapes suivantes

Référence des webhooks

Destinations, signature, nouvelles tentatives, schémas courants.

Statuts

Référence des statuts de session et de fonctionnalité.

Schéma de réponse

Décodage du payload de décision KYB.
Dernière modification le 7 novembre 2026