Benutzerdefinierte OTP-Code-Zustellung
Wenn Sie Verifizierungscodes selbst generieren möchten, anstatt sie von der EngageLab-Plattform generieren zu lassen, können Sie diese API aufrufen.
Diese API wird speziell zum Senden vorab generierter Verifizierungscodes verwendet und generiert selbst keine Verifizierungscodes. Nach dem Senden eines Verifizierungscodes ist es nicht erforderlich, eine Verifizierungs-API zur Validierung aufzurufen.
Wenn Sie möchten, dass die EngageLab-Plattform Verifizierungscodes generiert, können Sie die API EngageLab OTP Verification Code Delivery aufrufen.
Endpunkt
POST https://otp.api.engagelab.cc/v1/codes
Authentifizierung
Verwenden Sie HTTP Basic Authentication, indem Sie Authorization zum HTTP-Header hinzufügen:
Authorization: Basic ${base64_auth_string}
Der Generierungsalgorithmus für base64_auth_string lautet: base64(dev_key:dev_secret)
Anfragebeispiel
Anfrage-Header
POST /v1/codes HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Anfrage-Body
{
"to": "+6591234567",
"code": "398210",
"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 | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| to | String | Erforderlich | Zustellungsziel: eine Telefonnummer oder E-Mail-Adresse, z. B. +6598765432 oder support@engagelab.com |
| code | String | Erforderlich | Der zu sendende benutzerdefinierte Verifizierungscode |
| template | JSON Object | Erforderlich | Vorlageninformationen. Siehe die Parameter der zweiten Ebene unten |
| |_ id | String | Erforderlich | 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 nichts angegeben ist, lautet der Standardwert default (Standardsprache). |
| |_ params | JSON Object | Optional | Werte für benutzerdefinierte Variablenschlüssel in der Vorlage. Wenn Sie beim Erstellen der Vorlage benutzerdefinierte Variablen definiert haben, weisen Sie ihnen hier ihre Werte zu. Wenn nichts angegeben wird, wird der Variablenschlüssel direkt gesendet, z. B. {{var}}. |
Beschreibung von params
- Für vordefinierte Vorlagenfelder wie
from_idgilt: Wenn der Feldwertparam_varsnicht angegeben wird, wird beim Senden der Nachricht das in der Vorlage vordefiniertefrom_idverwendet. - Wenn der Feldwert
param_varsangegeben wird, z. B.param_vars:{"from_id":"12345"}, wird dasfrom_idder Vorlage beim Senden der Nachricht durch12345ersetzt. - Benutzerdefinierte Variablenfelder im Vorlageninhalt, die bei der Erstellung der Vorlage angelegt wurden, werden ebenfalls über
param_varsmit Werten versehen. 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: whatsapp/sms/email/voice |
{
"message_id": "1725407449772531712",
"send_channel": "sms"
}
Bitte beachten Sie, dass der zurückgegebene Wert send_channel nicht den endgültigen Kanal darstellt, der für die Zustellung der Nachricht an den Benutzer verwendet wird; er steht nur für den aktuell verwendeten Kanal. Wenn die Vorlagenstrategie beispielsweise so konfiguriert ist, dass bei einer fehlgeschlagenen Zustellung über den WhatsApp-Kanal automatisch ein erneuter Versuch über den SMS-Kanal erfolgt, gibt die API-Antwort den Wert whatsapp zurück. Nach einer gewissen Zeit sendet das System über den SMS-Kanal, wenn ein Zustellungsfehler erkannt wird.
Fehlgeschlagene Antwort
Der HTTP-Statuscode ist 4xx oder 5xx, und der Antwort-Body enthält die folgenden Felder:
| Field | Type | Required | Description |
|---|---|---|---|
| code | int | Required | Fehlercode. Details finden Sie unter Fehlercodes |
| message | String | Required | Fehlerdetails |
{
"code": 5001,
"message": "sms send fail"
}
Fehlercodes
| Fehlercode | HTTP-Code | Beschreibung |
|---|---|---|
| 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äftliche Validierung ist fehlgeschlagen. Einzelheiten finden Sie in der Fehlerbeschreibung im Feld message. |
| 3004 | 400 | Häufigkeitslimit überschritten. Für dieselbe Vorlage und denselben Zielbenutzer kann innerhalb der Gültigkeitsdauer des Verifizierungscodes keine erneute Zustellung erfolgen. |
| 4001 | 400 | Die zugehörige Ressource existiert nicht, z. B. wenn beim Senden einer Vorlagennachricht eine nicht vorhandene Vorlage verwendet wird. |
| 5001 | 400 | Senden fehlgeschlagen (allgemein/sonstige) |
| 5011 | 400 | Ungültiges Telefonnummernformat |
| 5012 | 400 | Ziel nicht erreichbar |
| 5013 | 400 | Nummer wurde auf die Sperrliste gesetzt |
| 5014 | 400 | Inhalt entspricht nicht den Vorgaben |
| 5015 | 400 | Nachricht abgefangen/abgelehnt |
| 5016 | 400 | Interner Sendefehler |
| 5017 | 400 | Keine Sendeberechtigung für das chinesische Festland |
| 5018 | 400 | Telefonstörung (ausgeschaltet/Dienst ausgesetzt) |
| 5019 | 400 | Benutzer hat sich abgemeldet |
| 5020 | 400 | Nummer nicht registriert/ungültige Nummer |










