Onde configurar
No Console, abra Webhooks no workspace. Webhooks exigem um admin de Workspace.
HMAC
Quando HMAC está habilitado, a Acrity assina o payload enviado ao destino com um segredo compartilhado. O destino deve recalcular a assinatura usando o mesmo segredo e rejeitar mensagens que não coincidirem. Boas práticas:- Use um segredo longo, aleatório e exclusivo por webhook.
- Armazene o segredo no cofre do sistema receptor.
- Valide a assinatura antes de processar o evento.
- Rejeite requisições sem HTTPS em produção.
- Rotacione o segredo quando houver suspeita de exposição.
Verificar a assinatura
Quando HMAC está habilitado, a Acrity assina cada entrega de saída e envia a assinatura em um header. Recalcule a assinatura do seu lado e compare-a com o header antes de processar o payload. Toda entrega inclui estes headers:
O valor da assinatura é
sha256= seguido do digest hexadecimal em minúsculas de um HMAC-SHA256 calculado sobre o corpo bruto (raw) da requisição usando o segredo do webhook.
Para verificar uma entrega:
- Leia o corpo bruto (raw) da requisição exatamente como recebido. Não o re-serialize nem o reformate.
- Calcule o HMAC-SHA256 sobre o corpo bruto usando o segredo do webhook.
- Formate o resultado como
sha256=seguido do digest hexadecimal em minúsculas. - Compare seu valor com
X-ACR-Signature-256usando uma comparação de tempo constante. - Rejeite a requisição se os valores não coincidirem.
Proteção contra replay
A Acrity não adiciona proteção contra replay baseada em timestamp às entregas de saída, e a assinatura por si só não impede que uma requisição capturada seja reenviada. Faça a deduplicação pelo IDX-ACR-Delivery: registre os IDs que você já processou e ignore repetições.
Verificação de entrada
Para webhooks de entrada de VCS, a Acrity verifica a assinatura do webhook do provedor antes de processar o evento, de modo que entregas que falham na validação de assinatura são rejeitadas. Isso acontece automaticamente e não requer configuração.Headers secretos
Headers marcados como secretos são tratados como segredos no Console. Ao editar, deixe o valor em branco para manter o segredo salvo ou informe um novo valor para substituí-lo.Testes e entregas
Use o teste de webhook para validar:- Conectividade com a URL.
- Formato do payload.
- Headers obrigatórios.
- Validação HMAC no receptor.
- Códigos de resposta do destino.
Rotação
Para rotacionar um segredo HMAC:1
Criar novo segredo no receptor
Configure o novo segredo no sistema que recebe o webhook.
2
Atualizar o webhook na Acrity
Edite o webhook e substitua o segredo HMAC.
3
Enviar teste
Confirme que o receptor valida a nova assinatura.
4
Ativar fluxo normal
Acompanhe as primeiras entregas reais após a rotação.