O que é
POST JSON genérico. O corpo leva os metadados do relatório, o HTML renderizado e o anexo em base64.
Configurar
Cerca de 5 minutos até um canal funcionando.
- 01Tenha um endpoint que aceite POST. Precisa aceitar application/json e responder 2xx. Qualquer outra coisa é registrada como falha de entrega, com o código e o corpo da resposta. Para testar sem escrever código, o webhook.site dá uma URL que mostra cada requisição ao vivo.
- 02Cole a URL e clique em Testar. O Testar posta um corpo mínimo de sondagem, não o formato real. O payload de entrega é o envelope maior descrito na referência abaixo.
- 03Opcional: assine o payload. Com um HMAC secret preenchido, toda requisição leva X-DataRunner-Signature: sha256=<hex> — o HMAC-SHA256 do corpo cru. Recalcule do seu lado antes de confiar no payload.
- 04Opcional: headers extras. Um objeto JSON plano, ex.: um header Authorization. JSON inválido é descartado em silêncio em vez de travar o salvamento — se um header nunca chega, confira este campo primeiro.
- 05Ligue a um relatório. Relatório → Destinos → Canal. Trate a entrega como at-least-once e deduplique pelo id da execução mais a rota.
Campos
| Campo | Obrigatório | O que é |
|---|---|---|
| URL | Sim | Precisa ser pública e acessível por HTTPS. Endereços privados são recusados pela proteção contra SSRF. (https://api.example.com/hooks/datarunner) |
| HMAC secret (opcional) | Não | Quando preenchido, o header X-DataRunner-Signature leva sha256=<hex> do corpo cru. |
| Headers extras em JSON | Não | Objeto JSON plano. JSON inválido é descartado sem travar o salvamento. ({"X-Tenant":"acme"}) |
O que vai em Target
Opcional. O que você digitar é concatenado como caminho à URL configurada — deixe vazio para postar na própria URL.
Target é opcional neste canal. — caminho extra (opcional)
Testar
Cada canal tem o botão Testar na lista de canais (Configurações → Canais). O resultado fica guardado — data, status e o erro do provedor quando houve — e um canal nunca testado aparece marcado na lista.
Testar faz um POST com o corpo {"event":"datarunner.test"} e os cabeçalhos configurados. Seu endpoint precisa responder 2xx; o que ele fizer com esse evento é com você — o normal é ignorar.
Conferir de ponta a ponta
- 01Relatório: abra um relatório, adicione este canal em Destinos (com o Target, se o canal pede), clique em Executar agora e abra a execução. O log diz por qual canal cada destinatário foi e o que o provedor respondeu.
- 02Alerta: em Monitoramento → Rotas de alerta, crie uma rota com este canal como passo de escalação. A rota casa por severidade e origem; a primeira que casar vence.
- 03Para disparar um alerta sem derrubar nada: crie um monitor HTTP apontando para uma URL que responde erro (por exemplo https://httpstat.us/500) com intervalo curto. Quando ele cair, o alerta sai pela rota; apague o monitor depois. A mensagem traz um link de reconhecimento — clique nele e a escalação para.
- 04Regras de relatório (linhas novas, valor fora da faixa) chegam pela mesma rota, com origem "regra de relatório".
O que mais costuma dar errado
Endereços privados (localhost, 10.x, 192.168.x, *.internal) são bloqueados por proteção contra SSRF. Para alcançar um serviço na sua máquina, exponha por um túnel público antes.