OTP senden

Diese Schnittstelle dient dazu, einen Verifizierungscode von der EngageLab-Plattform generieren zu lassen und ihn gemäß der in der Vorlage festgelegten Kanalstrategie zu senden.

Wenn Sie den Verifizierungscode lieber selbst generieren möchten, statt ihn von der EngageLab-Plattform generieren zu lassen, können Sie die Schnittstelle EngageLab OTP – Benutzerdefiniertes OTP senden aufrufen.

Anfrage-URL

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

Authentifizierung

Bitte lesen Sie Authentifizierung, um zu erfahren, wie Sie die API-Authentifizierung durchführen.

Anfragebeispiel

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

Anfragetext

{ "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 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
end_user_ip String Optional IP-Adresse des Endbenutzers. Wird verwendet, wenn das Anfragelimit derselben IP-Adresse in verschiedenen Zeitfenstern begrenzt werden soll, z. B.: 10.3.5.7
channel String Optional Gibt den ersten Sendekanal an. Werte: sms/voice/zalo/viber. Wird er weggelassen, erfolgt das Routing gemäß send_channel_strategy der Vorlage.
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

  1. Für in der Vorlage voreingestellte Felder wie from_id gilt: Wenn der Feldwert in params nicht übergeben wird, wird beim Senden der Nachricht das voreingestellte from_id der Vorlage verwendet;
  2. Wird ein Feldwert in params übergeben, z. B. params:{"from_id":"12345"}, wird das from_id der Vorlage beim Senden der Nachricht durch 12345 ersetzt;
  3. Gleichzeitig werden auch benutzerdefinierte Variablenfelder im Vorlageninhalt, die beim Erstellen der Vorlage festgelegt wurden, über params mit Werten belegt. Wenn der Vorlageninhalt beispielsweise Hi {{name}}, your verify code is {{code}} lautet, müssen Sie den Parameter params:{"name":"Bob"} zuweisen.
  4. Spezielle Variablen des Email-Kanals: Für den Email-Kanal können Sie über params den 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/zalo/viber
{ "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ü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" }
              
              {
    "code": 5001,
    "message": "sms send fail"
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Fehlercodes

Die folgende Tabelle beschreibt nur Fehler, die diese API während der Authentifizierung, der Vorabprüfung vor dem Versand und der synchronen Übermittlung zurückgibt. Asynchrone Zustellfehler nach Annahme durch den Anbieter werden von dieser API nicht zurückgegeben; rufen Sie sie über die Nachrichtenstatusabfrage oder Callbacks ab.

Aufrufer sollten code verwenden, um den Fehlertyp zu bestimmen. message dient zur Anzeige des konkreten Grunds oder zur Fehlersuche; verlassen Sie sich nicht auf festen message-Text für die Geschäftslogik.

Fehlercode HTTP-Code Beschreibung
1000 500 Interner Fehler
2001 401 Authentifizierung fehlgeschlagen, falsches Token übermittelt
2002 401 Authentifizierung fehlgeschlagen, Token ist abgelaufen oder deaktiviert
2003 403 Diese IP darf keine Nachrichten senden.
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
3005 400 Unzureichendes verfügbares Kontoguthaben
3013 400 Vorlage nicht freigegeben oder derzeit nicht verfügbar
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
6001 429 Sendefrequenz für dieselbe Mobilfunknummer überschritten; das Limitfenster kann pro Minute, Stunde oder Kalendertag sein
6002 429 Sendefrequenz für dieselbe Endbenutzer-IP überschritten; das Limitfenster kann pro Minute oder Stunde sein; wird nur geprüft, wenn end_user_ip in der Anfrage enthalten ist
6003 429 Globales tägliches oder monatliches Sendervolumen der Anwendung hat das Limit erreicht
6006 403 Senden ist für das aktuelle Land oder die Region nicht erlaubt
6007 403 Der SMS-Verifizierungscode-Versandservice ist ausgesetzt; kann für alle Länder/Regionen oder das aktuelle Land/die Region gelten
6008 429 Tägliches oder monatliches Sendervolumen für das aktuelle Land oder die Region hat das Limit erreicht

Hinweise zu Ratenbegrenzungs- und Sendervolumenfehlern

  • 3004 ist die Vorlagen-Ratenkontrolle für OTP-Versand; das Limitfenster richtet sich nach der Vorlagenkonfiguration und entspricht nicht unbedingt der Gültigkeitsdauer des Verifizierungscodes.
  • 6001 und 6002 sind Sicherheitsratenkontrollen auf Nummer- oder Endbenutzer-IP-Ebene.
  • 6003 und 6008 bedeuten, dass diese Anfrage ein Sendervolumenlimit ausgelöst hat; nach Erreichen des Limits und Eintritt in den Aussetzungszustand können nachfolgende Anfragen 6007 zurückgeben.
  • Bei HTTP 429 nicht sofort fortlaufend erneut versuchen; später erneut versuchen und bei anhaltendem Auftreten einen Administrator oder den technischen Support kontaktieren.
  • 5011 bis 5019 decken nur Fehler ab, die in der synchronen Übermittlungsphase erkennbar sind. Status wie leere Nummern, ausgeschaltete Telefone oder Ablehnungen durch den Netzbetreiber nach Annahme durch den Anbieter können weiterhin über asynchronen Nachrichtenstatus oder Callbacks zurückgegeben werden.
Icon Solid Transparent White Qiyu
Vertrieb kontaktieren