Entregas e retentativas

Saiba o que conta como entrega bem-sucedida, quantas tentativas a PagPolar faz e como reenviar avisos pelo painel.

O que conta como entrega bem-sucedida

A entrega dá certo quando o seu servidor responde com qualquer status 2xx (200, 201, 202, 204...) em até 10 segundos. Passado esse tempo, a tentativa conta como falha, mesmo que o seu servidor termine o processamento depois.

O corpo da resposta não importa. Responda 200 com corpo vazio.

Por isso: grave o evento, responda e processe em seguida. Veja Responda rápido e processe depois.

Novas tentativas

Quando a entrega falha por erro passageiro, a PagPolar tenta de novo: status fora de 2xx (exceto 404 e 410), conexão recusada ou tempo esgotado.

WebhookMáximo de tentativasIntervalo entre tentativas
Webhook da credencial5, até você mudar Máximo de tentativas em Configurações → Webhooks (de 1 a 10)Cerca de 30 segundos
Webhooks adicionaisO valor de Máximo de tentativas, de 1 a 10 (padrão 5)Cerca de 30 segundos

O número de tentativas conta a primeira. Exemplo com 5 tentativas: a primeira falha e chegam mais 4, uma a cada 30 segundos, mais ou menos. Depois da quinta falha, o envio para e o webhook é desativado.

As novas tentativas automáticas vão para a mesma URL e com o mesmo token do primeiro envio. O corpo é montado de novo em cada tentativa, com o estado daquele momento.

Quando o webhook é desativado

Alguns erros mostram que a URL não vai funcionar sem uma correção sua. Nesses casos a PagPolar desativa o webhook na hora, sem novas tentativas, e grava o motivo no webhook:

SituaçãoMotivo gravado
Seu servidor respondeu 404 ou 410URL não encontrada (404) ou (410)
O domínio da URL não existeDomínio não encontrado
A URL é inválidaURL inválida
O certificado SSL é inválido, expirado ou autoassinadoCertificado SSL inválido
Um envio esgotou as tentativasFalha após N tentativas, com o último erro

O motivo começa com Webhook desativado automaticamente. Isso vale também para o webhook da credencial.

Com o webhook desativado, os envios que ainda estavam na fila são descartados e os eventos seguintes não são enviados. O mesmo acontece ao revogar a credencial.

Para voltar a receber, corrija a URL ou o seu servidor e ative o webhook de novo em Configurações → Webhooks. Ao reativar, o motivo é apagado. Os avisos perdidos no período podem ser reenviados pelo painel, como mostra a seção abaixo; o reenvio só entrega com o webhook ativo.

Histórico de envios no painel

Há dois lugares para ver os envios:

TelaComo abrirO que mostra
EnviosConfigurações → Webhooks, aba EnviosOs envios de todos os webhooks da conta.
Logs do WebhookEm Configurações → API, clique no ícone Ver histórico da credencialOs envios do webhook daquela credencial.

Nas duas telas, você pode pesquisar pelo código da venda ou pelo e-mail do cliente e filtrar por data e por evento.

Aba Envios em Configurações → Webhooks, com envios com erro, a data, o webhook, o evento, o cliente e o código da venda de cada um

Ao abrir um envio, a janela Detalhes do Log mostra:

DetalheO que significa
StatusSituação do envio: pendente, enviando, enviado ou com erro.
EventoNome do evento.
URLPara onde o aviso foi enviado.
Status CodeStatus HTTP que o seu servidor respondeu.
TentativaNúmero da tentativa.
SucessoSe a entrega deu certo.
ErroMensagem de erro, quando houver.
DataQuando o envio foi registrado.

Painel Detalhes do Log de um envio com erro: evento Transação Paga, URL, quinta tentativa, sucesso Não e a mensagem de erro de endereço não encontrado

Reenviar um aviso

  1. Abra a tela Envios ou Logs do Webhook.
  2. Encontre o envio.
  3. No menu do envio, clique em Reenviar.

O reenvio monta o corpo com os dados atuais e usa a URL e o token que o webhook tem agora. A contagem de tentativas começa de novo.

Reenvio em massa

Use quando o seu servidor ficou fora do ar e perdeu vários avisos.

  1. Abra a tela Logs do Webhook do webhook.
  2. Clique em Reenvio em massa.
  3. Em A partir de, escolha a data e o horário do primeiro envio que você quer reenviar.
  4. Em Situação dos envios, escolha quais envios reenviar. Em branco, reenvia todos.
  5. Clique em Reenviar.

Janela Reenvio em massa sobre a tela Logs do Webhook, com o aviso de que envios bem-sucedidos também são reenviados, o campo A partir de e o campo Situação dos envios

Reenviar tudo gera repetições

Se você reenviar também os envios que já tinham dado certo, o seu servidor recebe esses eventos de novo. Filtre pela situação com erro ou garanta que o seu servidor descarta repetidos. Veja Processar eventos sem duplicar.

Próximos passos