Resumo: 29 eventos, um envelope só e uma assinatura só. Você escreve um parser e um
switch no campo event. A convenção do nome é <recurso>.<sub-recurso>.<o que aconteceu, no passado>, e nome de evento é contrato público: ele não muda.O envelope
Todo evento sai com a mesma forma:Conferir a assinatura
X-Gyra-Signature, que vem como sha256=<hex>.
Cabeçalhos
Entrega e retentativa
Responda
2xx rápido e processe depois. O endereço é resolvido a cada tentativa, então domínio que passa a apontar para um endereço interno é recusado na hora da entrega.
Para configurar, ver Criar ou atualizar assinatura.
Catálogo
GET /v1/webhook/events devolve este mesmo catálogo, com os grupos, para você montar a sua tela sem fixar a lista no código.
ping não entra em nenhum grupo e não respeita a lista de eventos da assinatura: ele é o botão “testar”.Documento
registry.document.received
Upload confirmado, a análise vai começar. Sai depois do despacho para o pipeline: um received que chegasse antes prometeria um parecer que poderia nunca vir.
registry.document.progress
Passo da análise. Existe para quem consome por API não ver um silêncio de minutos entre o upload e o parecer e sair fazendo polling, que é exatamente o que o webhook evita.
registry.document.assessed
Parecer terminal. É o evento principal do módulo.
reason traz o statusReason quando o documento parou num terminal que não é falha técnica (fora de escopo, não identificado, qualidade insuficiente, parecer de análise manual).
Para os campos extraídos e as verificações, chame o resultado completo.
registry.document.failed
Falha técnica: não há parecer, e o reprocessamento é possível. Mesmo formato do assessed, com status: "FAILED".
registry.document.reprocessed
Reprocessamento disparado. Avisa que o parecer que você já recebeu vai ser substituído; sem ele, você guardaria o veredito antigo e receberia um segundo assessed do mesmo documento sem entender de onde veio.
registry.document.decided
Um operador discordou do parecer e decidiu na mão. É evento separado do parecer da IA de propósito: quem integra costuma tratar os dois de forma diferente (um libera a operação automaticamente, o outro registra que alguém assumiu).
Cadastro
registry.updated
Completude, situação de KYC ou dados básicos mudaram. É o que você usa para decidir se pode seguir com a operação.
registry.financial.extracted
Balanço e DRE extraídos: os números já estão no cadastro. É aqui que a esteira de crédito acorda.
Solicitação, itens, formulário e assinatura
Estes eventos saem da trilha da solicitação, então todos têm o mesmo formato dedata:
Solicitação
A solicitação aberta pelo formulário público emite
collection.created e os demais eventos como qualquer outra, com actorType SYSTEM na criação, porque ninguém da sua equipe a abriu. O formulário não tem eventos próprios, e o desligamento do link pelo teto diário não gera webhook.Itens
Formulário, consentimento, identidade e assinatura
signature.collected e signature.completed respondem perguntas diferentes: uma é “fulano assinou”, a outra é “o contrato existe”. É a segunda que autoriza a via em PDF a nascer.Contratos da esteira e assinatura pela Clicksign
Quando a esteira gera um contrato, ela abre uma solicitação com um único item de assinatura conjunta. Os eventos são os mesmos da tabela acima; o que muda é opayload.
Mensagens
collection.message.failed
A mensagem não chegou. É o único da família que não sai da trilha, e é o mais fácil de esquecer de assinar: sem ele, você acha que avisou o cliente e o cliente nunca soube, e descobre no vencimento.
O que não vira webhook
Ruído interno não vira evento, de propósito: cada gravação de rascunho, cada recálculo de estado, a visualização de imagens da identidade, os eventos de bastidor do destinatário e o próprio registro de entrega de webhook (que se realimentaria). Evento demais tem o mesmo efeito que evento nenhum: o integrador filtra tudo e para de ler. Tudo isso continua na trilha de auditoria, consultável por API.Eventos de relatório e crédito
Os eventos de relatório, política, comitê, exportação e operação continuam existindo e agora aparecem na mesma tela de configuração, sob a categoria Relatórios e crédito, com nome público na mesma convenção:Nada foi migrado: o tipo gravado continua o mesmo, e quem já integra por
POST /webhook com type: "REPORT_FINISHED" não precisa mudar nada. O que muda é o nome público na lista de eventos, para você não ter de aprender duas convenções.O conteúdo desses eventos está em Criar Webhook.
