Envie relatórios para onde quiser
com um webhook assinado

Aponte o BugCapturer para qualquer endpoint seu e cada relatório chega como payload JSON assinado e versionado — ideal para serviços próprios, filas e ferramentas internas.

Um esquema estável e versionado

A estrutura abaixo é garantida na versão 1. Campos novos são adicionados, nunca renomeados em silêncio.

CampoTipoDescrição
eventstringNome do evento — share.created para um relatório, test para o botão de teste
schema_versionnumberVersão do esquema, atualmente 1 — confira antes de fazer o parse
share.report_urlstringLink público para o relatório completo
report.console_errorsarrayMensagens de erro do console com a origem, até 30 entradas
report.network_errorsarrayRequisições falhas com método, URL e status, até 30 entradas
report.*_errors_countnumberContagem de erros — mesmo tamanho dos dois arrays acima
reporterobjectA identidade enviada pelo seu site (name / email / uid); strings vazias quando anônimo

Verifique antes de confiar

Cada requisição é assinada com um segredo que você controla, para o seu endpoint poder recusar qualquer coisa forjada.

Cabeçalho de assinaturax-bugcapturer-signature
AlgoritmoHMAC-SHA256 sobre o corpo bruto da requisição
SegredoExibido uma única vez ao criar a integração
ComparaçãoUse uma comparação de tempo constante
verify.js
const crypto = require('crypto');

const expected = crypto
  .createHmac('sha256', process.env.BC_WEBHOOK_SECRET)
  .update(rawBody)
  .digest('hex');

const received = req.headers['x-bugcapturer-signature'];
crypto.timingSafeEqual(
  Buffer.from(expected),
  Buffer.from(received)
);

Retentativas e log de entregas

Webhooks falham por motivos banais — um deploy, um reinício, uma rede ruim. O BugCapturer conta com isso.

🔁

Retentativas automáticas

Entregas com falha são repetidas com backoff antes de serem marcadas como falhas.

⏸️

Pausa automática

Um endpoint que falha continuamente é pausado automaticamente e você recebe um e-mail.

🧾

Log de entregas

Cada tentativa e a sua resposta ficam registradas, para você depurar sem adivinhar.

🧯

Reenvio manual

Reenvie à mão uma entrega com falha quando o seu endpoint voltar a funcionar.