Arquitetura de Webhooks

Envelope comum dos eventos, verificação de assinatura HMAC e lista dos 11 eventos disponíveis.

Envelope Padronizado

Todo webhook chega com a seguinte estrutura:

{
  "eventType": "CREDIT_OPERATION_CREATED",
  "entityId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "occurredAt": "2026-09-28T14:30:00Z",
  "data": { }
}
CampoTipoDescrição
eventTypestring (enum)Identificador do tipo do evento disparado.
entityIduuidID interno da entidade associada ao evento (operação de crédito, conta escrow, etc.).
occurredAtdatetimeTimestamp UTC (ISO 8601) do instante em que o evento ocorreu.
dataobjectDados completos do evento e da entidade associada.

Autenticidade e Assinatura HMAC-SHA256

Toda requisição enviada pelo LaaS inclui o header:

X-Laas-Webhook-Signature: sha256=<hmac-hex>

A assinatura é o HMAC-SHA256 gerado a partir do corpo bruto (raw body) da requisição com o secret compartilhado na ativação do parceiro. Sempre valide a assinatura antes de processar qualquer webhook.


Catálogo de Eventos (18 Eventos)

1. Operações de Crédito

EventoDisparado quando
CREDIT_OPERATION_CREATEDUma nova operação de crédito é criada com sucesso (RECEIVED).
CREDIT_OPERATION_STATUS_CHANGEDO status da operação transiciona via aprovação (APPROVED) ou cancelamento (CANCELLED).
DISBURSEMENT_REQUESTEDO desembolso do crédito é enviado para liquidação no sistema financeiro.
DISBURSEMENT_COMPLETEDO valor é liquidado com sucesso na conta ou chave Pix do tomador (DISBURSED).
DISBURSEMENT_FAILEDA liquidação bancária do desembolso falha ou é rejeitada.

2. Formalização e Assinatura de Contratos

EventoDisparado quando
CONTRACT_GENERATEDA minuta do contrato é gerada com sucesso pela esteira ou anexada via upload externo.
CONTRACT_GENERATION_FAILEDA geração da minuta falhou por erro interno ou indisponibilidade.
CONTRACT_SIGNING_REQUESTEDConvites de assinatura eletrônica enviados aos signatários (CONTRACT_SIGNING_PENDING).
CONTRACT_SIGNEDContrato assinado por todos os signatários ou validado por manifesto de fingerprint.
FINGERPRINT_RECEIVEDManifesto auditável de evidências de assinatura externa validado com sucesso.

3. Servicing & Cobranças (Billing)

EventoDisparado quando
BILLING_CREATEDNova cobrança Pix gerada para a operação via POST .../billings.
BILLING_PAIDCobrança Pix paga e liquidada pela instituição financeira recebedora.
INSTALLMENT_PARTIALLY_PAIDParcela amortizada parcialmente via POST .../payments.
INSTALLMENT_LIQUIDATEDParcela totalmente quitada/liquidada.
PAYMENT_PLAN_LIQUIDATEDPlano de pagamento integralmente liquidado (todas as parcelas pagas).
INSTALLMENT_PAYMENT_FAILEDFalha na tentativa de pagamento ou conciliação assíncrona da parcela via Pix.

4. KYC e Conta Escrow

EventoDisparado quando
KYC_REQUESTEDAnálise de KYC iniciada para a operação de crédito.
ESCROW_ACCOUNT_CREATEDConta escrow provisionada e aberta no sistema bancário.

Boas práticas

  • Responda rápido: retorne 2xx assim que receber e enfileirar o evento — processe de forma assíncrona, sem bloquear a resposta.
  • Idempotência do lado do consumidor: o mesmo evento pode, em cenários raros de retry, ser entregue mais de uma vez — use entityId + eventType + occurredAt para deduplicar.
  • Disponibilidade: mantenha a URL do webhook sempre disponível; entregas com falha podem ser reenviadas, mas indisponibilidade prolongada pode levar à perda de eventos.

Did this page help you?