Skip to main content
Como a entrega por webhook é pelo menos uma vez, e não exatamente uma vez, a Routa oferece um segundo caminho para você conferir o que aconteceu: GET /v1/events. Ele transforma uma indisponibilidade de horas em uma recuperação determinística, sem pedir ajuda ao suporte.
Escopo necessário: events:read.

Quando usar

  • Seu servidor ficou fora do ar por mais tempo que a janela de retentativas (cerca de 20 horas).
  • Você suspeita de lacunas entre os eventos recebidos e o que aconteceu.
  • Você está ligando uma integração nova e quer carregar o histórico.
  • Você quer um job periódico de conferência como rede de segurança.

Como funciona

Guarde o id do último evento que você processou. Peça os eventos seguintes com after. Repita enquanto has_more for true.
Resposta
Os eventos voltam em ordem crescente de sequence. Se o after não existir, a API retorna 404 event_not_found.

Processe de forma idempotente

Eventos obtidos por esta rota são os mesmos que o webhook entrega, com o mesmo id. Se você recebeu um evento por webhook e também o vê na consulta, a deduplicação por id evita processá-lo duas vezes.
1

Grave o id

Antes de aplicar o efeito, registre o id do evento em uma tabela com chave única, na mesma transação do efeito.
2

Ignore repetidos

Se o id já existir, pule o evento.
3

Respeite o status monotônico

Para eventos de mensagem, só avance o status. Nunca o rebaixe.

Retenção

Os eventos ficam disponíveis por 90 dias. Faça a reconciliação dentro desse prazo.