Automate Your Workflows - EnageLab OTP Callback Settings Guide
Callback-Adresse konfigurieren
Wechseln Sie auf der Seite „Konfigurationsmanagement“ zu „Callback-Einstellungen“ und klicken Sie auf „Callback konfigurieren“, um den Callback für den EngageLab OTP-Service einzurichten.


Wie oben gezeigt, füllen Sie nacheinander „Callback-Beschreibung“, „Callback-Adresse“, „Benutzername“, „Authentifizierung“, „Callback-Ereignisse“ usw. aus.
- Aktivieren Sie die gewünschten Callback-Ereignisse, um bei Auftreten dieser Ereignisse Informationen an die angegebene Adresse zu übermitteln.
- Klicken Sie rechts neben „Nachrichtenstatus“, um entsprechende Beispiele einzusehen.
Callback-Adresse festlegen
Bei der Konfiguration der Callback-Adresse sendet das EngageLab OTP-System eine HTTP-POST-Anfrage an die angegebene Adresse. Der jeweilige Entwickler-Service muss innerhalb von 3 Sekunden mit dem HTTP-Statuscode 200 antworten, andernfalls wird die Adresse vom System als ungültig betrachtet.
- Der Entwickler-Service muss lediglich mit dem HTTP-Statuscode 200 antworten; eine Rückmeldung im Body ist nicht erforderlich.
Anfragebeispiel
Beispielsweise lautet die konfigurierte Callback-Adresse https://example.engagelabotp.callback.com. Wir senden folgende leere Nachricht an diese Adresse, dargestellt als curl-Befehl:
curl -X POST https://example.engagelabotp.callback.com -d ''
Antwortbeispiel
Der Entwickler-Service an der Callback-Adresse sollte nach Erhalt der POST-Anfrage ausschließlich mit HTTP 200 antworten:
HTTP/1.1 200 OK
Content-Length: 0
Sicherheitsmechanismus für Callback-Adresse konfigurieren
- Benutzername festlegen
Dies ist optional. Wird ein Benutzername gesetzt, muss auch ein Secret angegeben werden.
Um die Herkunft der Nachricht als EngageLab zu bestätigen, können Sie die Authentifizierung der POST-Daten aktivieren.
Nach der Konfiguration von Benutzername und Secret enthält die von EngageLab gesendete Anfrage den HTTP-Header: X-CALLBACK-ID.
Der Wert von X-CALLBACK-ID ist: timestamp={timestamp};nonce={nonce};username={username};signature={signature}
Beispiel:
X-CALLBACK-ID: timestamp=1681991058;nonce=123123123123;username=test;signature=59682d71e2aa2747252e4e62c15f6f241ddecc8ff08999eda7e0c4451207a16b
Der Timestamp ist der Zeitstempel der Callback-Nachricht, Nonce ist eine Zufallszahl, und Signature enthält die Signaturinformation. Die Berechnungsmethode lautet: signature = HMAC-SHA256(secret, timestamp+nonce+username)
Ein Python-Codebeispiel zur Berechnung der signature:
import hashlib, hmac
def verify(username, secret, timestamp, nonce, signature):
return signature == hmac.new(
key=secret,
msg='{}{}{}'.format(timestamp, nonce, username),
digestmod=hashlib.sha256
).hexdigest()
- Authentifizierung konfigurieren
Dies ist optional. Falls Ihre Callback-Adresse eine Authentifizierung für Anfragen von EngageLab benötigt, geben Sie die Authentifizierungsdaten hier an. EngageLab fügt diese dann als Authorization-Header der Anfrage hinzu.
Callback-Request-Body
Sobald ein Callback-Ereignis ausgelöst wird, sendet der EngageLab OTP-Service Daten an die Callback-Adresse.
Beispiel „Nachrichtenstatus“-Anfrage
Der Nachrichtenstatus umfasst:
- plan: Geplant zum Versand
- sent: Gesendet
- sent_failed: Versand fehlgeschlagen
- delivered: Zugestellt
- delivered_failed: Zustellung fehlgeschlagen
- verified: Verifiziert
- verified_failed: Verifizierung fehlgeschlagen
- verified_timeout: Verifizierung abgelaufen
{
"total": 2,
"rows": [{
"message_id": "1742442805608914944",
"to": "+8615989574757",
"server": "otp",
"channel": "otp",
"itime": 1704265712,
"status": {
"message_status": "plan",
"status_data": {
"msg_time": 170426571,
"message_id": "1742442805608914944",
"template_key": "auto_create_templateu25az170295320745",
"business_id": "100917676394736"
},
"error_code": 0
}
}, {
"message_id": "1742442805608914944",
"to": "+8615989574757",
"server": "otp",
"channel": "otp",
"itime": 1704265712,
"status": {
"message_status": "sent_failed",
"status_data": {
"msg_time": 1704265712,
"message_id": "1742442805608914944",
"template_key": "auto_create_templateu25az170295320745",
"business_id": "100917676394736"
},
"error_code": 5001,
"error_detail": {
"message": "sender config is invalid"
}
}
}]
}
Beispiel „Benachrichtigungsnachrichten“-Anfrage
Ereignisse:
- insufficient_balance: Guthaben unterhalb des Warnschwellwerts
{
"total": 1,
"rows": [{
"server": "otp",
"itime": 1712458844,
"notification": {
"event": "insufficient_balance",
"notification_data": {
"business_id": "1744569418236633088",
"remain_balance": -0.005,
"balance_threshold": 2
}
}
}]
}
Tipp: Nutzen Sie die EngageLab OTP Callback-Funktion, um Ihre Prozesse rund um Nachrichtenstatus und Systembenachrichtigungen effizient zu automatisieren und zu überwachen.
Weitere Informationen:
Jetzt EngageLab OTP Callback einrichten und von automatisierten Statusmeldungen profitieren!

