routa.webhooks gerencia endpoints de webhook e verifica as entregas recebidas. Para os conceitos, veja Visão geral dos webhooks.
Criar um endpoint
Registre uma URL HTTPS e guarde o segredo de assinatura. Ele é retornado uma única vez, na criação (e de novo ao rotacionar).Gerenciar endpoints
Verificar uma entrega com constructEvent
A Routa assina cada entrega no header Routa-Signature. constructEvent verifica a assinatura e retorna um evento tipado. Não faz chamadas de rede.
Passe o corpo bruto exatamente como foi recebido. Fazer parse e serializar de novo muda os bytes, e a assinatura deixa de conferir.
constructEvent aceita o corpo como string ou Uint8Array e rejeita assinaturas ausentes, malformadas, inválidas ou com timestamp fora da tolerância de 5 minutos, lançando RoutaSignatureVerificationError.
Rotação de segredo
Durante a rotação, passe os dois segredos para aceitar qualquer um deles:Tipos de evento
O SDK conhecemessage.accepted, message.sent, message.delivered, message.read, message.failed, message.received, channel.status_changed e template.*. Um tipo introduzido depois da sua versão instalada ainda é interpretado: chega como um evento genérico, com type do tipo string e data como unknown, e é seguro ignorá-lo.
Como o último membro da união
RoutaEvent tem type: string, um switch (event.type) sozinho não estreita os outros campos. Verifique 'id' in event antes para obter o envelope completo.Entregas e reenvio
routa.webhooks.deliveries consulta as entregas de um endpoint e reenvia as esgotadas. Veja Retentativas e reenvio.
Eventos perdidos
Se o seu endpoint ficou fora do ar,routa.events.list() devolve o que você não recebeu. Veja Reconciliar eventos.