OTP-Zustellung
Diese API generiert Verifizierungscodes über die EngageLab-Plattform und stellt sie entsprechend der in der Vorlage angegebenen Kanalstrategie zu.
Wenn Sie Verifizierungscodes selbst generieren möchten, anstatt die EngageLab-Plattform zu verwenden, können Sie die API EngageLab OTP Custom Verification Code Delivery aufrufen.
Endpoint
POST https://otp.api.engagelab.cc/v1/messages
Authentifizierung
Verwenden Sie HTTP Basic Authentication und fügen Sie Authorization dem HTTP-Header hinzu:
Authorization: Basic ${base64_auth_string}
Der Generierungsalgorithmus für base64_auth_string lautet: base64(dev_key:dev_secret)
Anfragebeispiel
Request Header
POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Request Body
{
"to": "+6591234567",
"template": {
"id": "test-template-1",
"language": "default",
"params": {
"key1": "value1",
"key2": "value2"
}
}
}
Anfrageparameter
Ein Anfrageobjekt wird im JSON-Format dargestellt, daher muss der Anfrage-Header Content-Type: application/json enthalten.
| Parameter | Type | Required | Description |
|---|---|---|---|
| to | String | Required | Ziel-Empfänger: Telefonnummer oder E-Mail-Adresse, zum Beispiel +6598765432 oder support@engagelab.com |
| template | JSON Object | Required | Vorlageninformationen. Siehe die verschachtelten Parameter unten. |
| |_ id | String | Required | Vorlagen-ID |
| |_ language | String | Optional | Vorlagensprache. Die folgenden Sprachen werden unterstützt: default: Standardsprache zh_CN: Vereinfachtes Chinesisch zh_HK: Traditionelles Chinesisch en: Englisch ja: Japanisch th: Thailändisch es: Spanisch Wenn kein Wert angegeben wird, ist der Standardwert default (die Standardsprache). |
| |_ params | JSON Object | Optional | Werte für benutzerdefinierte Variablenschlüssel der Vorlage. Wenn Sie beim Erstellen der Vorlage benutzerdefinierte Variablen definiert haben, weisen Sie ihnen hier Werte zu. Wenn kein Wert angegeben wird, wird der Variablenschlüssel direkt zugestellt, z. B. {{var}}. |
Hinweise zu params
- Für vordefinierte Felder in der Vorlage, z. B.
from_id, wird bei der Zustellung der Nachricht die in der Vorlage voreingestelltefrom_idverwendet, wenn kein Wert für das Feldparam_varsangegeben wird. - Wenn ein Wert für das Feld
param_varsangegeben wird, z. B.param_vars:{"from_id":"12345"}, dann wird diefrom_idder Vorlage bei der Zustellung der Nachricht durch12345ersetzt. - Gleichzeitig werden auch benutzerdefinierte Variablenfelder im Vorlageninhalt, die bei der Erstellung der Vorlage erstellt wurden, über
param_varszugewiesen. Wenn der Vorlageninhalt beispielsweiseHi {{name}}, your verify code is {{code}}lautet, ist der Zuweisungsparameterparam_vars:{"name":"Bob"}erforderlich.
Antwortparameter
Erfolgreiche Antwort
| Field | Type | Required | Description |
|---|---|---|---|
| message_id | String | Required | Nachrichten-ID, die eine Nachricht eindeutig identifiziert |
| send_channel | String | Required | Gibt den aktuell verwendeten Zustellungskanal an. Mögliche Werte sind whatsapp, sms, email oder voice. |
{
"message_id": "1725407449772531712",
"send_channel": "sms"
}
Beachten Sie, dass der zurückgegebene Wert send_channel nicht den endgültigen Kanal darstellt, der für die Zustellung der Nachricht an den Nutzer verwendet wurde. Er gibt nur den aktuell verwendeten Kanal an. Wenn die Vorlagenstrategie beispielsweise so konfiguriert ist, dass die Zustellung über den WhatsApp-Kanal fehlschlägt und dann automatisch eine erneute Zustellung über den SMS-Kanal erfolgt, gibt die API-Antwort den Wert whatsapp zurück. Nach einer gewissen Zeit, sobald der Zustellungsfehler erkannt wurde, sendet das System die Nachricht über den SMS-Kanal.
Fehlgeschlagene Antwort
Der HTTP-Statuscode ist 4xx oder 5xx, und der Antworttext enthält die folgenden Felder:
| Field | Type | Required | Description |
|---|---|---|---|
| code | int | Required | Fehlercode. Weitere Details finden Sie unter Error Codes |
| message | String | Required | Fehlerdetails |
{
"code": 5001,
"message": "sms send fail"
}
Fehlercodes
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen; das korrekte Token wurde nicht bereitgestellt |
| 2002 | 401 | Authentifizierung fehlgeschlagen; das Token ist abgelaufen oder wurde deaktiviert |
| 2004 | 403 | Keine Berechtigung, diese API aufzurufen |
| 3001 | 400 | Ungültiges Format der Anfrageparameter. Bitte prüfen Sie, ob der JSON-Inhalt dem erforderlichen Parameterformat entspricht |
| 3002 | 400 | Ungültige Anfrageparameter. Bitte prüfen Sie, ob die Anfrageparameter die Anforderungen erfüllen |
| 3003 | 400 | Ungültige Anfrageparameter. Die zugehörige Geschäftsvalidierung ist fehlgeschlagen. Einzelheiten finden Sie in der Fehlerbeschreibung im Feld message |
| 3004 | 400 | Häufigkeitslimit überschritten. Für dieselbe Vorlage und denselben Zielnutzer kann innerhalb der Gültigkeitsdauer des Verifizierungscodes keine erneute Zustellung durchgeführt werden |
| 4001 | 400 | Die zugehörige Ressource existiert nicht. Beispielsweise wird beim Senden einer Vorlagennachricht eine nicht vorhandene Vorlage verwendet |
| 5001 | 400 | Senden fehlgeschlagen (allgemein/sonstige) |
| 5011 | 400 | Ungültiges Telefonnummernformat |
| 5012 | 400 | Ziel nicht erreichbar |
| 5013 | 400 | Nummer wurde auf die Blacklist gesetzt |
| 5014 | 400 | Inhalt entspricht nicht den Spezifikationen |
| 5015 | 400 | Nachricht abgefangen/abgelehnt |
| 5016 | 400 | Interner Sendefehler |
| 5017 | 400 | Keine Berechtigung zum Senden nach Festlandchina |
| 5018 | 400 | Problem mit der Telefonnummer (ausgeschaltet/Dienst ausgesetzt) |
| 5019 | 400 | Nutzer hat sich abgemeldet |
| 5020 | 400 | Nummer nicht registriert/ungültige Nummer |










