Boas práticas recomendadas

Código de resposta para a requisição

Você deve responder às requisições do Webhook com uma resposta HTTP 200 OK. Qualquer resposta com código diferente de 2xx será considerada pela aplicação como uma falha.

Tempo de resposta

Responda o mais rápido possível as requisições feitas pelo Webhook. O Webhook tem um timeout configurado de 5 segundos para as suas requisições. Sendo assim qualquer requisição que extrapolar este tempo será considerada como uma falha.

Portanto, se for necessário realizar operações mais complexas, como chamadas a outros serviços, recomendamos o processamento da mensagem recebida em background.

Idempotência dos fluxos

Quando uma falha acontece na entrega de uma mensagem pelo Webhook (aplicação cliente respondeu com um código diferente de 2xx, timeout foi extrapolado, etc.) o serviço realiza até 5 tentativas de entrega da mensagem em um intervalo de tempo de 40 minutos.

Exemplo

  • 11:23 - Primeira Tentativa
  • 11:24 - Segunda Tentativa-> 1 min
  • 11:27 - Terceira Tentativa -> 3 min
  • 11:36 - Quarta Tentativa -> 9 min
  • 12:03 - Quinta Tentativa -> 27 min
  • 12:03 - Tentativas esgotadas, a mensagem é marcada com falha na entrega

Intermitências de rede, por exemplo, podem acabar disparando uma nova tentativa de uma mensagem que tenha sido processada com sucesso pela aplicação cliente. Por isso, sua aplicação deve estar preparada para receber a mesma mensagem mais de uma vez(novas tentativas).