Verificação de Assinatura em Webhook e Idempotência
Verificação de Assinatura em Webhook e Idempotência
Verifique os webhooks 6MM Agentes com o corpo bruto da solicitação e processe tentativas, timeouts e eventos repetidos sem ações comerciais duplicadas.
Webhooks notificam um backend parceiro sobre mudanças assíncronas no estado do negócio. Como a entrega pode ser tentada novamente, todo receptor deve verificar a assinatura antes de analisar dados confiáveis e deve processar o evento de forma idempotente.
Cabeçalhos Webhook
Use o corpo bruto exato da solicitação recebido sobre HTTP ao reconstruir o valor assinado. Analisar e reserializar JSON primeiro pode alterar a ordem dos espaços em branco ou dos campos e produzir uma assinatura diferente.
Fluxo de verificação
- Leia os cabeçalhos de carimbo de data/hora, nonce e assinatura.
- Capturar o corpo bruto da solicitação não modificado.
- Construa
timestamp + nonce + rawBody. - Calcule HMAC-SHA256 com o parceiro API segredo.
- Compare as assinaturas calculadas e recebidas usando uma comparação em tempo constante.
- Aplique as verificações aprovadas de atualização e reutilização de data.
- Analisar e processar o evento somente após o sucesso da verificação.
Quando um verificador oficial de Agent SDK estiver disponível, use-o em vez de manter um código de assinatura independente.
Idempotência de ordem
Registro recomendado de idempotência
Armazene informações suficientes para reconhecer uma entrega repetida e recuperar com segurança:
Comprometa o registro de mudança de negócio e de idempotência na mesma transação sempre que possível. Um evento repetido deve devolver o resultado já conhecido em vez de aplicar novamente o saldo, ordem ou alteração do usuário.
Regra do tempo limite e da tentativa de retentar
Um tempo de espera HTTP não prova que a solicitação original falhou. Consulte a operação usando o agentOrderNooriginal ou espere pelo webhook antes de decidir se outra ação é necessária. Criar um novo número de ordem de negócio após cada timeout pode causar movimentos duplicados de fundos.
Checklist de produção
- Verificar a assinatura antes de JSON análise ou processamento empresarial.
- Preservar o corpo bruto independentemente da carga útil analisada.
- Rejeitar solicitações obsoletas ou reproduzidas de acordo com a política de integração aprovada.
- Tornar o processamento de eventos seguro para entregas repetidas e fora de ordem.
- Registrar IDs de eventos, números de pedido de parceiros, resultado de processamento e tempo de solicitação.
- Redigir segredos e valores de assinatura de logs e anexos de suporte.