POST na URL cadastrada no seu projeto, com o resultado completo. É o caminho oposto dos outros endpoints desta seção: aqui o seu serviço é quem recebe a chamada.
O disparo acontece uma única vez por documento, assim que ele chega em COMPLETED. Sem URL cadastrada, nada é enviado e o resultado fica disponível apenas por consulta em Consultar Documento.
Habilitando
Grave os parâmetros abaixo com Criar ou Atualizar Parâmetro:PARAMETER_WEBHOOK_HEADER_KEY e PARAMETER_WEBHOOK_HEADER_VALUE só são
enviados quando os dois estão preenchidos. Se apenas um estiver definido,
nenhum header extra é adicionado à chamada.Headers da chamada
string
Sempre
application/json.string
Assinatura HMAC-SHA256 do corpo. Presente apenas quando
PARAMETER_WEBHOOK_HMAC_SECRET está cadastrado.Exemplo: t=1758499200,v1=43f80a7f384c4ce59a0357688a554eef55496d52c3f7fd8e63849c82a531063cCorpo
string
Versão do contrato do evento.Exemplo:
1.0.0string
Ambiente que originou o evento.Exemplo:
productionstring
Identificador desta entrega. Muda a cada envio, inclusive para o mesmo documento.Exemplo:
9f1c2e4a-3b7d-4c6e-8a1f-2d5b7c9e0a3fstring
Origem do evento:
docs-gateway.document.finished para análise de autenticidade documental, docs-gateway.ocr.finished para extração de dados.Exemplo: docs-gateway.document.finishedstring
Origem da ação que gerou o evento.Exemplo:
system.actiondatetime
Data e hora em que a análise foi concluída.Exemplo:
2026-06-01T12:05:00.000Zobject
O documento com o resultado, no mesmo formato da resposta de Consultar Documento — incluindo o detalhamento por regra em
result.raw_response.penalidades.string
O valor que você enviou no header
x-client-id no momento do envio, ou null se não enviou. Use-o para correlacionar o resultado com o registro do seu lado.Exemplo: seu-identificadorDados de biometria facial presentes na consulta não são enviados no webhook.
Se você depende deles, use Consultar Documento.
Validando a assinatura
ComPARAMETER_WEBHOOK_HMAC_SECRET cadastrado, cada chamada leva o header x-valid-signature:
Validar a assinatura confirma que a chamada partiu de quem conhece o segredo e que o corpo não foi alterado no caminho. O segredo nunca trafega na requisição.
1
Extraia t e v1 do header
O header pode trazer mais de um
v1. Basta um deles conferir.2
Rejeite entregas antigas
Descarte quando a diferença entre o horário atual e
t passar da sua tolerância. Recomendamos 300 segundos.3
Recalcule o HMAC
Use o corpo cru da requisição, antes de qualquer conversão para objeto.
4
Compare em tempo constante
Use uma comparação segura, como
timingSafeEqual, em vez de igualdade simples.