Informationen zu WebHook
WebHook ist der Kanal, über den Kund:innen ihre Versandinformationen erhalten. Nachdem der:die Nutzer:in die Mail-Anfrage an EngageLab gesendet hat, gibt EngageLab das „Anfrageergebnis“ synchron an den:die Nutzer:in zurück. Das „Versandergebnis“ sowie „weitere Ereignisergebnisse“ der E-Mail werden dem:der Nutzer:in asynchron über WebHook bereitgestellt.
Verarbeitung von WebHook
- EngageLab stellt Kund:innen verschiedene E-Mail-Ereignisse zur Verfügung, aus denen sie relevante Ereignisse auswählen können.
- Tritt ein Ereignis ein, sendet EngageLab (per POST) Daten an die von dem:der Kund:in hinterlegte URL.
- Von EngageLab übertragener Datentyp: „Content-Type: application/json“.
- Der:die Kund:in empfängt die Daten, analysiert das Ereignis und die zugehörigen Informationen. Innerhalb von 3 Sekunden muss ein HTTP-Statuscode 200 zurückgegeben werden, andernfalls sendet EngageLab die Nachricht erneut.
Vorgehensweise
- Der:die Nutzer:in implementiert einen HTTP-Service, der die jeweiligen Ereignisse verarbeitet, die relevanten Daten analysiert und die entsprechende URL bereitstellt.
- Im Bereich „WebHook“ von EngageLab wählt der:die Nutzer:in die gewünschten Ereignisse aus und konfiguriert die URL zum Datenempfang.
Signatur-Verifizierung
Um sicherzustellen, dass die Nachricht tatsächlich von EngageLab stammt, kann eine Sicherheitsüberprüfung der Quelle der POST-Daten durchgeführt werden (alternativ ist auch eine direkte Verarbeitung der POST-Daten ohne Verifizierung möglich).
Das Verfahren zur Sicherheitsüberprüfung ist wie folgt:
- Den
APP KEYüber【Versandeinstellungen】-【WebHook】abrufen - Den Wert von
X-WebHook-Timestampaus dem Header auslesen - Den Wert von
X-WebHook-AppKeyaus dem Header auslesen - Den Wert von
X-WebHook-Signatureaus dem Header auslesen - Die Signatur
signaturemit md5(X-WebHook-Timestamp+X-WebHook-AppKey+APP KEY) generieren und mitX-WebHook-Signaturevergleichen
Antwortverarbeitung
Nach dem Empfang des Rückrufs von EngageLab muss der Entwickler-Service innerhalb von 3 Sekunden wie folgt reagieren:
Erfolgreicher Empfang: Der HTTP-Response-Statuscode muss 200 oder 204 sein, eine Antwortnachricht ist nicht erforderlich.
Empfang fehlgeschlagen: Der HTTP-Response-Statuscode muss 5XX oder 4XX sein und eine Antwortnachricht im folgenden Format enthalten:
{"code": 2002, "message": "failed"}
| Parameter | Typ | Pflicht/Optional | Beschreibung |
|---|---|---|---|
| code | int | Optional | Fehlercode |
| message | string | Optional | Fehlerdetails |
Retry-Verfahren
Bei einem Fehler beim URL-Zugriff oder einem Timeout versucht EngageLab maximal 7 Mal erneut zuzustellen. Die maximalen Zeitabstände zwischen den einzelnen Versuchen betragen 3 Minuten, 10 Minuten, 30 Minuten, 1 Stunde, 6 Stunden, 12 Stunden und 24 Stunden. Das bedeutet, Sie haben ausreichend Zeit, die URL zu reparieren, bevor die Nachricht verloren geht.
Wird die maximale Anzahl an Zustellversuchen überschritten, verwirft EngageLab die Nachricht.
Für jede Ereignisverarbeitung und Datenanalyse muss innerhalb von 3 Sekunden eine erfolgreiche Antwort zurückgegeben werden. Andernfalls sendet EngageLab die Nachricht erneut.

