Segurança e Exemplos


Autenticação

Cada requisição de webhook inclui o header de autenticação configurado na assinatura. Por padrão, o header utilizado é Authorization:

POST https://seu-servidor.com/webhook
Authorization: seu-token-secreto
Content-Type: application/json
circle-info

O nome do header é configurável. Embora o padrão seja Authorization, é possível utilizar qualquer header customizado (ex: X-Webhook-Secret, X-Api-Key). O nome e valor são definidos na assinatura do webhook.

Valide o header em cada requisição recebida e rejeite com 401 caso o token seja inválido.

Recomendações

  • HTTPS obrigatório — configure seus endpoints exclusivamente com HTTPS

  • Valide o header — sempre verifique o token de autenticação antes de processar o payload

  • Timeout curto — responda rapidamente (< 30s). Processe o payload de forma assíncrona se necessário

  • Whitelist de IPs — se possível, restrinja o acesso ao IP de origem do GTPayroll (solicite à equipe de integração)


Exemplos de implementação

Recebendo webhooks (Node.js / Express)

Recebendo webhooks (Python / Flask)

Recebendo webhooks (Java / Spring Boot)


Troubleshooting

Problema
Causa provável
Solução

Webhook não recebido

Assinatura inativa ou URL incorreta

Verifique a configuração no painel administrativo

Erro 401/403

Token de autenticação incorreto

Confirme o header e valor configurados na assinatura

Evento cancelado sem retry

Seu endpoint retornou 4xx

Corrija o endpoint para retornar 2xx e solicite reenvio

Eventos duplicados

Retry após timeout

Implemente idempotência no seu endpoint

Timeout na entrega

Endpoint lento (> 60s)

Processe o payload de forma assíncrona e responda rapidamente

Evento não chega após retry

Limite de 5 tentativas atingido

Solicite reenvio manual à equipe de suporte

circle-info

Em caso de problemas persistentes, entre em contato com a equipe de integração informando o originatorId e o período dos eventos afetados.


Checklist de integração

Atualizado