Envoyez vos rapports partout
avec un webhook signé

Pointez BugCapturer vers n’importe quel endpoint que vous maîtrisez : chaque rapport arrive en payload JSON signé et versionné — idéal pour vos services, files d’attente et outils internes.

Un schéma stable et versionné

La structure ci-dessous est garantie en version 1. Des champs s’ajoutent, aucun n’est renommé en silence.

ChampTypeDescription
eventstringNom d’événement — share.created pour un rapport, test pour le bouton de test
schema_versionnumberVersion du schéma, actuellement 1 — vérifiez-la avant de parser
share.report_urlstringLien public vers le rapport complet
report.console_errorsarrayMessages d’erreur console avec leur source, jusqu’à 30 entrées
report.network_errorsarrayRequêtes échouées avec méthode, URL et statut, jusqu’à 30 entrées
report.*_errors_countnumberNombre d’erreurs — même longueur que les deux tableaux ci-dessus
reporterobjectL’identité transmise par votre site (name / email / uid) ; chaînes vides en cas d’anonymat

Vérifiez avant de faire confiance

Chaque requête est signée avec un secret que vous contrôlez, pour que votre endpoint puisse rejeter tout ce qui est falsifié.

En-tête de signaturex-bugcapturer-signature
AlgorithmeHMAC-SHA256 sur le corps brut de la requête
SecretAffiché une seule fois à la création de l’intégration
ComparaisonUtilisez une comparaison à temps constant
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)
);

Reprises et journal de livraison

Les webhooks échouent pour des raisons banales — un déploiement, un redémarrage, un réseau capricieux. BugCapturer en tient compte.

🔁

Reprises automatiques

Les livraisons échouées sont retentées avec un backoff avant d’être marquées comme échouées.

⏸️

Mise en pause auto

Un endpoint qui échoue en continu est mis en pause automatiquement, et vous recevez un e-mail.

🧾

Journal de livraison

Chaque tentative et sa réponse sont enregistrées, pour déboguer sans deviner.

🧯

Rejeu manuel

Renvoyez à la main une livraison échouée dès que votre endpoint est rétabli.