Richten Sie BugCapturer auf einen beliebigen eigenen Endpunkt — jeder Bericht kommt als signiertes, versioniertes JSON-Payload an, ideal für eigene Dienste, Queues und interne Tools.
Die folgende Struktur ist für Version 1 garantiert. Neue Felder kommen hinzu, bestehende werden nie stillschweigend umbenannt.
| Feld | Typ | Beschreibung |
|---|---|---|
| event | string | Ereignisname — share.created für einen Bericht, test für die Test-Schaltfläche |
| schema_version | number | Schema-Version, aktuell 1 — prüfen Sie sie vor dem Parsen |
| share.report_url | string | Öffentlicher Link zum vollständigen Bericht |
| report.console_errors | array | Konsolen-Fehlermeldungen mit Quellangabe, bis zu 30 Einträge |
| report.network_errors | array | Fehlgeschlagene Anfragen mit Methode, URL und Status, bis zu 30 Einträge |
| report.*_errors_count | number | Fehleranzahl — gleich lang wie die beiden Arrays oben |
| reporter | object | Die von Ihrer Seite übergebene Identität (name / email / uid); leere Strings bei anonymen Berichten |
Jede Anfrage wird mit einem Geheimnis signiert, das Sie kontrollieren — Ihr Endpunkt kann Gefälschtes zurückweisen.
| Signatur-Header | x-bugcapturer-signature |
|---|---|
| Algorithmus | HMAC-SHA256 über den unveränderten Request-Body |
| Geheimnis | Wird einmal beim Anlegen der Integration angezeigt |
| Vergleich | Verwenden Sie einen Vergleich mit konstanter Laufzeit |
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)
);
Webhooks scheitern aus langweiligen Gründen — ein Deploy, ein Neustart, ein schlechtes Netz. BugCapturer rechnet damit.
Fehlgeschlagene Zustellungen werden mit Backoff wiederholt, bevor sie als fehlgeschlagen vermerkt werden.
Ein Endpunkt, der dauerhaft scheitert, wird automatisch pausiert und Sie werden per E-Mail informiert.
Jeder Versuch samt Antwort wird festgehalten, damit Sie ohne Raten debuggen können.
Senden Sie eine fehlgeschlagene Zustellung von Hand erneut, sobald Ihr Endpunkt wieder läuft.