Skip to Content
WebhooksÜbersicht

Webhooks

Mit Webhooks erhältst du Echtzeit-Benachrichtigungen über Ereignisse in deinem Ignite-Workspace. Statt die API ständig abzufragen, schickt Ignite bei Ereignissen Daten an deinen Server.

Was sind Webhooks?

Webhooks sind HTTP-Callbacks, die ausgelöst werden, wenn bestimmte Ereignisse eintreten. Tritt ein Ereignis ein (z. B. wird ein Video erstellt oder aktualisiert), sendet Ignite eine HTTP-POST-Anfrage an deinen konfigurierten Endpoint mit Informationen zum Ereignis.

Anwendungsfälle

  • CMS-Synchronisation — Halte dein externes Content-Management-System mit Videoänderungen synchron
  • Workflow-Automatisierung — Starte automatisierte Abläufe, wenn Videos erstellt, aktualisiert oder gelöscht werden
  • Benachrichtigungen — Informiere dein Team, wenn die Videoverarbeitung fertig ist
  • Analytics — Erfasse den Video-Lebenszyklus in deinem eigenen Analysesystem

So funktioniert es

Webhook-Abonnement anlegen

Richte ein Webhook-Abonnement in der Ignite-Admin-Oberfläche ein. Du brauchst:

  • eine URL auf deinem Server, die HTTP-POST-Anfragen entgegennehmen kann
  • die Ereignistypen, für die du dich anmelden willst

Ereignisse empfangen

Tritt ein abonniertes Ereignis ein, sendet Ignite eine HTTP-POST-Anfrage an deinen Endpoint mit:

  • dem Ereignistyp im Header X-Webhook-Event
  • einer Signatur zur Verifizierung im Header X-Webhook-Signature
  • einer eindeutigen Zustell-ID im Header X-Webhook-Delivery-Id
  • dem vollständigen Video-Objekt als JSON-Body

Verarbeiten und antworten

Dein Endpoint sollte:

  1. die Webhook-Signatur prüfen
  2. die Ereignisdaten verarbeiten
  3. innerhalb von 30 Sekunden einen Statuscode 2xx zurückgeben

Webhooks können in falscher Reihenfolge ankommen oder mehrfach zugestellt werden. Du bist dafür verantwortlich, den Zeitstempel updatedAt und die Video-id zu prüfen, um Reihenfolge und Datenkonsistenz sicherzustellen. Vergleiche den eingehenden Zeitstempel immer mit deinen gespeicherten Daten, bevor du Updates anwendest, und nutze den Header X-Webhook-Delivery-Id, um doppelte Zustellungen zu erkennen und zu überspringen.

Webhook-Abonnement

Ein Webhook-Abonnement legt fest, wohin Ereignisse gesendet werden und welche Ereignisse du abonnierst.

Eigenschaften des Abonnements

EigenschaftTypBeschreibung
idstringEindeutige Kennung des Abonnements
urlstringDie Endpoint-URL, an die Ereignisse gesendet werden (HTTP oder HTTPS)
eventsobjectWelche Ereignistypen aktiv sind
events.videoCreatedbooleanEreignisse bei neu erstellten Videos
events.videoUpdatedbooleanEreignisse bei aktualisierten Videos
events.videoDeletedbooleanEreignisse bei gelöschten Videos
activebooleanOb der Webhook derzeit aktiv ist
signingSecretstringGeheimer Schlüssel für die Signaturprüfung (automatisch erzeugt)
workspacestringDer Workspace, zu dem dieser Webhook gehört

Beispiel-Abonnementobjekt

{ "id": "507f1f77bcf86cd799439011", "url": "https://your-server.com/webhook", "events": { "videoCreated": true, "videoUpdated": true, "videoDeleted": false }, "active": true, "signingSecret": "whsec_abc123...", "workspace": "507f1f77bcf86cd799439000" }

HTTP-Anfrageformat

Wenn ein Ereignis eintritt, sendet Ignite eine POST-Anfrage an deinen Endpoint:

HeaderBeschreibung
Content-Typeapplication/json
X-Webhook-EventDer Ereignistyp (z. B. video.created)
X-Webhook-SignatureHMAC-SHA256-Signatur zur Verifizierung
X-Webhook-Delivery-IdEindeutige Kennung dieser Zustellung (hilfreich für Idempotenz)

Body

Der Anfragebody enthält das vollständige Video-Objekt als JSON. Die vollständige Struktur steht in der Dokumentation zum Video-Objekt.

{ "id": "507f1f77bcf86cd799439011", "title": "My Video", "status": "COMPLETE", "visibility": "public", "duration": 120, "createdAt": "2024-01-15T10:30:00.000Z", "updatedAt": "2024-01-15T10:30:00.000Z", // ... all other video properties }

Nächste Schritte