Pular para o conteúdo

Entender a repetição e as falhas dos webhooks

Nem todo envio chega de primeira: o seu sistema pode estar fora do ar, lento ou recusando. Esta página descreve o que a iPORTO faz em cada caso — e o que acontece quando as tentativas acabam.

Só resposta 2xx. Qualquer outra, ou nenhuma resposta dentro de 15 segundos, é falha.

Resposta do seu endereço O que fazemos
2xx entrega concluída
408, 429, 5xx, timeout, falha de DNS ou de TLS nova tentativa
3xx (redirecionamento) falha definitiva — não seguimos redirecionamento; configure o endereço final
demais 4xx falha definitiva: é recusa do seu lado, e repetir não muda o resultado

São 6 tentativas, com esperas de 1, 5 e 30 minutos, 2 horas e 8 horas — uma janela de aproximadamente 10 horas e 36 minutos entre a primeira tentativa e a última.

O número da tentativa vem no cabeçalho X-iPORTO-Attempt, começando em 1. Esgotadas as tentativas, a entrega é marcada como abandonada.

Dez entregas abandonadas consecutivas desativam o endereço, e você recebe um e-mail avisando.

Desativado, ele para de receber tudo — e os eventos ocorridos nesse período não são reenviados depois. A reativação é na tela do endpoint, no botão Reativar endpoint.

Uma entrega bem-sucedida zera o contador: dez falhas seguidas são necessárias.

No painel de e-mail (SMTP), em Webhook → Histórico de Disparos, você vê cada envio. Clicando em um disparo, o detalhe traz:

  • os cabeçalhos que foram enviados;
  • o corpo enviado;
  • o código de resposta e o corpo que o seu sistema devolveu;
  • o número de tentativas e o motivo da falha, quando houve.

O histórico é mantido por 7 dias.

O detalhe do disparo tem o botão Reenviar, que cria um envio novo — o registro do envio anterior é preservado. O reenvio vai para o endereço configurado hoje, não para o endereço que estava configurado quando o evento aconteceu.

É o caminho para confirmar uma correção no seu endpoint sem depender de uma mensagem nova.

Sintoma Causa provável O que fazer
O histórico mostra abandonada em todos os disparos O endereço não responde 2xx — fora do ar, erro no seu código, ou autorização recusando Abra o detalhe do disparo e leia o corpo da resposta do seu sistema; é ele que diz o motivo
O histórico mostra falha com motivo de timeout O processamento do seu lado passa de 15 segundos Responda 2xx antes de processar
Os eventos pararam e chegou e-mail de aviso Dez abandonos consecutivos desativaram o endereço Corrija a causa e clique em Reativar endpoint; os eventos do período não são reenviados
Disparos com 4xx e sem nova tentativa Recusa definitiva do seu lado — rota inexistente, autorização inválida, corpo recusado Confira a rota e o token configurado em Método de Autorização
Disparos com 413 (corpo grande demais) O seu servidor limita o tamanho do corpo, e o evento cresceu: todo corpo traz param.details Aumente o limite do seu servidor; ver O bloco param.details
O mesmo evento aparece em dois disparos Você cadastrou mais de um endereço para o canal É esperado: o X-iPORTO-Event-Id é o mesmo nos dois, e o X-iPORTO-Delivery é diferente
Um disparo antigo não oferece Reenviar Disparos anteriores à versão atual do histórico não têm o registro necessário para repetir o envio O detalhe explica o motivo na própria tela