logoDokumentation
Suchen

Custom OTP Code Delivery - Secure Transmission and Best Practices

Wenn Sie den Verifizierungscode lieber selbst generieren möchten, anstatt die EngageLab-Plattform zu verwenden, können Sie diese API aufrufen.

Diese API dient ausschließlich dem Versand bereits generierter Verifizierungscodes und generiert die Codes nicht selbst. Nach dem Versand des Verifizierungscodes ist kein weiterer Aufruf der Verifizierungs-API zur Validierung erforderlich.

Wenn Sie möchten, dass die EngageLab-Plattform den Verifizierungscode generiert, nutzen Sie bitte die EngageLab OTP Send API.

Endpoint

POST https://otp.api.engagelab.cc/v1/codes

Authentifizierung

Zur Verifizierung wird HTTP Basic Authentication verwendet. Fügen Sie im HTTP-Header eine Authorization hinzu:

Authorization: Basic ${base64_auth_string}
              
              Authorization: Basic ${base64_auth_string}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Der base64_auth_string wird wie folgt generiert: base64(dev_key:dev_secret)

Beispiel für eine Anfrage

Request Header

POST /v1/codes HTTP/1.1 Content-Type: application/json Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              POST /v1/codes  HTTP/1.1  
Content-Type: application/json  
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0

            
Diesen Codeblock im schwebenden Fenster anzeigen

Request Body

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Anfrageparameter

Das Anfrageobjekt wird im JSON-Format übermittelt, daher muss der Request-Header Content-Type: application/json enthalten.

Parameter Typ Pflichtfeld Beschreibung
to String Erforderlich Zieladresse, entweder eine Telefonnummer oder E-Mail-Adresse, z. B. +8613800138000 oder support@engagelab.com
code String Erforderlich Der benutzerdefinierte Verifizierungscode
template JSON-Objekt Erforderlich Template-Informationen, einschließlich der folgenden Unterparameter
|_ id String Erforderlich Template-ID
|_ language String Optional Sprache des Templates, unterstützt folgende Optionen:
default (Standardsprache)
zh_CN (Vereinfachtes Chinesisch)
zh_HK (Traditionelles Chinesisch)
en (Englisch)
ja (Japanisch)
th (Thailändisch)
es (Spanisch)
Wird keine Sprache angegeben, wird standardmäßig „default“ verwendet.
|_ params JSON-Objekt Optional Benutzerdefinierte Werte für Template-Variablen. Wenn Sie beim Erstellen des Templates Variablen definiert haben, geben Sie deren Werte hier an. Andernfalls werden die Variablenschlüssel als Platzhalter versendet, z. B. {{var}}

Hinweise zu params

  1. Für Templates mit vordefinierten Feldern wie from_id gilt: Wird kein Wert für das Feld param_vars übergeben, verwendet die Nachricht beim Versand den im Template hinterlegten from_id-Wert.
  2. Werden Werte für param_vars übergeben, z. B. param_vars:{"from_id":"12345"}, ersetzt beim Versand der Wert 12345 den im Template hinterlegten from_id.
  3. Ebenso können benutzerdefinierte Variablen im Template-Inhalt über param_vars zugewiesen werden, z. B. für den Template-Text Hi {{name}}, your verify code is {{code}} erfolgt die Zuweisung mit param_vars:{"name":"Bob"}.

Antwortparameter

Erfolgreiche Antwort

Feld Typ Pflichtfeld Beschreibung
message_id String Erforderlich Nachrichten-ID, eindeutig zur Identifizierung einer Nachricht
send_channel String Erforderlich Gibt den aktuellen Versandkanal an, z. B. WhatsApp/SMS/E-Mail/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 von send_channel nicht den endgültigen Versandkanal an die Nutzer:innen darstellt, sondern nur den aktuellen Versandweg. Ist beispielsweise im Template eine Strategie hinterlegt, bei Zustellfehler von WhatsApp auf SMS umzuschalten, zeigt die API zunächst WhatsApp an. Wird ein Fehler erkannt, erfolgt der Versand automatisch per SMS.

Fehlerantwort

Bei einem HTTP-Statuscode 4xx oder 5xx enthält der Response-Body folgende Felder:

Feld Typ Pflichtfeld Beschreibung
code int Erforderlich Fehlercode, siehe Fehlercodes für Details
message String Erforderlich Fehlerbeschreibung
{ "code": 5001, "message": "sms send fail" }
              
              {
    "code": 5001,
    "message": "sms send fail"
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Fehlercodes

Fehlercode HTTP-Code Beschreibung
1000 500 Interner Fehler
2001 401 Authentifizierung fehlgeschlagen, Token falsch oder fehlt
2002 401 Authentifizierung fehlgeschlagen, Token abgelaufen oder deaktiviert
2004 403 Keine Berechtigung für diesen API-Aufruf
3001 400 Ungültiges Anfrageparameter-Format, bitte prüfen Sie das JSON-Format
3002 400 Falsche Anfrageparameter, bitte gemäß Vorgaben prüfen
3003 400 Falsche Anfrageparameter, Geschäftsvalidierung fehlgeschlagen, Details siehe message-Feld
3004 400 Frequenzlimit überschritten, es kann nicht erneut an dieselbe Vorlage und Zielnutzer:in innerhalb der OTP-Gültigkeitsdauer gesendet werden
4001 400 Zugehörige Ressource existiert nicht, z. B. nicht vorhandenes Template für den Versand verwendet
5001 400 Senden fehlgeschlagen (allgemein/andere Gründe)
5011 400 Ungültiges Telefonnummernformat
5012 400 Ziel nicht erreichbar
5013 400 Nummer zur Sperrliste hinzugefügt
5014 400 Inhalt entspricht nicht den Vorschriften
5015 400 Nachricht blockiert/abgelehnt
5016 400 Internes Sendeproblem
5017 400 Keine Berechtigung zum Senden in der Region China
5018 400 Telefonfehler (ausgeschaltet/deaktiviert)
5019 400 Benutzer hat abbestellt
5020 400 Nummer nicht registriert/ungültige Nummer
icon
Vertrieb kontaktieren