Zum Hauptinhalt springen

Eigene Anbindungen mit Webhooks

Auf diese Weise kannst du externe Systeme über Webhooks an Memberspot anbinden.

Vor über einer Woche aktualisiert

Mit der Webhook-Integration von Memberspot kannst du externe Systeme in Echtzeit über bestimmte Ereignisse in deinem Mitgliederbereich informieren. Immer wenn ein ausgewähltes Ereignis eintritt (z.B. ein neues Mitglied wird hinzugefügt), sendet Memberspot automatisch Daten an eine von dir definierte URL.

Dies ermöglicht dir, Memberspot mit unzähligen anderen Anwendungen zu verbinden, wie z.B. deinem CRM-System oder deinen eigenen, individuellen Skripten.

Die Einrichtung erfolgt in zwei zentralen Schritten:

  1. Webhook-App erstellen: Hier definierst du die Ziel-URL und die technischen Rahmenbedingungen.

  2. Automatisierung erstellen: Hier legst du fest, welches Ereignis (Trigger) die Datenübertragung an deine Webhook-App auslösen soll.

Schritt 1: Die Webhook-App erstellen

Zuerst musst du eine Verbindung zu deinem externen System herstellen.

  1. Navigiere in deinem Memberspot-Dashboard zu Einstellungen > Integrationen

  2. Klicke auf den Button App hinzufügen und wähle im Anschluss Webhook aus der Liste der verfügbaren Integrationen.

  3. Es öffnet sich ein Einstellungsfenster. Trage hier die Benachrichtigungs-URL deines externen Systems ein. Dies ist die Adresse, an die Memberspot die Daten senden wird.

  4. Hast du die URL eingetragen, klicke auf Jetzt validieren. Memberspot sendet nun das oben genannte Test-Event an deine URL, um die Verbindung zu überprüfen.

  5. War die Validierung erfolgreich, klicke auf Speichern. Deine Webhook-App ist nun erstellt und einsatzbereit.

Wichtige Anforderungen an deine Benachrichtigungs-URL

Damit die Verbindung erfolgreich hergestellt und validiert werden kann, muss dein Endpunkt die folgenden Kriterien erfüllen:

  • Erreichbarkeit: Die URL muss öffentlich im Internet erreichbar sein.

  • Anfrage-Typ: Der Endpunkt muss auf POST-Anfragen reagieren können.

  • Erfolgs-Statuscode: Bei einem erfolgreichen Empfang der Daten muss der Server mit dem HTTP-Statuscode 200 OK oder 201 Created antworten.

  • Validierungs-Event: Der Endpunkt muss zum Testen der Verbindung einen Test-Payload im Body akzeptieren können: { "event": "auth_test" }.

  • Daten-Akzeptanz: Der Endpunkt muss die Datenstrukturen (Payloads) der später in der Automatisierung ausgewählten Events verarbeiten können (siehe Abschnitt "Datenformate der Events" unten).

Schritt 2: Eine Automatisierung erstellen

Nachdem die App konfiguriert ist, legst du nun fest, wann diese ausgelöst werden soll.

  1. Gehe im Menü zu Einstellungen > Integrationen und klicke auf Automatisierung hinzufügen.

  2. Ein Konfigurationsfenster erscheint. Wähle hier den gewünschten Auslöser (Event) aus, der die Benachrichtigung starten soll. Zum Beispiel: Mitglied wurde hinzugefügt.

  3. Wähle als Aktion deine im ersten Schritt erstellte Webhook-App aus.

  4. Speichere die Automatisierung.

Sicherheit: Der Authorization Header

Um sicherzustellen, dass die Anfragen tatsächlich und ausschließlich von Memberspot stammen, wird bei jeder Anfrage ein geheimer Schlüssel im Authorization Header mitgesendet.

  • Jede Webhook-App generiert automatisch ein einzigartiges und nicht änderbares Secret.

  • Du kannst dieses Secret in deinem empfangenden System überprüfen, um die Authentizität der Anfrage zu verifizieren. Die Nutzung dieses Secrets ist empfohlen, aber optional.

Datenformate der Events (Payloads)

Je nachdem, welches Event du in der Automatisierung als Auslöser gewählt hast, sendet Memberspot unterschiedliche Datenpakete (Payloads) im JSON-Format. Hier ist eine Übersicht der möglichen Events und der dazugehörigen Daten:

Mitglied hat Kurs erhalten - JSON

{
"schoolId": "string",
"uid": "string",
"email": "string",
"courseId": "string"
}

Mitglied hat Zugang erhalten - JSON

{
"schoolId": "string",
"uid": "string",
"email": "string",
"offerId": "string"
}

Lektion abgeschlossen - JSON

{
"schoolId": "string",
"uid": "string",
"email": "string",
"courseId": "string",
"chapterId": "string",
"postId": "string"
}

Post in Space erstellt - JSON

{
"schoolId": "string",
"spaceId": "string",
"spacePostId": "string",
"creatorUid": "string",
"creatorEmail": "string",
"title": "string",
"content": "string"
}

Mitglied nicht eingeloggt - JSON

{
"schoolId": "string",
"uid": "string",
"email": "string",
"days": "number"
}

Mitglied wurde hinzugefügt - JSON

{
"schoolId": "string",
"uid": "string",
"email": "string",
"firstname": "string",
"name": "string"
}

Zugang läuft in X Tagen aus - JSON

{
"schoolId": "string",
"uid": "string",
"email": "string",
"offerId": "string",
"days": "number",
"dateExpring": "Date"
}

Hat dies deine Frage beantwortet?