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}
              
              Authorization: Basic ${base64_auth_string}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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
              
              POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0

            
Diesen Codeblock im schwebenden Fenster anzeigen

Request Body

{ "to": "+6591234567", "template": { "id": "test-template-1", "language": "default", "params": { "key1": "value1", "key2": "value2" } } }
              
              {
  "to": "+6591234567",
  "template": {
    "id": "test-template-1",
    "language": "default",
    "params": {
      "key1": "value1",
      "key2": "value2"
    }
  }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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

  1. Für vordefinierte Felder in der Vorlage, z. B. from_id, wird bei der Zustellung der Nachricht die in der Vorlage voreingestellte from_id verwendet, wenn kein Wert für das Feld param_vars angegeben wird.
  2. Wenn ein Wert für das Feld param_vars angegeben wird, z. B. param_vars:{"from_id":"12345"}, dann wird die from_id der Vorlage bei der Zustellung der Nachricht durch 12345 ersetzt.
  3. Gleichzeitig werden auch benutzerdefinierte Variablenfelder im Vorlageninhalt, die bei der Erstellung der Vorlage erstellt wurden, über param_vars zugewiesen. Wenn der Vorlageninhalt beispielsweise Hi {{name}}, your verify code is {{code}} lautet, ist der Zuweisungsparameter param_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" }
              
              {
  "message_id": "1725407449772531712",
  "send_channel": "sms"
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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" }
              
              {
  "code": 5001,
  "message": "sms send fail"
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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
Icon Solid Transparent White Qiyu
Vertrieb kontaktieren