POST chega assinado. Confira a assinatura antes de confiar no corpo: sem isso, quem descobrir
a URL do seu endpoint consegue enviar um desfecho forjado.
Header
O HMAC é calculado com o segredo do endpoint sobre o timestamp, um ponto, e o corpo cru:
Como conferir
- Extraia
tev1do header. - Recuse se
testiver a mais de cinco minutos do relógio do seu servidor. - Recalcule o HMAC sobre
${t}.${corpo cru}com o segredo do endpoint. - Compare em tempo constante.
Pegar o corpo cru
express.raw() na própria rota. Um express.json() global antes dela consome
o corpo.
Retentativa e idempotência
Se o seu servidor não responder2xx, a entrega é tentada de novo em intervalos crescentes.
Depois disso a entrega é marcada como falha. O reenvio manual fica disponível na aba Webhooks da
integração e de cada verificação.
Uma entrega pode chegar duas vezes. Descarte a repetição pelo header
X-Legitimuz-Delivery:
occurred_at do corpo.
Outros headers
Rotacionar o segredo
Durante a rotação, aceite as duas assinaturas por uma janela curta e remova a antiga depois que as entregas em voo chegarem.Próximo passo
Receptor completo
Uma POC com conferência, deduplicação e fila.