SC-OrgaBase
FeatureAngemeldete Nutzer

API – Webhooks

Event-Benachrichtigungen per signiertem HTTP-POST (Scope write:webhooks).

Zuletzt aktualisiert: 14. Juni 2026

Webhooks benachrichtigen externe Systeme bei Ereignissen. Verwaltung im Developer Portal (/profile/developer) oder per API mit einem Key mit Scope write:webhooks.

Endpunkte

  • GET /api/v1/webhooks – eigene Webhooks
  • POST /api/v1/webhooks { url, events? } – anlegen (Secret wird einmalig zurückgegeben)
  • DELETE /api/v1/webhooks/{id} – löschen
  • POST /api/v1/webhooks/{id}/test – signiertes Test-Event senden

Signatur prüfen

Jede Zustellung ist ein POST mit JSON-Body { id, event, createdAt, data }. Header: X-SC-OrgaBase-Event, X-SC-OrgaBase-Delivery (UUID) und X-SC-OrgaBase-Signature = sha256=HMAC-SHA256(body, secret). Vergleiche die Signatur serverseitig mit deinem Webhook-Secret.

Zustellung & Retry

  • Erfolg = HTTP 2xx. Fehlversuche werden mit exponentiellem Backoff erneut versucht (bis zu 6 Versuche).
  • Nach dauerhaften Fehlern wird der Endpunkt automatisch deaktiviert.
  • Zustellstatus ist im Modell ApiWebhookDelivery protokolliert.
Das Webhook-Secret wird nur einmal beim Anlegen angezeigt. Sende keine privaten Daten an Endpunkte ohne Berechtigung.

Aktuell ausgelöste Events

  • org.created, alliance.created (öffentliche Daten)
  • blueprint.sync.completed, discord.sync.completed (System/Zähler)
  • system.maintenance.enabled, system.maintenance.disabled
  • application.created, event.created (nur an Webhooks von Apps, die an die jeweilige Organisation gebunden sind)
  • resource.request.created, resource.offer.created (nur an Apps, die an die jeweilige Allianz gebunden sind)
Org-/Allianz-interne Events werden NICHT global verteilt, sondern nur an Endpunkte von Apps, die explizit an die betreffende Organisation/Allianz gebunden sind (App-Bindung über organizationId/allianceId).
War dieser Artikel hilfreich?