Saltar para o conteúdo principal
Os webhooks KYB da Didit informam o seu backend quando uma sessão de verificação de empresas muda de estado ou quando um revisor ou o registo altera os dados. As entidades Business têm eventos próprios. Subscreva os eventos que lhe interessam através da API de destinos de webhook ou da Business Console.

Catálogo de eventos

Os eventos de sessão são partilhados entre sessões User e Business. O campo session_kind do payload indica a que tipo de sessão o evento se refere. Os eventos ao nível da entidade são separados dos eventos ao nível da sessão.

Eventos ao nível da sessão

O data.updated não é enviado quando o requerente carrega um documento ou submete as pessoas-chave, nem quando uma nova análise AML termina. Use status.updated ou obtenha a decisão da sessão para acompanhar esse progresso.

Eventos de entidades Business

Subscreva qualquer combinação no seu destino de webhook. Consulte webhooks de entidades para a referência completa dos eventos das entidades Business e User.

Estrutura do payload

Os webhooks de sessão usam um payload plano, sem envelope data. O envelope, os cabeçalhos de assinatura e todos os campos partilhados estão documentados na referência de webhooks. Uma sessão KYB acrescenta estes campos:

status.updated numa sessão KYB

O bloco decision inclui registry_checks[], key_people_checks[], document_verifications[], aml_screenings[] e as restantes matrizes KYB.

data.updated numa sessão KYB

O data.updated tem o mesmo envelope plano do status.updated, mais um trigger que indica o motivo do disparo. Quando o estado da sessão é Approved, Declined, In Review ou Abandoned, inclui também a decision atual. Volte a obter a decisão para ver o que mudou. O payload não tem uma lista changed_fields.

business.status.updated e business.data.updated

Os eventos de entidades também são planos. Incluem vendor_business_id, vendor_data, status (ACTIVE, FLAGGED ou BLOCKED) e created_at. O business.status.updated acrescenta previous_status. O business.data.updated acrescenta changed_fields e um mapa changes de { field: { previous, current } }.

Verificação da assinatura

Cada webhook é assinado com HMAC-SHA256 usando o segredo partilhado do seu destino. Verifique o corpo bruto do pedido com o cabeçalho X-Signature-V2 (recomendado) e rejeite as entregas cujo X-Timestamp seja anterior em mais de 300 segundos. A referência de webhooks lista todos os cabeçalhos de assinatura, a sobreposição na rotação do segredo de assinatura e exemplos de código.

Política de novas tentativas

  • Uma resposta 5xx ou 404, um timeout ou uma falha de ligação desencadeiam até 2 novas tentativas, após cerca de 1 minuto e cerca de 4 minutos. Depois disso, a entrega é descartada.
  • As outras respostas 4xx e 3xx não desencadeiam novas tentativas.
  • Cada nova tentativa mantém o mesmo event_id, por isso deduplique com base nele.
  • Pode reenviar uma entrega a partir do registo de entregas do destino. A referência de webhooks tem a política completa.

Subscrição

Subscreva os eventos que lhe interessam num destino de webhook:
Filtre as sessões KYB do seu lado verificando session_kind === "business" nos eventos status.updated e data.updated.

Próximos passos

Referência de webhooks

Destinos, assinatura, novas tentativas, padrões comuns.

Estados

Referência de estados de sessão e de funcionalidades.

Esquema de resposta

Descodificação do payload de decisão KYB.
Última modificação em 7 de novembro de 2026