Pular para o conteúdo

PopSQL: suporte limitado.

Migrar agora →

Generic webhook

Como ligar o Generic webhook: o que criar no provedor, o que colar aqui, o que vai em Target e como testar antes de depender.

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

CampoObrigatórioO que é
URLSimPrecisa 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ãoQuando preenchido, o header X-DataRunner-Signature leva sha256=<hex> do corpo cru.
Headers extras em JSONNãoObjeto 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.