Sabemos que a vida não é perfeita e às vezes as coisas não saem como esperado. Se seu endpoint responder com aqueles temidos códigos de erro 4xx ou 5xx, não se preocupe! Nosso sistema é insistente e vai tentar entregar a notificação novamente, aumentando o intervalo entre as tentativas de forma exponencial (2, 4, 8, 16 segundos... até um máximo de 10 tentativas).

Exemplo 1

Imagine que você configurou seu webhook para ser notificado sempre que um usuário te mandar uma mensagem. Tudo está correndo bem, até que um dia, justo quando um usuário entra, seu servidor está passando por uma manutenção e responde com um erro 503 Service Unavailable. Sem pânico! Nosso sistema não vai simplesmente ignorar esse evento.

Aqui está o que acontece:

  • Tentativa 1: O seu servidor responde com um 503, a gente anota isso e prepara-se para tentar de novo.
  • 2 segundos depois, Tentativa 2: Outro 503. Anotado, e vamos para a próxima.
  • 4 segundos após a última tentativa, Tentativa 3: Ainda um 503? Beleza, respira fundo que ainda não acabou.
  • As tentativas continuam aumentando o intervalo (8 segundos, 16 segundos...) até chegarmos à décima tentativa. Se até lá seu servidor ainda não tiver respondido com sucesso, marcamos a notificação como não entregue e paramos por aí.

Exemplo 2

Desta vez, você está esperando uma confirmação de pagamento via webhook. Sua equipe acabou de atualizar o sistema e, por alguma confusão, o servidor começa a responder com um 400 Bad Request para as notificações de pagamento.

E agora? Relaxa, a Zapster tem um protocolo para isso também:

  • Tentativa 1: Recebemos um 400. Ok, algo não está certo.
  • Esperamos 2 segundos e... Tentativa 2: Outro 400. Opa, vamos observar.
  • Esperamos mais 4 segundos e vem a Tentativa 3: Eita, ainda um 400? Alguma coisa precisa mudar.
  • As tentativas prosseguem, dando a você e sua equipe a chance de perceber e corrigir o erro antes que cheguemos na décima tentativa.

Nesses dois cenários, a ideia é dar a você uma rede de segurança. Se algo der errado, não é um adeus definitivo. Você tem várias chances para corrigir o problema e garantir que nenhum evento importante passe batido. E lembre-se, os logs de erro estarão aí para ajudar você a entender o que aconteceu e evitar que se repita no futuro.