Benutzerdefinierte Nachricht senden
Wenn Sie auf der OTP-Plattform benutzerdefinierte Vorlageninhalte erstellt haben, können Sie diese Schnittstelle aufrufen, um benutzerdefinierte Nachrichteninhalte zu senden.
Anfrage-URL
POST https://otp.api.engagelab.cc/v1/custom-messages
Authentifizierung
Bitte lesen Sie Authentifizierung, um zu erfahren, wie Sie die API-Authentifizierung durchführen.
Anfrageformat
Anfrage-Header
POST /v1/custom-messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Anfragetext
{
"to": "+6591234567",
"template":{
"id":"test-template-1",
"params": {
"code": "codevalue",
"var1":"value1"
}
}
}
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 |
| template | JSON Object | Erforderlich | Vorlageninformationen, siehe untergeordnete Parameter unten |
| |_ id | String | Erforderlich | Vorlagen-ID |
| |_ params | JSON Object | Optional | Vorlagenparameter |
| _ |_ code | String | Optional | Wenn der Vorlagentyp Verifizierungscode ist, ist dieses Feld erforderlich. |
| _ |_ var | String | 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. {{var1}} |
Hinweise zu params
- Voreingestellte Vorlagenvariablen wie
{{brand_name}},{{ttl}},{{pwa_url}}usw. müssen nicht übergeben werden; das System ersetzt sie automatisch durch den beim Erstellen der Vorlage angegebenen Inhalt; - Wenn der Vorlagentyp ein Verifizierungscode ist, muss die Variable
{{code}}übergeben werden, andernfalls wird ein Fehler gemeldet; - Gleichzeitig werden auch benutzerdefinierte Variablenfelder im Vorlageninhalt, die beim Erstellen der Vorlage festgelegt wurden, über
paramsmit Werten belegt. Wenn der Vorlageninhalt beispielsweiseHi {{name}}, your verify code is {{code}}lautet, müssen Sie den Parameterparams:{"name":"Bob"}zuweisen. - Spezielle Variablen des Email-Kanals: Für den Email-Kanal können Sie über
paramsden 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.
Anfragebeispiel
1. Benutzerdefinierten Verifizierungscode senden:
{
"to": "+6591234567",
"template":{
"id":"code-template",
"params": {
"code": "123456"
}
}
}
2. Benutzerdefinierten Benachrichtigungsinhalt senden:
{
"to": "+6591234567",
"template": {
"id": "notification-template",
"params": {
"order": "123456"
}
}
}
3. Benutzerdefinierten Marketinginhalt senden:
{
"to": ["+6591234567"],
"template": {
"id": "marketing-template",
"params": {
"name": "EngageLab",
"promotion": "30%"
}
}
}
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 |
{
"message_id": "1725407449772531712",
"send_channel": "sms"
}
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"
}
Fehlercodes
| Fehlercode | HTTP-Code | Beschreibung |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen, falsches Token übermittelt |
| 2002 | 401 | Authentifizierung fehlgeschlagen, Token ist abgelaufen oder deaktiviert |
| 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 |
| 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 |










