Zustellung benutzerdefinierter Nachrichten

Wenn Sie auf der OTP-Plattform benutzerdefinierte Vorlageninhalte erstellt haben, rufen Sie diese API auf, um benutzerdefinierte Nachrichteninhalte zu senden.

Endpoint

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

Authentifizierung

Verwenden Sie zur Authentifizierung 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 Algorithmus zur Generierung von base64_auth_string lautet: base64(dev_key:dev_secret)

Anfrageformat

Anfrage-Header

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Anfrage-Body

{ "to": "+6591234567", "template": { "id": "test-template-1", "params": { "code": "codevalue", "var1": "value1" } } }
              
              {
  "to": "+6591234567",
  "template": {
    "id": "test-template-1",
    "params": {
      "code": "codevalue",
      "var1": "value1"
    }
  }
}

            
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 Typ Erforderlich Beschreibung
to String Erforderlich Zustellungsziel: eine Mobiltelefonnummer oder E-Mail-Adresse, z. B. +6598765432 oder support@engagelab.com
template JSON Object Erforderlich Vorlageninformationen. Siehe die verschachtelten Parameter unten
|_ id String Erforderlich Vorlagen-ID
|_ params JSON Object Optional Vorlagenparameter
_ |_ code String Optional Erforderlich, wenn es sich beim Vorlagentyp um einen Verifizierungscode handelt
_ |_ var String Optional Wert des benutzerdefinierten Variablenschlüssels der Vorlage. Wenn Sie beim Erstellen der Vorlage benutzerdefinierte Variablen definiert haben, weisen Sie ihnen hier Werte zu. Falls keine Werte angegeben werden, wird der Variablenschlüssel direkt zugestellt, z. B. {{var1}}

Hinweise zu params

  1. Für vordefinierte Vorlagenvariablen wie {{brand_name}}, {{ttl}} und {{pwa_url}} müssen Sie keine Werte übergeben. Das System ersetzt sie automatisch durch die Inhalte, die beim Erstellen der Vorlage festgelegt wurden.
  2. Wenn der Vorlagentyp ein Verifizierungscode ist, müssen Sie die Variable {{code}} übergeben, andernfalls wird ein Fehler zurückgegeben.
  3. Wenn der Vorlageninhalt benutzerdefinierte Variablenfelder enthält, die beim Erstellen der Vorlage definiert wurden, weisen Sie ihnen ebenfalls über params Werte zu. Für den Vorlageninhalt Hi {{name}}, your verify code is {{code}} müssen Sie beispielsweise den Parameter params: {"name":"Bob"} zuweisen.

Anfragebeispiele

1. Einen benutzerdefinierten Verifizierungscode senden

{ "to": "+6591234567", "template": { "id": "code-template", "params": { "code": "123456" } } }
              
              {
  "to": "+6591234567",
  "template": {
    "id": "code-template",
    "params": {
      "code": "123456"
    }
  }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

2. Benutzerdefinierte Benachrichtigungsinhalte senden

{ "to": "+6591234567", "template": { "id": "notification-template", "params": { "order": "123456" } } }
              
              {
  "to": "+6591234567",
  "template": {
    "id": "notification-template",
    "params": {
      "order": "123456"
    }
  }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

3. Benutzerdefinierte Marketinginhalte senden

{ "to": ["+6591234567"], "template": { "id": "marketing-template", "params": { "name": "EngageLab", "promotion": "30%" } } }
              
              {
  "to": ["+6591234567"],
  "template": {
    "id": "marketing-template",
    "params": {
      "name": "EngageLab",
      "promotion": "30%"
    }
  }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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 für die Zustellung verwendeten Kanal an. Mögliche Werte: 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 Kanal darstellt, der für die Zustellung der Nachricht an den Benutzer verwendet wird. Er gibt nur den aktuell verwendeten Kanal an. Wenn beispielsweise die in der Vorlage konfigurierte Strategie festlegt, dass bei einer fehlgeschlagenen WhatsApp-Zustellung automatisch eine erneute Zustellung über den SMS-Kanal erfolgen soll, gibt die API-Antwort whatsapp zurück. Nachdem nach einer bestimmten Zeit ein Zustellungsfehler erkannt wurde, sendet das System dann über den SMS-Kanal.

Fehlgeschlagene Antwort

Der HTTP-Statuscode ist 4xx oder 5xx, und der Antwort-Body enthält die folgenden Felder:

Field Type Required Description
code int Required Fehlercode. Weitere Informationen 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. Es wurde kein gültiges Token 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 fachliche Validierung ist fehlgeschlagen. Details finden Sie in der Fehlerbeschreibung im Feld message
3004 400 Häufigkeitslimit überschritten. Für dieselbe Vorlage und denselben Zielbenutzer kann die Zustellung innerhalb der Gültigkeitsdauer des Verifizierungscodes nicht erneut ausgelöst werden
4001 400 Zugehörige Ressource existiert nicht. Beispielsweise wurde beim Senden einer Vorlagennachricht eine nicht vorhandene Vorlage verwendet
5001 400 Senden fehlgeschlagen (allgemein/sonstige)
5011 400 Ungültiges Format der Mobiltelefonnummer
5012 400 Ziel nicht erreichbar
5013 400 Nummer wurde zur Blacklist hinzugefügt
5014 400 Inhalt entspricht nicht den Vorgaben
5015 400 Nachricht abgefangen/abgelehnt
5016 400 Interner Sendefehler
5017 400 Keine Berechtigung für den Versand nach Festlandchina
5018 400 Problem mit dem Mobilgerät (ausgeschaltet/Dienst ausgesetzt)
5019 400 Benutzer hat sich abgemeldet
5020 400 Nummer ist nicht registriert/ungültige Nummer
Icon Solid Transparent White Qiyu
Vertrieb kontaktieren