logoDokumentation
Suchen

Custom Messages Delivery

Wenn Sie auf der OTP-Plattform eigene Vorlageninhalte erstellt haben, können Sie diese API nutzen, um individuelle Nachrichteninhalte zu versenden.

API-Endpunkt

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

Authentifizierung

Zur Authentifizierung wird HTTP Basic Authentication verwendet. Fügen Sie den Authorization-Header in die HTTP-Anfrage ein:

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Der base64_auth_string wird nach folgendem Schema generiert: 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": "+8618701235678", "template":{ "id":"test-template-1", "params": { "code": "codevalue", "var1":"value1" } } }
              
              {
    "to": "+8618701235678", 
    "template":{
      "id":"test-template-1",
      "params": {
        "code": "codevalue",
        "var1":"value1"
        }
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Anfrageparameter

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

Parameter Typ Erforderlich Beschreibung
to String Ja Empfänger (Telefonnummer oder E-Mail-Adresse), z. B. +8613800138000 oder support@engagelab.com.
template JSON-Objekt Ja Vorlageninformationen. Siehe Unterparameter unten.
|_ id String Ja Vorlagen-ID.
|_ params JSON-Objekt Optional Vorlagenparameter.
_ |_ code String Optional Erforderlich, wenn der Vorlagentyp ein Verifizierungscode ist.
_ |_ var String Optional Werte für benutzerdefinierte Vorlagenvariablen. Wenn Variablen bei der Erstellung der Vorlage definiert wurden, hier deren Werte übergeben. Wird kein Wert übergeben, wird der Variablenname als Platzhalter (z. B. {{var1}}) gesendet.

Hinweise zu params:

Für vordefinierte Variablen wie {{brand_name}}, {{ttl}} und {{pwa_url}} müssen keine Werte übergeben werden – das System ersetzt diese automatisch durch die bei der Vorlagenerstellung festgelegten Inhalte.

Handelt es sich um einen Verifizierungscode, muss die Variable {{code}} übergeben werden, andernfalls tritt ein Fehler auf.

Für benutzerdefinierte Variablen, die im Vorlageninhalt definiert wurden, müssen Werte über params zugewiesen werden. Beispiel: Ist der Vorlageninhalt „Hi {{name}}, your verify code is {{code}}“, sollte params:{"name":"Bob"} übergeben werden.

Anfragebeispiele

1. Versand eines individuellen Verifizierungscodes:

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

2. Versand einer individuellen Benachrichtigung:

{ "to": ["+8618701235678"], "template": { "id": "notification-template", "params": { "order": "123456" } } }
              
              {
    "to": ["+8618701235678"],
    "template": {
        "id": "notification-template",
        "params": {
            "order": "123456"
        }
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

3. Versand individueller Marketinginhalte:

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Antwortparameter

Erfolgreiche Antwort

Feld Typ Erforderlich Beschreibung
message_id String Ja Die eindeutige ID der Nachricht.
send_channel String Ja Verwendeter Versandkanal. 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

Hinweis: Der zurückgegebene Wert von send_channel gibt nicht den endgültigen Zustellkanal an, sondern nur den aktuell verwendeten Kanal. Ist beispielsweise eine Strategie konfiguriert, bei der nach einem WhatsApp-Fehlschlag automatisch auf SMS umgestellt wird, gibt die API zunächst whatsapp zurück. Bei Fehlschlag erfolgt die Zustellung automatisch per SMS.

Fehlgeschlagene Antwort

Der HTTP-Statuscode ist 4xx oder 5xx; der Antwortkörper enthält folgende Felder:

Feld Typ Erforderlich Beschreibung
code int Fehlercode. Details siehe Fehlercodes.
message String Ja Fehlerdetails.
{ "code": 5001, "message": "sms send fail" }
              
              {
    "code": 5001,
    "message": "sms send fail"
}

            
Diesen Codeblock im schwebenden Fenster anzeigen
Fehlercode http code Beschreibung
1000 500 Interner Fehler.
2001 401 Authentifizierung fehlgeschlagen: ungültiges oder fehlendes Token.
2002 401 Authentifizierung fehlgeschlagen: Token abgelaufen oder deaktiviert.
2004 403 Keine Berechtigung für diesen API-Aufruf.
3001 400 Ungültiges Anfrageparameter-Format. Stellen Sie sicher, dass der JSON-Inhalt dem erforderlichen Format entspricht.
3002 400 Ungültige Anfrageparameter. Prüfen Sie, ob die Parameter den Anforderungen entsprechen.
3003 400 Geschäftliche Validierung fehlgeschlagen. Details siehe message-Feld.
3004 400 Rate-Limit überschritten. Für dieselbe Vorlage und Empfänger kann während der Gültigkeitsdauer kein weiterer Verifizierungscode versendet werden.
4001 400 Ressource nicht gefunden (z. B. wurde eine nicht existierende Vorlage 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