Kapitel: Webhooks

Schnittstellen

Webhooks

Manche Anbieter melden Ereignisse sofort, statt auf den nächsten Abgleich zu warten. Dafür trägst du bei ihnen eine Webhook-Adresse von VentionDesk ein. Jede Adresse gehört zu genau einer Anbindung deines Betriebs.

Wo du die Adresse findest

Betrieb › Quellen, bei der Anbindung „Webhook-Adresse zeigen" (nur der Inhaber). Dieselbe Adresse liefert die API unter GET /v1/integrations/:id/webhook. Sie bleibt gleich, auch wenn du die Anbindung neu verbindest.

AnbieterAdressePrüfung
Stripehttps://api.ventiondesk.com/webhooks/stripe/<Betrieb>Signatur im Kopf Stripe-Signature
Sentryhttps://api.ventiondesk.com/webhooks/errors/sentry/<Anbindung>Signatur im Kopf Sentry-Hook-Signature
Bugsnaghttps://api.ventiondesk.com/webhooks/errors/bugsnag/<Anbindung>/<Geheimnis>Geheimnis in der Adresse
Rollbarhttps://api.ventiondesk.com/webhooks/errors/rollbar/<Anbindung>/<Geheimnis>Geheimnis in der Adresse

Die Platzhalter in spitzen Klammern setzt VentionDesk ein — kopiere die Adresse immer aus „Webhook-Adresse zeigen" und setze sie nicht selbst zusammen.

Stripe

Anlegen unter Stripe › Developers › Webhooks › „Add endpoint" mit genau diesen Ereignissen:

  • checkout.session.completed
  • checkout.session.async_payment_succeeded
  • checkout.session.async_payment_failed
  • charge.refunded

Danach das Signing secret (whsec_…) des Endpunkts kopieren und die Stripe-Anbindung in VentionDesk damit erneut speichern. Erst dann steht der Bezahllink in Rechnungsmail und Beleg — ohne Webhook käme eine Zahlung an, ohne dass VentionDesk sie bucht.

VentionDesk prüft die Signatur (HMAC-SHA256 über Zeitstempel und Rumpf) mit diesem Secret und nimmt nur Meldungen an, deren Zeitstempel höchstens fünf Minuten abweicht. Ereignisse aus dem anderen Modus als dein Schlüssel (Test statt Live oder umgekehrt) werden angenommen und übergangen. Gebucht werden Zahlungen aus Bezahllinks von VentionDesk und Erstattungen. Die vollständige Anleitung: Stripe verbinden.

Sentry

In der Internal Integration unter „Webhooks" das Häkchen bei „issue" setzen und die Adresse als „Webhook URL" eintragen. Das Client Secret der Integration trägst du in VentionDesk ein; damit prüft VentionDesk die Signatur Sentry-Hook-Signature (HMAC-SHA256 über den Rumpf). Neue und wieder geöffnete Fehler erscheinen damit sofort. Anleitung: Sentry verbinden.

Bugsnag

Im Projekt unter Project settings › „Integrations and email" › „Webhook" eintragen und „New errors", „Frequently occurring errors" und „Reopened errors" wählen. Bugsnag signiert nicht; das Geheimnis steckt deshalb in der Adresse und wird verglichen. Anleitung: Bugsnag verbinden.

Rollbar

Im Projekt unter Settings › Notifications › „Webhook" eintragen und „New Item", „Reactivated Item", „Resolved Item" und „10^nth Occurrence" aktivieren. Wie bei Bugsnag steckt das Geheimnis in der Adresse. Anleitung: Rollbar verbinden.

Von den Fehler-Trackern übernimmt VentionDesk nur Metadaten — Kennung, gekürzter Titel, Stufe, Status, Zähler, erstes und letztes Auftreten und den Link. Stacktraces, Ereignisrümpfe, Nutzerdaten und IP-Adressen bleiben beim Anbieter, auch wenn sie im Webhook mitkommen.

GitHub

Für GitHub trägst du nichts ein: Die VentionDesk-App liefert Push, Pull Requests, Prüfläufe und Deployment-Status automatisch, sobald sie installiert ist. Siehe GitHub verbinden.

Wie VentionDesk antwortet

  • Jede Lieferung zählt einmal. Eine wiederholte Lieferung mit derselben Kennung wird erkannt und nicht doppelt verarbeitet.
  • Falsche Signatur oder falsches Geheimnis: Die Lieferung wird abgewiesen.
  • Kann VentionDesk eine Lieferung nicht speichern, antwortet es mit einem Fehler statt mit 200 — der Anbieter liefert dann erneut, und nichts geht still verloren.
  • Je IP-Adresse nimmt jeder Webhook-Weg bis zu 600 Lieferungen pro Minute an.