Was Webhooks tun
Ein Webhook abonniert ein bestimmtes Store-Ereignis. Wenn dieses Ereignis eintritt, sendet Storeep die Eventdaten sofort an eine von dir angegebene URL (API-Typ) oder an eine von dir angegebene E-Mail-Adresse (E-Mail-Typ). Webhooks werden häufig für Bestelltracking-Integrationen, CRM-Synchronisationen, Ad-Plattform-Conversions und automatisierte Benachrichtigungen verwendet.
Um Webhooks zu verwalten, gehe zu Einstellungen → Webhooks. Du benötigst die Berechtigung settings, um Webhooks anzuzeigen oder zu ändern.
Webhook-Limits
- Maximal 20 Webhooks pro Store. Wenn du versuchst, einen 21. hinzuzufügen, erscheint der Fehler "You have reached the maximum of 20 webhooks per store".
- Die Liste zeigt die neuesten Webhooks zuerst, paginiert mit 40 pro Seite.
Webhook erstellen
Klicke auf Neuen Webhook hinzufügen, fülle die Felder unten aus und klicke dann auf Hinzufügen.
Aktivieren
Standardmäßig aktiviert. Wenn aktiviert, ist der Webhook sofort nach dem Speichern aktiv und passende Ereignisse werden ausgelöst. Deaktiviere das Kontrollkästchen, um den Webhook im deaktivierten Zustand zu speichern, sodass er nichts empfängt. Du kannst dies jederzeit durch Bearbeiten des Webhooks ändern.
Name
- Erforderlich. Maximal 50 Zeichen.
- Eine beschreibende Bezeichnung, die in der Liste angezeigt wird, zum Beispiel Facebook CAPI order created.
Typ
- API: Storeep sendet eine HTTP-POST-Anfrage mit den Eventdaten an deine URL.
- E-Mail: Storeep sendet eine E-Mail mit den Eventdaten an deine Adresse.
Ereignis
Das Store-Ereignis, das den Webhook auslöst. Es gibt drei Ereignisse:
- Session created: Eine neue Besuchersitzung wird in deinem Store erstellt.
- Order created: Eine neue Bestellung wird aufgegeben.
- Order updated: Der Status oder die Daten einer bestehenden Bestellung ändern sich.
Wichtig: Der Typ E-Mail liefert nur Order created und Order updated. Wenn du E-Mail mit Session created auswählst, wird der Webhook gespeichert, aber nie etwas gesendet. Verwende den Typ API, wenn du das Session-Ereignis benötigst.
Format
Nur eine Option, Json: Das Payload wird als JSON-Dokument gesendet.
URL (nur API-Typ)
- Erforderlich, wenn der Typ API ist. Maximal 500 Zeichen.
- Das Feld zeigt dir ein
https://-Präfix an, gib also nur Host und Pfad ein, zum Beispielapi.example.com/events/order. Wenn du eine vollständigehttps://- oderhttp://-Adresse einfügst, wird das Präfix vor dem Speichern entfernt. - Dynamische Platzhalter: Füge jedes Feld aus den Eventdaten mit der Doppelklammer-Syntax
{{field_name}}in die URL ein. Beispiel:example.com/postback?cid={{fbclid}}&payout={{order_total}}. Werte werden URL-codiert, und ein Platzhalter ohne Wert ergibt einen leeren Wert. So kannst du Konversionsdaten direkt an eine Ad-Plattform senden, ohne einen Proxy zu benötigen. - Die Adresse wird nach dem Entfernen der Platzhalter validiert. Eine ungültige URL ergibt "The url you have entered is incorrect".
E-Mail-Adresse (nur E-Mail-Typ)
- Erforderlich, wenn der Typ E-Mail ist. Muss eine gültige Adresse sein, maximal 127 Zeichen.
Webhook bearbeiten
Klicke auf eine beliebige Zeile, um den Editor zu öffnen. Jedes Feld ist bearbeitbar. Das URL-Feld wird nur vorausgefüllt, wenn der gespeicherte Typ API ist, und das E-Mail-Feld nur, wenn der gespeicherte Typ E-Mail ist. Klicke auf Speichern, um zu übernehmen. Wenn du mit deaktiviertem Aktivieren speicherst, wird der Webhook deaktiviert, aber nicht gelöscht.
Spalten der Webhook-Liste
- Name: Die Bezeichnung mit Erstellungsdatum.
- URL / E-Mail: Das Ziel.
- Typ: API oder E-Mail.
- Ereignis: Session created, Order created oder Order updated.
- Format: Json.
- Status: Aktiviert oder Deaktiviert.
Webhook löschen
Wähle eine oder mehrere Zeilen aus und klicke auf Webhooks löschen. Das Löschen ist dauerhaft und stoppt alle zukünftigen Zustellungen für dieses Abonnement.
Zustellung, Wiederholungen und Fehler-E-Mails
Dieser Abschnitt gilt für API-Webhooks. E-Mail-Webhooks werden einmalig gesendet, ohne Wiederholung und ohne Fehlerverfolgung.
Wiederholungsverhalten
- Jede Anfrage hat ein 5-Sekunden-Timeout. Wenn ein Ziel eine 5xx-Fehlermeldung, 429 (Rate Limiting) zurückgibt oder nicht erreichbar ist (Verbindungsfehler), wird die Zustellung als temporärer Fehler behandelt und erneut versucht.
- Nach dem ersten Fehler versucht Storeep es mit exponentiellem Backoff bis zu 5 Mal erneut: etwa 30s, 60s, 120s, 240s und dann 480s später. Nach dem letzten Versuch wird das Ereignis verworfen.
- Eine 4xx-Antwort außer 429 (zum Beispiel 404 oder 403) gilt als dauerhafter Fehler. Storeep versucht es nicht erneut, da ein falscher oder abgelehnter Endpunkt sich nicht selbst repariert.
- Wenn du mehrere Webhooks für dasselbe Ereignis hast, wird eine Wiederholung nur an die fehlgeschlagenen gesendet. Endpunkte, die bereits erfolgreich waren, werden übersprungen, sodass du keine doppelten Zustellungen erhältst.
Fehlerbenachrichtigung per E-Mail
- Storeep zählt aufeinanderfolgende fehlgeschlagene Zustellungen pro Webhook. Nach 5 aufeinanderfolgenden Fehlern erhält der Store-Inhaber eine E-Mail mit dem Betreff "Action needed: your Storeep webhook is failing" in der Sprache des Inhabers. Die E-Mail enthält den Webhook-Namen, das Ziel, das Ereignis und den letzten HTTP-Statuscode.
- Du erhältst genau eine E-Mail pro Fehler-Serie. Weitere E-Mails werden erst gesendet, wenn dieser Webhook wieder funktioniert.
- Sobald eine Zustellung wieder erfolgreich ist, wird der Fehlerzähler auf null zurückgesetzt und die Benachrichtigung wird wieder aktiviert, sodass du bei einer zukünftigen Fehler-Serie erneut benachrichtigt wirst.
Tipps und Stolperfallen
- Du kannst mehrere Webhooks für dasselbe Ereignis erstellen, zum Beispiel Order created sowohl an ein CRM als auch an eine Ad-Plattform als zwei separate Einträge senden.
- Wenn dein Endpunkt eine Authentifizierung benötigt, füge ein Token in den URL-Query-String ein, entweder fest codiert oder über einen
{{placeholder}}aus den Eventdaten, oder stelle einen Proxy davor, der die Authentifizierung vor dem Weiterleiten hinzufügt. - Session created wird für jede eindeutige Besuchersitzung ausgelöst und kann bei stark frequentierten Stores ein hohes Volumen erzeugen. Abonniere es nur, wenn dein Endpunkt das verarbeiten kann, und denke daran, dass es nur mit dem API-Typ funktioniert.