1. Dispare um evento de teste

Enviamos um webhook.test real, assinado como qualquer outro evento, e respondemos com o resultado da entrega:
Se status vier failed, o campo error diz o motivo: timeout, tls_error, invalid_destination (o domínio não resolve ou aponta para um endereço privado), redirect_not_followed, connection_refused, invalid_url, network_error ou http_<código>. O webhook.test não tem retentativa automática. Sem webhook cadastrado: 404 not_found. Não precisa de Idempotency-Key.

2. Liste os eventos

Cada evento traz id, type, created_at, delivery_status, attempts (tentativas feitas) e data. Os eventos ficam disponíveis por 30 dias.

3. Veja cada tentativa de entrega

4. Reenvie

Resposta 202: o evento voltou para a fila e sai na próxima rodada de entregas (cerca de 10 s).
  • Reenvia o mesmo evento: mesmo id, mesmo data, nova assinatura com o horário atual, oripay-delivery-attempt incrementado.
  • Funciona para qualquer evento dos últimos 30 dias. Se a nova entrega falhar, o evento segue a agenda de reenvio automático a partir das tentativas que já fez; um evento que já esgotou as 7 tentativas volta direto a failed.
  • Não precisa de Idempotency-Key.
  • Só reenvia eventos delivered ou failed. Um evento ainda pending já está na fila e responde 409 event_pending.
  • Limite: 10 por minuto por conta, somando reenvios e eventos de teste. Passou disso: 429 rate_limited.
  • Reenviar só reentrega a notificação. O dinheiro não se move de novo.
Ficou fora do ar? Liste delivery_status=failed do período e reenvie cada um, ou faça GET dos recursos direto.