Visao geral
A Rewrite envia webhooks como requests HTTPSPOST com body JSON.
As familias publicas de evento hoje sao:
sms.otpmessage.sentmessage.batchmessage.queuedmessage.failedmessage.canceledmessage.deliveredmessage.receivedmessage.scheduled
Registro do webhook
Voce pode criar webhooks no dashboard ou viaPOST /webhooks.
Exemplo:
Formato da entrega
A Rewrite envia hoje:Content-Type: application/jsonUser-Agent: rewrite-webhooks/1.0svix-idsvix-timestampsvix-signature
data.contactedata.contactIdsempre existem. Eles ficamnullquando o envio original nao usou um contato salvo.sandboxno envelope indica o modo do projeto que originou o evento.data.sandboxrepete essa informacao nos payloads de mensagem.- Nas respostas de leitura do recurso de webhook,
retriesetimeoutaparecem no topo. Nos requests de create/update, eles entram dentro dedelivery.
Validacao de assinatura
Valide a assinatura antes de confiar no body. Detalhes importantes:- Use o raw body da request.
- Leia
svix-id,svix-timestampesvix-signaturenos headers. - Verifique contra o segredo retornado por
POST /webhooksouGET /webhooks/{id}.
Boas praticas do handler
- Retorne qualquer
2xxrapidamente. - Processe trabalho pesado de forma assincrona.
- Deduplique por id do evento.
- Persista o payload bruto para debugging e replay.