Vai al contenuto principale
Didit’s KYB webhooks comunicano al tuo backend quando una sessione di verifica aziendale cambia stato o quando un revisore o il registro modifica i suoi dati. Le entità aziendali hanno eventi propri. Sottoscrivi gli eventi che ti interessano tramite la API delle destinazioni webhook oppure dalla Business Console.

Catalogo degli eventi

Gli eventi di sessione sono condivisi tra le sessioni User e Business. Il campo session_kind nel payload indica a quale tipo di sessione si riferisce l’evento. Gli eventi a livello di entità sono separati da quelli a livello di sessione.

Eventi a livello di sessione

data.updated non viene inviato quando il richiedente carica un documento o invia i Key People, né quando una nuova scansione AML termina. Per seguire questi progressi usa status.updated oppure recupera la decisione della sessione.

Eventi delle entità aziendali

Puoi sottoscrivere qualsiasi combinazione di eventi sulla tua destinazione webhook. Consulta i webhook delle entità per il riferimento completo degli eventi delle entità aziendali e degli utenti.

Struttura del payload

I webhook di sessione usano un payload piatto, senza un wrapper data. La busta, le intestazioni della firma e tutti i campi condivisi sono documentati nel riferimento dei webhook. Una sessione KYB aggiunge questi campi:

status.updated per una sessione KYB

Il blocco decision contiene registry_checks[], key_people_checks[], document_verifications[], aml_screenings[] e gli altri array KYB.

data.updated per una sessione KYB

data.updated contiene la stessa busta piatta di status.updated, più un trigger che indica il motivo dell’invio. Quando lo stato della sessione è Approved, Declined, In Review o Abandoned, contiene anche la decision corrente. Richiedi di nuovo la decisione per vedere cosa è cambiato. Il payload non contiene un elenco changed_fields.

business.status.updated e business.data.updated

Anche gli eventi delle entità sono piatti. Contengono vendor_business_id, vendor_data, status (ACTIVE, FLAGGED o BLOCKED) e created_at. business.status.updated aggiunge previous_status. business.data.updated aggiunge changed_fields e una mappa changes di { field: { previous, current } }.

Verifica della firma

Ogni webhook è firmato con HMAC-SHA256 usando il segreto condiviso della tua destinazione. Verifica il corpo grezzo della richiesta con l’header X-Signature-V2 (consigliato) e rifiuta le consegne il cui X-Timestamp è più vecchio di 300 secondi. Il riferimento dei webhook elenca tutte le intestazioni della firma, la sovrapposizione durante la rotazione del segreto di firma ed esempi di codice.

Politica dei nuovi tentativi

  • Una risposta 5xx o 404, un timeout o un errore di connessione attiva fino a 2 nuovi tentativi, dopo circa 1 minuto e circa 4 minuti, poi la consegna viene scartata.
  • Le altre risposte 4xx e 3xx non vengono ritentate.
  • Ogni nuovo tentativo mantiene lo stesso event_id, quindi deduplica in base a quello.
  • Puoi reinviare una consegna dal registro delle consegne della destinazione. Il riferimento dei webhook contiene la politica completa.

Sottoscrizione

Sottoscrivi gli eventi che ti interessano su una destinazione webhook:
Filtra le sessioni aziendali dal tuo lato verificando session_kind === "business" negli eventi status.updated e data.updated.

Prossimi passi

Riferimento dei webhook

Destinazioni, firma, nuovi tentativi, schemi comuni.

Stati

Riferimento degli stati di sessione e di funzionalità.

Schema della risposta

Come decodificare il payload della decisione KYB.
Ultima modifica il 7 novembre 2026