Zum Hauptinhalt springen

Webhooks

Webhooks halten über Webinare auf dem Laufenden und ermöglichen eine nahtlose Kommunikation zwischen verschiedenen Anwendungen.

Verfasst von Dewi

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.

Verschiedene Webhook-Trigger.

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:

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

  1. 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.

  2. 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.

  3. 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.

  4. 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

  1. Öffne Zapier.

  2. Melde dich auf der Website an oder erstelle ein Konto, falls noch keines vorhanden ist.

  3. Klicke auf „Create“ > „Zaps“.

  4. Klicke auf „Trigger“.

  5. Suche nach „Webhooks“ und wähle „Webhooks by Zapier“ aus.

  6. 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).

    1. 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.

  7. 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

  1. Öffne WebinarGeek and log into your account.

  2. Gehe zu „Account“ > „Integrations“.

  3. Wähle „Webhooks“ aus und füge die URL von Zapier in das URL-Feld ein.

  4. Klicke auf „Connect“.

Den Webhook erstellen

  1. Klicke nach dem Verbinden von WebinarGeek mit Zapier-Webhooks auf „Add trigger“.

  2. Wähle den gewünschten Trigger für den Webhook aus.

  3. 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

  1. Klicke in Zapier auf „Test trigger“.

  2. Klicke nach erfolgreichem Abschluss des Tests auf „Continue with the selected record“.

  3. 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.

Hat dies deine Frage beantwortet?