Webhooks
Eventos assinados com HMAC-SHA256.
Cadastre uma URL HTTPS pública. Endereços internos são bloqueados no cadastro e novamente a cada entrega.
Eventos
verification.started
verification.step_changed
verification.completed
verification.failed
verification.cancelled
verification.expired
workflow.completed
workflow.failed
workflow.waiting_review
case.decided
monitoring.alertFormato
POST /sua-rota
omni-ward-signature: t=1762300000,v1=5f8a…
{
"id": "uuid-da-entrega",
"type": "verification.completed",
"environment": "SANDBOX",
"createdAt": "2026-11-04T12:00:00.000Z",
"data": { "sessionId": "…", "outcome": "approved" }
}Payloads trazem identificadores e situação, nunca dados pessoais. Busque os detalhes pela API.
Verifique a assinatura
import { verifyWebhookSignature } from '@omni-ward/sdk-node';
// rawBody: o corpo exatamente como chegou, antes de qualquer parsing.
const ok = verifyWebhookSignature({
secret: process.env.OMNI_WARD_WEBHOOK_SECRET!,
rawBody,
signature: req.headers['omni-ward-signature'],
});
if (!ok) return res.status(400).end();Entrega
- Responda 2xx em até 10 segundos.
- Falhas são repetidas até 8 vezes, com intervalos crescentes.
- A entrega é "ao menos uma vez": use o campo id para descartar duplicatas.
