Pular para o conteúdo principal
Cada entrega leva um HMAC-SHA256 que comprova a origem e a integridade do evento. A assinatura é parte do contrato de entrega e está sempre ativa.

O secret

Todo número recebe um secret no momento em que é criado, no formato whsec_.... Ele fica disponível no painel da Datafy, na aba Webhooks do número, e deve ser guardado no seu servidor como variável de ambiente. O mesmo secret vale para todas as URLs daquele número.

Como a assinatura é calculada

A assinatura é o HMAC-SHA256 de {timestamp}.{corpo}, usando o secret como chave:
  • timestamp: valor do header x-datafy-timestamp.
  • corpo: o corpo da requisição exatamente como chegou.
O resultado é enviado em x-datafy-signature-256, no formato sha256=<hex>.
Use o corpo cru da requisição, antes de qualquer JSON.parse. Se você converter e reserializar o JSON, os bytes mudam e a assinatura não confere. Esse é o erro mais comum na verificação.

Exemplos

Os exemplos validam a assinatura e recusam entregas com mais de 5 minutos, o que protege contra o reenvio de uma requisição capturada.

Trocar o secret

O painel permite gerar um novo secret para o número. A chave anterior deixa de valer imediatamente: a próxima entrega já sai assinada com o novo valor. Atualize o secret no seu servidor junto com a troca, ou as entregas passarão a ser recusadas na verificação.