mirror of
https://github.com/melgarafael/DeskcommCRM.git
synced 2026-10-02 09:34:46 +08:00
O #1830 trocou o sentido do occurred_at do corpo do webhook de saída: de hora do envio (new Date().toISOString(), montado a cada execução) para hora do fato (event_log.created_at). É campo de contrato público, e o próprio fragmento admitia que receptor que recusa requisição velha por ele passaria a recusar entregas legítimas (Reenviar, automação adiada) — quebra silenciosa numa minor. - occurred_at volta a ser exatamente o de antes do #1830; - campo NOVO happened_at, com a hora do fato (horaDoFato(created_at)); - delivery_id, X-Webhook-*, X-Deskcomm-Signature e o t da assinatura não mudam (o t já era Date.now() por tentativa, nunca o occurred_at); - vetor de referência recalculado em Python (hmac da stdlib) com o corpo novo; - guia, fragmento e testes atualizados; o caso do envio adiado e o do Reenviar pelo motor+rota provam occurred_at ≈ agora e happened_at = event.created_at. Sabotado (occurred_at = hora do fato): 2 vermelhos. Ajuste sobre o #1830 de @in100tiva. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>