Webhooks
Webhooks funktionieren wie Benachrichtigungen und informieren eine Anwendung, wenn in einer anderen ein bestimmtes Ereignis eintritt. Dieses System ermöglicht eine nahtlose Kommunikation zwischen verschiedenen Anwendungen und verbessert Interaktion und Reaktion in Echtzeit.
Webhooks in WebinarGeek
Webhooks in WebinarGeek liefern Informationen in Echtzeit. Dabei fungieren sie als personalisierte Benachrichtigungen, die abhängig von Ereignissen in unserer App bestimmte Aktionen auslösen. Beim Veranstalten eines Webinars sendet die Webhook-Funktion, sobald sich jemand anmeldet, ein übersichtlich zusammengestelltes Paket mit den Daten der angemeldeten Person direkt an die eingerichtete URL. So bleibt alles aktuell und es kann dynamisch auf Interaktionen reagiert werden, ohne ständig manuell nach Updates suchen zu müssen. Webhooks optimieren Arbeitsabläufe und halten mit den wichtigen Vorgängen in der App verbunden.
Eine Webhook-Integration erstellen
Benutzerdefinierte Bezeichnung
Add a Benutzerdefinierte Bezeichnung to a webhook to help differentiate between your webhooks in the integrations menu. This field is required.
URL
URLs für Webhooks müssen ein Schema, einen Host und einen Pfad enthalten. Es werden nur HTTPS-URLs akzeptiert. Dieses Feld ist erforderlich.
Gültige URL:
https://hooks.zapier.com/hooks
Ungültige URLs:
hooks.zapier.com/ (missing scheme)
https://.com/ (missing host)
https://hooks.zapier.com/ (missing path)
http://hooks.zapier.com/hooks (http instead of https)
Secret
Die Konfiguration des Webhooks mit einem Secret, das zur Prüfung der Herkunft einer Anfrage verwendet werden kann, ist optional. Warum die Verwendung eines Secrets empfohlen wird, erklärt der Abschnitt Webhook-Zustellungen validieren. Dieses Feld ist optional.
Header
Content-Type: "application/json"
User-Agent: "WebinarGeek”
ID: Eindeutige ID des Ereignisses
Signatur: Dieser Header wird gesendet, wenn der Webhook mit einem Secret konfiguriert ist. Er enthält den HMAC-Hashwert des Anfragebodys und wird mit der Hashfunktion SHA-256 sowie dem Secret als HMAC-Schlüssel generiert.
Payload
Die Webhook-Payload besteht aus Informationen über das Ereignis, das die
Anfrage auslöst, sowie Daten zur Entität, mit der das Ereignis verknüpft ist.
Informationen zum Ereignis:
ID: ID des Ereignisses
Ereignis: Name des Ereignisses
Zeitstempel: Zeitstempel der Anfrage in UNIX-Zeit
Entitätstyp: Der Objekttyp, den der Entitätsschlüssel enthält
Entität: Das Objekt, mit dem das Ereignis verknüpft ist. Derzeit werden nur Anmeldungen unterstützt. Unsere Webhooks serialisieren Anmeldungen genauso wie unsere API:
https://webinargeek.docs.apiary.io/#reference/0/subscriptions/retrieve-a-subscription
Nachfolgend ein Beispiel für eine Anfrage.
POST /payload HTTP/2
> Content-Type: application/json
> User-Agent: WebinarGeek
> ID: 11111111
> Signature: sha256=d57c68ca6f92289e6987922ff26938930f6e66a2d
> {
> "id": "2222222",
> "event": "webinar_subscribed",
> "timestamp": 1238716248712,
> "entity_type": "Subscription"
> "entity": {
> ...
> }
> }
Hinweis: Der Client muss HEAD-Anfragen beantworten können.
Webhook-Zustellungen validieren
Wenn ein Server für den Empfang von Daten eingerichtet ist, wartet er auf Payloads, die an den festgelegten Endpunkt gesendet werden. Um sicherzustellen, dass diese Payloads legitim und unverändert sind, wird dringend empfohlen, ihre Signaturen zu validieren. Dieser Validierungsprozess schützt vor nicht autorisierten Quellen und potenziellen Sicherheitsrisiken wie Man-in-the-Middle-Angriffen.
Schritte zur Validierung
Ein Secret-Token für den Webhook erstellen:
Dieser Token sollte aus einer zufälligen Zeichenfolge mit hoher Entropie bestehen.
Mit diesem Token kann ein neuer Webhook erstellt oder er zu einem bestehenden Webhook hinzugefügt werden.
Den Secret-Token sicher speichern:
Bewahre den Token an einem sicheren Ort auf, auf den der Server zugreifen kann.
Der Token sollte weder fest im Code hinterlegt noch öffentlich zugänglich gemacht werden.
Eingehende Webhook-Payloads validieren:
Jede Payload sollte eine Hash-Signatur enthalten, die im Header „Signature“ zu finden ist.
Berechne mit dem Secret-Token einen Hash und vergleiche ihn mit der mit der Payload gesendeten Signatur.
Wichtige Punkte bei der Validierung:
Der Hash ist ein HMAC-Hashwert im Hexadezimalformat.
Die Signatur beginnt mit einem Präfix wie sha256=.
Der Hash wird aus dem Secret-Token des Webhooks und dem Inhalt der Payload generiert.
Verarbeite die Payload als UTF-8, insbesondere wenn sie Unicode-Zeichen enthält.
Verwende für den Vergleich sichere Methoden wie secure_compare oder crypto.timingSafeEqual, um Sicherheitslücken durch Timing-Angriffe zu vermeiden.
Die Validierung der Webhook-Payload testen
Mit den folgenden Secret- und Payload-Werten lässt sich überprüfen, ob die Implementierung korrekt ist:
secret: "It's a secret"
payload: "\"Hello World!\"" (as JSON)
Bei einer korrekten Implementierung müssen die generierten Signaturen mit den folgenden Signaturwerten übereinstimmen:
Signature: sha256=a6353e505082e0614d4f1760c1d25e523ee34141bd2d2e5ef1e4648fc1ed128b
Webhook-Einstellungen aktualisieren
The Benutzerdefinierte Bezeichnung, URL and Secret of an active Webhook integration can be edited from the integrations menu.
Protokolle ausgelöster Webhook-Ereignisse
Die Protokolle aller für einen bestimmten Trigger ausgelösten Ereignisse befinden sich auf der Trigger-Protokollseite. Diese ist über einen Trigger im Menü „Integrationen“ erreichbar.
Liste der verfügbaren Trigger
Für Webhooks sind die folgenden Trigger verfügbar:
Neue Anmeldung
Vom Webinar abgemeldet
Neue Webinar-Zahlung
Neuer Zuschauer
Neuer Live-Zuschauer
Neuer Zuschauer der Wiederholung
Neuer Zuschauer started watching
Nicht erschienen
Auswertung erfolgreich
Webinar beendet
Ausstrahlung abgesagt
Neue Frage in Q&A
Neues Bewertungsformular
Neue Umfrageantwort
Neue Quizantwort
Neuer Call-to-Action
Neue Nachricht im Fragenfeld des Webinars
Neuer spezifischer Call-to-Action wurde gesendet oder angeklickt
Weitere Informationen zu diesen Triggern enthält unser Artikel „Trigger“.
Zapier für die Webhook-Integration verwenden
Mit einem Webhook lassen sich Informationen zu einem Ereignis von WebinarGeek an Zapier übertragen und ein WebinarGeek-Konto mit über 6.000 Apps verbinden. Der Ablauf wird nachfolgend erklärt.
Einen Zap erstellen
Öffne Zapier.
Melde dich auf der Website an oder erstelle ein Konto, falls noch keines vorhanden ist.
Klicke auf „Create“ > „Zaps“.
Klicke auf „Trigger“.
Suche nach „Webhooks“ und wähle „Webhooks by Zapier“ aus.
Wähle unter „Event“ „Catch Hook“, um nur mit der Payload zu arbeiten (empfohlen), oder „Catch Raw Hook“, wenn Header und Payload verwendet werden sollen (erweitert).
Bei Verwendung von „Catch Raw Hook“ kann unter „Pick off a Child Key“ ausgewählt werden, ob mit der gesamten Payload oder einem Teilbereich gearbeitet werden soll.
Zapier erstellt eine URL, die WebinarGeek-Anfragen empfangen soll. Kopiere diese URL und speichere sie, bevor du mit dem nächsten Schritt fortfährst.
Den Webhook in WebinarGeek verbinden
Öffne WebinarGeek and log into your account.
Gehe zu „Account“ > „Integrations“.
Wähle „Webhooks“ aus und füge die URL von Zapier in das URL-Feld ein.
Klicke auf „Connect“.
Den Webhook erstellen
Klicke nach dem Verbinden von WebinarGeek mit Zapier-Webhooks auf „Add trigger“.
Wähle den gewünschten Trigger für den Webhook aus.
Klicke auf „Add trigger“.
Den Webhook testen
Zapier benötigt einen Testdatensatz, um zu konfigurieren, was mit der Payload geschehen soll. Daher muss der Webhook vor dem Fortfahren einmal ausgelöst werden.
Complete your chosen trigger on WebinarGeek (eg. if you selected ‘Neue Anmeldung’, subscribe to a webinar as a test subscriber) then return to Zapier.
Den Zap abschließen
Klicke in Zapier auf „Test trigger“.
Klicke nach erfolgreichem Abschluss des Tests auf „Continue with the selected record“.
Wähle aus, welche Anwendung die Webhook-Daten erhalten soll.
Die weiteren Schritte für den Zap liegen bei dir. Tipps und Tricks findest du in unserer Zapier-Dokumentation.

