logoDokumentation
Suchen

Sending OTP Codes Securely - Explore Delivery Methods and Best Practices

Diese API generiert den Verifizierungscode über die EngageLab-Plattform und versendet ihn entsprechend der im Template festgelegten Kanalstrategie.

Wenn Sie den Verifizierungscode lieber selbst generieren möchten, anstatt die EngageLab-Plattform zu nutzen, können Sie die EngageLab Custom OTP Send API aufrufen.

Endpoint

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

Authentifizierung

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

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Der Algorithmus zur Generierung des base64_auth_string lautet: base64(dev_key:dev_secret)

Beispiel für eine Anfrage

Anfrage-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

Anfrage-Body

{ "to": "+8618701235678", "template":{ "id":"test-template-1", "language": "default", "params": { "key1": "value1", "key2": "value2" } } }
              
              {
    "to": "+8618701235678",
    "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 übergeben, daher muss der Anfrage-Header Content-Type: application/json enthalten.

Parameter Typ Option Beschreibung
to String Erforderlich Ziel, entweder eine Telefonnummer oder E-Mail-Adresse, z. B. +8613800138000, support@engagelab.com
template JSON-Objekt Erforderlich Template-Informationen, einschließlich der untenstehenden Unterparameter
|_ id String Erforderlich Template-ID
|_ language String Optional Templatesprache, unterstützt folgende Optionen:
default (Standardsprache)
zh_CN (Vereinfachtes Chinesisch)
zh_HK (Traditionelles Chinesisch)
en (Englisch)
ja (Japanisch)
th (Thailändisch)
es (Spanisch)
Wenn nicht angegeben, wird standardmäßig „default“ verwendet.
|_ params JSON-Objekt Optional Benutzerdefinierte Template-Variablenwerte. Wenn Sie beim Erstellen des Templates Variablen definiert haben, übergeben Sie deren Werte hier. Wenn nicht angegeben, werden die Variablenschlüssel wie angegeben versendet, z. B. {{var}}

Hinweise zu params

  1. Für Templates mit vordefinierten Feldern wie from_id gilt: Wird der Wert für das Feld param_vars nicht übergeben, verwendet die Nachricht beim Versand die im Template vordefinierte from_id.
  2. Werden Werte für das Feld param_vars übergeben, z. B. param_vars:{"from_id":"12345"}, wird beim Versand die from_id des Templates durch 12345 ersetzt.
  3. Ebenso können Sie für benutzerdefinierte Variablenfelder im Template-Inhalt Werte über param_vars zuweisen, z. B. für den Template-Inhalt Hi {{name}}, your verify code is {{code}} übergeben Sie die Parameter mit param_vars:{"name":"Bob"}.

Antwortparameter

Erfolgreiche Antwort

Feld Typ Option Beschreibung
message_id String Erforderlich Message-ID, identifiziert eine Nachricht eindeutig
send_channel String Erforderlich Gibt den aktuellen Versandkanal an, Optionen: whatsapp/sms/email/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 Versandschritt. Ist beispielsweise im Template eine Strategie hinterlegt, bei Zustellfehler von WhatsApp auf SMS zurückzufallen, zeigt die API-Rückgabe zunächst whatsapp an. Wird später ein Zustellfehler erkannt, nutzt das System für den Versand den SMS-Kanal.

Fehlerantwort

HTTP-Statuscode 4xx oder 5xx, der Antwort-Body enthält folgende Felder:

Feld Typ Option Beschreibung
code int Erforderlich Fehlercode, siehe Fehlercodes für Details
message String Erforderlich Fehlerdetails
{ "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 fehlt oder ist falsch
2002 401 Authentifizierung fehlgeschlagen, Token abgelaufen oder deaktiviert
2004 403 Keine Berechtigung, diese API aufzurufen
3001 400 Ungültiges Anfrageparameterformat, bitte prüfen, ob das JSON-Format eingehalten wird
3002 400 Fehlerhafte Anfrageparameter, bitte Anforderungen überprüfen
3003 400 Fehlerhafte Anfrageparameter, Geschäftsvalidierung fehlgeschlagen, Details siehe message-Feld
3004 400 Frequenzlimit überschritten, erneutes Senden an das gleiche Template und Ziel innerhalb der OTP-Gültigkeitsdauer nicht möglich
4001 400 Zugehörige Ressource existiert nicht, z. B. nicht existierendes 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