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:
Webhook-App erstellen: Hier definierst du die Ziel-URL und die technischen Rahmenbedingungen.
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.
Navigiere in deinem Memberspot-Dashboard zu
Einstellungen > Integrationen
Klicke auf den Button
App hinzufügen
und wähle im AnschlussWebhook
aus der Liste der verfügbaren Integrationen.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.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.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
oder201 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.
Gehe im Menü zu
Einstellungen > Integrationen
und klicke aufAutomatisierung hinzufügen
.Ein Konfigurationsfenster erscheint. Wähle hier den gewünschten Auslöser (Event) aus, der die Benachrichtigung starten soll. Zum Beispiel:
Mitglied wurde hinzugefügt
.Wähle als Aktion deine im ersten Schritt erstellte Webhook-App aus.
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"
}