Benutzerdefiniertes OTP senden
Wenn Sie den Verifizierungscode lieber selbst generieren möchten, statt ihn von der EngageLab-Plattform generieren zu lassen, können Sie diese Schnittstelle aufrufen.
Diese Schnittstelle dient ausschließlich dem Senden vorab generierter Verifizierungscodes und generiert selbst keine Verifizierungscodes. Nach dem Senden des Verifizierungscodes ist kein Aufruf der Verifizierungsschnittstelle erforderlich.
Wenn Sie es bevorzugen, dass die EngageLab-Plattform den Verifizierungscode generiert, können Sie die Schnittstelle EngageLab OTP – OTP senden aufrufen.
Anfrage-URL
POST https://otp.api.engagelab.cc/v1/codes
Authentifizierung
Bitte lesen Sie Authentifizierung, um zu erfahren, wie Sie die API-Authentifizierung durchführen.
Anfragebeispiel
Anfrage-Header
POST /v1/codes HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Anfragetext
{
"to": "+6591234567",
"code":"398210",
"template":{
"id":"test-template-1",
"language": "default",
"params": {
"key1": "value1",
"key2": "value2"
}
}
}
Anfrageparameter
Ein Anfrageobjekt wird im JSON-Format ausgedrückt, daher muss der Anfrage-Header Content-Type: application/json enthalten.
| Parameter | Typ | Option | Beschreibung |
|---|---|---|---|
| to | String | Erforderlich | Sendeziel, Mobilfunknummer oder E-Mail-Adresse, +6598765432, support@engagelab.com |
| code | String | Erforderlich | Der zu sendende benutzerdefinierte Verifizierungscode |
| template | JSON Object | Erforderlich | Vorlageninformationen, siehe untergeordnete Parameter unten |
| |_ id | String | Erforderlich | Vorlagen-ID |
| |_ language | String | Optional | Vorlagensprache, unterstützt die folgenden Sprachen: default (Standardsprache) zh_CN (Vereinfachtes Chinesisch) zh_HK (Traditionelles Chinesisch) en (Englisch) ja (Japanisch) th (Thailändisch) es (Spanisch) Wird nichts übergeben, gilt standardmäßig default. |
| |_ params | JSON Object | Optional | Werte für die Schlüssel benutzerdefinierter Vorlagenvariablen. Wenn Sie beim Erstellen der Vorlage Variablen angepasst haben, übergeben Sie deren Werte hier. Werden sie nicht übergeben, werden sie direkt als Variablenschlüssel gesendet, z. B. {{var}} |
Hinweise zu params
- Für in der Vorlage voreingestellte Felder wie
from_idgilt: Wenn der Feldwert inparamsnicht übergeben wird, wird beim Senden der Nachricht das voreingestelltefrom_idder Vorlage verwendet; - Wird ein Feldwert in
paramsübergeben, z. B.params:{"from_id":"12345"}, wird dasfrom_idder Vorlage beim Senden der Nachricht durch 12345 ersetzt; - Gleichzeitig werden auch benutzerdefinierte Variablenfelder im Vorlageninhalt, die beim Erstellen der Vorlage festgelegt wurden, über
paramsmit Werten belegt. Wenn der Vorlageninhalt beispielsweiseHi {{name}}, your verify code is {{code}}lautet, müssen Sie den Parameterparams:{"name":"Bob"}zuweisen. - Spezielle Variablen des Email-Kanals: Für den Email-Kanal können Sie über
paramsden E-Mail-Betreff (subject), den Absendernamen (from_name), die Absender-E-Mail (from_mail) usw. dynamisch überschreiben. Ausführliche Hinweise zur erweiterten Verwendung finden Sie unter Vorlage erstellen – Erweiterte Verwendung von E-Mail-Vorlagenvariablen.
Antwortparameter
Erfolgsantwort
| Feld | Typ | Option | Beschreibung |
|---|---|---|---|
| message_id | String | Erforderlich | Nachrichten-ID, identifiziert eine Nachricht eindeutig |
| send_channel | String | Erforderlich | Gibt den aktuellen Sendekanal an, Werte sind whatsapp/sms/email/voice |
{
"message_id": "1725407449772531712",
"send_channel": "sms"
}
Beachten Sie, dass der zurückgegebene Wert send_channel nicht den endgültig an den Benutzer zugestellten Kanal darstellt, sondern nur den in dieser Phase verwendeten Kanal; wenn zum Beispiel die in der Vorlage konfigurierte Strategie vorsieht, dass nach einem fehlgeschlagenen WhatsApp-Versand automatisch auf den SMS-Kanal zurückgegriffen wird, gibt die Schnittstelle den Wert whatsapp zurück. Nachdem das System den Zustellfehler nach einer gewissen Zeit erkannt hat, verwendet es den SMS-Kanal zum Senden.
Fehlerantwort
Der HTTP-Statuscode ist 4xx oder 5xx, und der Antworttext enthält die folgenden Felder:
| Feld | Typ | Option | Beschreibung |
|---|---|---|---|
| code | int | Erforderlich | Fehlercode, Details siehe Fehlercode-Beschreibung |
| message | String | Erforderlich | Fehlerdetails |
{
"code": 5001,
"message": "sms send fail"
}
Fehlercodes
| Fehlercode | HTTP-Code | Beschreibung |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen, falsches Token übermittelt |
| 2002 | 401 | Authentifizierung fehlgeschlagen, Token ist abgelaufen oder deaktiviert |
| 2004 | 403 | Keine Berechtigung zum Aufruf dieser API |
| 3001 | 400 | Ungültiges Format des Anfrageparameters, bitte prüfen Sie, ob der JSON-Inhalt dem Parameterformat entspricht |
| 3002 | 400 | Fehlerhafte Anfrageparameter, bitte prüfen Sie, ob die Anfrageparameter die Anforderungen erfüllen |
| 3003 | 400 | Fehlerhafte Anfrageparameter, zugehörige Geschäftsprüfung fehlgeschlagen, Details siehe Fehlerbeschreibung im Feld message |
| 3004 | 400 | Frequenzlimit überschritten, für dieselbe Vorlage und denselben Zielbenutzer kann innerhalb der Gültigkeitsdauer des Verifizierungscodes nicht erneut gesendet werden |
| 4001 | 400 | Zugehörige Ressource existiert nicht, z. B. Verwendung einer nicht existierenden Vorlage beim Senden einer Vorlagennachricht |
| 5001 | 400 | Versand fehlgeschlagen (allgemein/sonstige) |
| 5011 | 400 | Ungültiges Format der Mobilfunknummer |
| 5012 | 400 | Ziel nicht erreichbar |
| 5013 | 400 | Nummer steht auf der Blacklist |
| 5014 | 400 | Inhalt entspricht nicht den Vorgaben |
| 5015 | 400 | Nachricht abgefangen/abgelehnt |
| 5016 | 400 | Interner Sendefehler |
| 5017 | 400 | Keine Sendeberechtigung für die Region China |
| 5018 | 400 | Mobiltelefonfehler (ausgeschaltet/außer Betrieb) |
| 5019 | 400 | Benutzer hat sich abgemeldet |
| 5020 | 400 | Nummer nicht registriert/leere Nummer |










