API-Dokumentation: Vorlagenverwaltung (Erstellen, Löschen, Auflisten, Details)
Diese Anleitung beschreibt, wie Sie Vorlagen (Templates) für verschiedene Kanäle wie WhatsApp, SMS, Voice und E-Mail per API effizient erstellen, löschen, auflisten und im Detail abrufen. Die Verwaltung von Vorlagen ist zentral für Authentifizierung, Benachrichtigungen und Marketing-Kampagnen. Im Folgenden finden Sie alle relevanten Endpunkte, Parameter und Fehlercodes.
Vorlage erstellen
Endpoint
POST https://otp.api.engagelab.cc/v1/template-configs
Authentifizierung
Verwenden Sie HTTP Basic Authentication, indem Sie im HTTP-Header Folgendes hinzufügen:
Authorization: Basic ${base64_auth_string}
Der base64_auth_string wird wie folgt generiert: 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
Anfrage-Body
{
"template_id": "test-template-1",
"description": "Testvorlage 1",
"send_channel_strategy": "whatsapp|sms",
"brand_name": "Brand Name",
"verify_code_config": {
"verify_code_type": 1,
"verify_code_len": 6,
"verify_code_ttl": 1
},
"whatsapp_config": {
"template_type": 1,
"template_default_config": {
"contain_security": false,
"contain_expire": false
}
},
"sms_config": {
"template_type": 2,
"template_default_config": {
"contain_security": false,
"contain_expire": false
},
"template_custom_config": {
"custom_sub_type": "authentication",
"custom_content": "xxx",
"custom_country_codes": "HK,PH"
}
},
"voice_config": {
"template_type": 1,
"template_default_config": {
"contain_security": false,
"contain_expire": false
}
},
"email_config": {
"template_name": "E-Mail-Vorlagenname",
"template_custom_configs": [{
"language": "default",
"pre_from_name": "test",
"pre_from_mail": "test@test.com",
"pre_subject": "test",
"template_content": "Voreingestellter E-Mail-Vorlagentext, erforderlich. Benutzerdefinierte Variablen wie {{self}}, Verifizierungscode ist {{code}}",
"pre_param_map": {
"self": "Dies ist der voreingestellte Wert für die Variable self"
}
}]
},
"pwa_config": {
"pwa_platform": "xx",
"pwa_code": "xx"
}
}
Anfrageparameter
Das Anfrageobjekt wird im JSON-Format übermittelt. Der Header muss Content-Type: application/json enthalten.
| Parameter | Typ | Option | Beschreibung |
|---|---|---|---|
| template_id | String | Erforderlich | Benutzerdefinierte Vorlagen-ID, eindeutig, max. 128 Zeichen |
| description | String | Optional | Vorlagenbeschreibung, max. 255 Zeichen |
| send_channel_strategy | String | Erforderlich | Versandstrategie. Einzelkanal: whatsapp/sms/email/voice. Mehrere Kanäle mit ` |
| brand_name | String | Optional | Markenname, ersetzt die Markensignatur-Variable in einigen Vorlagenstilen. Länge 2–10 Zeichen |
| verify_code_config | Objekt | Bedingt erforderlich | Konfiguration für Verifizierungscode, erforderlich bei Vorlagen mit Verifizierungscode |
| verify_code_config.verify_code_type | Integer | Erforderlich | Typ des Verifizierungscodes, Wertebereich [1,7]. 1-Zahlen/2-Kleinbuchstaben/4-Großbuchstaben. Kombinierbar (z. B. 3 = Zahlen + Kleinbuchstaben) |
| verify_code_config.verify_code_len | Integer | Erforderlich | Länge des Verifizierungscodes, Wertebereich [4,10] |
| verify_code_config.verify_code_ttl | Integer | Erforderlich | Gültigkeitsdauer des Verifizierungscodes in Minuten, Wertebereich [1,10]. Bei WhatsApp-Strategie nur 1, 5 oder 10 möglich |
| whatsapp_config | Objekt | Bedingt erforderlich | WhatsApp-Strategiekonfiguration, erforderlich bei Versandstrategie WhatsApp |
| whatsapp_config.template_type | Integer | Erforderlich | WhatsApp-Vorlagentyp, aktuell nur Standardvorlage, fester Wert 1 |
| whatsapp_config.template_default_config | Objekt | Bedingt erforderlich | WhatsApp-Standardvorlagenkonfiguration, erforderlich für Standardvorlagentyp |
| sms_config | Objekt | Bedingt erforderlich | SMS-Strategiekonfiguration, erforderlich bei Versandstrategie SMS |
| sms_config.template_type | Integer | Erforderlich | SMS-Vorlagentyp, 1-Standardvorlage/2-Benutzerdefinierte Vorlage |
| sms_config.template_default_config | Objekt | Bedingt erforderlich | SMS-Standardvorlagenkonfiguration, erforderlich für Standardvorlagentyp |
| sms_config.template_custom_config | Objekt | Bedingt erforderlich | SMS-Benutzerdefinierte Vorlagenkonfiguration, erforderlich für benutzerdefinierten Vorlagentyp |
| sms_config.template_custom_config.custom_sub_type | String | Erforderlich | Benutzerdefinierter Vorlagentyp: authentication (Verifizierungscode) / marketing (Marketing) / utility (Benachrichtigung) |
| sms_config.template_custom_config.custom_content | String | Erforderlich | Benutzerdefinierter Vorlagentext. Für authentication muss die Variable {{code}} enthalten sein |
| sms_config.template_custom_config.custom_country_codes | String | Optional | Ziel-Länder-/Regionencodes, kommasepariert, als Referenz für die Vorlagenprüfung |
| voice_config | Objekt | Bedingt erforderlich | Sprach-Strategiekonfiguration, erforderlich bei Versandstrategie Voice |
| voice_config.template_type | Integer | Erforderlich | Sprachvorlagentyp, aktuell nur Standardvorlage, fester Wert 1 |
| voice_config.template_default_config | Objekt | Bedingt erforderlich | Sprach-Standardvorlagenkonfiguration, erforderlich für Standardvorlagentyp |
| email_config | Objekt | Bedingt erforderlich | E-Mail-Strategiekonfiguration, erforderlich bei Versandstrategie E-Mail |
| email_config.template_name | String | Erforderlich | Name der E-Mail-Vorlage |
| email_config.template_custom_configs | Array | Bedingt erforderlich | Benutzerdefinierte E-Mail-Vorlagenkonfiguration, erforderlich für benutzerdefinierten Vorlagentyp, unterstützt mehrsprachige Konfiguration |
| email_config.template_custom_configs.language | String | Erforderlich | Sprache, „default“ ist Standard. Vorlageninhalt kann beim Versand anhand des language-Parameters zugeordnet werden |
| email_config.template_custom_configs.pre_from_name | String | Optional | Voreingestellter Absendername |
| email_config.template_custom_configs.pre_from_mail | String | Erforderlich | Voreingestellte Absender-E-Mail |
| email_config.template_custom_configs.pre_subject | String | Erforderlich | Voreingestellter E-Mail-Betreff |
| email_config.template_custom_configs.template_content | String | Erforderlich | E-Mail-Inhalt, unterstützt HTML. Variablen müssen in doppelten geschweiften Klammern {{}} gesetzt werden |
| email_config.template_custom_configs.pre_param_map | Objekt | Optional | Standardwerte für Variablen im E-Mail-Inhalt. Schlüssel-Wert-Paare, Werte als String |
| pwa_config | Objekt | Optional | PWA-bezogene Konfiguration |
| pwa_config.pwa_platform | String | Optional | Verwendete PWA-Plattform |
| pwa_config.pwa_code | String | Optional | Code in der verwendeten PWA-Plattform |
Antwortparameter
| Feld | Typ | Option | Beschreibung |
|---|---|---|---|
| code | Integer | Erforderlich | Fehlercode, 0 steht für Erfolg, andere Werte für Fehler |
| message | String | Erforderlich | Statusmeldung |
Erfolgreiche Antwort
{
"code": 0,
"message": "success"
}
Fehlgeschlagene Antwort
{
"code": 3003,
"message": "not contains any channel config"
}
Fehlercodes
| Fehlercode | HTTP-Code | Beschreibung |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen, falsches Token |
| 2002 | 401 | Authentifizierung fehlgeschlagen, Token abgelaufen oder deaktiviert |
| 2004 | 403 | Keine Berechtigung für diesen API-Aufruf |
| 3001 | 400 | Ungültiges Anfrageparameterformat, prüfen Sie das JSON-Format |
| 3002 | 400 | Ungültige Anfrageparameter, Anforderungen prüfen |
| 3003 | 400 | Fehler auf Geschäftsebene, Details siehe message-Feld |
Vorlage löschen
Endpoint
DELETE /v1/template-configs/{templateId}
Authentifizierung
Verwenden Sie HTTP Basic Authentication, indem Sie im HTTP-Header Folgendes hinzufügen:
Authorization: Basic ${base64_auth_string}
Der base64_auth_string wird wie folgt generiert: base64(dev_key:dev_secret)
Beispiel für eine Anfrage
Anfrage-Header
DELETE /v1/template-configs/{templateId} HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Anfrage-Body
Nicht erforderlich
Anfrageparameter
{templateId} in der URL steht für die zu löschende Vorlagen-ID, die beim Erstellen festgelegt wurde.
Antwortparameter
| Feld | Typ | Option | Beschreibung |
|---|---|---|---|
| code | Integer | Erforderlich | Fehlercode, 0 steht für Erfolg, andere Werte für Fehler |
| message | String | Erforderlich | Statusmeldung |
Erfolgreiche Antwort
{
"code": 0,
"message": "success"
}
Fehlgeschlagene Antwort
{
"code": 4001,
"message": "config not exist"
}
Fehlercodes
| Fehlercode | HTTP-Code | Beschreibung |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen, falsches Token |
| 2002 | 401 | Authentifizierung fehlgeschlagen, Token abgelaufen oder deaktiviert |
| 2004 | 403 | Keine Berechtigung für diesen API-Aufruf |
| 3001 | 400 | Ungültiges Anfrageparameterformat, prüfen Sie das JSON-Format |
| 3002 | 400 | Ungültige Anfrageparameter, Anforderungen prüfen |
| 4001 | 400 | Vorlage existiert nicht |
Alle Vorlagen auflisten
Aktuell unterstützt diese API keine Paginierung und gibt eine Kurzliste aller Vorlagen zurück. Für detaillierte Inhalte nutzen Sie bitte die Detail-API.
Endpoint
GET /v1/template-configs
Authentifizierung
Verwenden Sie HTTP Basic Authentication. Fügen Sie den Authorization-Header hinzu:
Authorization: Basic ${base64_auth_string}
Der base64_auth_string wird mit base64(dev_key:dev_secret) generiert.
Beispiel für eine Anfrage
Anfrage-Header
GET /v1/template-configs HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Anfrage-Body
Nicht erforderlich
Anfrageparameter
Keine
Erfolgreiche Antwort
[{
"template_id": "test-template-1",
"description": "Testvorlage 1",
"send_channel_strategy": "whatsapp|sms",
"brand_name": "Brand Name",
"verify_code_config": {
"verify_code_type": 1,
"verify_code_len": 6,
"verify_code_ttl": 1
},
"whatsapp_config": {
"template_type": 1
},
"sms_config": {
"template_type": 2,
"template_parts": 1
},
"voice_config": {
"template_type": 1
},
"email_config": {
"template_name": "E-Mail-Vorlagenname"
},
"pwa_config": {
"pwa_platform": "xx",
"pwa_code": "xx"
},
"created_time": 1234567890,
"status": 1,
"audit_remark": "xx"
}]
Fehlgeschlagene Antwort
{
"code": 4001,
"message": "config not exist"
}
Fehlercodes
| Fehlercode | HTTP-Code | Beschreibung |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen, falsches Token |
| 2002 | 401 | Authentifizierung fehlgeschlagen, Token abgelaufen oder deaktiviert |
| 2004 | 403 | Keine Berechtigung für diesen API-Aufruf |
| 4001 | 400 | Vorlage existiert nicht |
Vorlagendetails abrufen
Endpoint
GET /v1/template-configs/{templateId}
Authentifizierung
Verwenden Sie HTTP Basic Authentication. Fügen Sie den Authorization-Header hinzu:
Authorization: Basic ${base64_auth_string}
Der base64_auth_string wird mit base64(dev_key:dev_secret) generiert.
Beispiel für eine Anfrage
Anfrage-Header
GET /v1/template-configs/custom-template-id HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Anfrage-Body
Nicht erforderlich
Anfrageparameter
{templateId} in der URL steht für die abzurufende Vorlagen-ID.
Erfolgreiche Antwort
{
"template_id": "test-template-1",
"description": "Testvorlage 1",
"send_channel_strategy": "whatsapp|sms",
"brand_name": "Brand Name",
"verify_code_config": {
"verify_code_type": 1,
"verify_code_len": 6,
"verify_code_ttl": 1
},
"whatsapp_config": {
"template_type": 1
},
"sms_config": {
"template_type": 2,
"template_parts": 1,
"template_custom_config": {
"custom_sub_type": "authentication",
"custom_content": "xxx"
}
},
"voice_config": {
"template_type": 1
},
"email_config": {
"template_name": "E-Mail-Vorlagenname",
"template_custom_configs": [{
"language": "default",
"pre_from_name": "test",
"pre_from_mail": "test@test.com",
"pre_subject": "test",
"template_content": "Voreingestellter E-Mail-Vorlagentext, erforderlich. Benutzerdefinierte Variablen wie {{self}}, Verifizierungscode ist {{code}}",
"pre_param_map": {
"self": "Dies ist der Standardwert für die Variable self"
}
}]
},
"pwa_config": {
"pwa_platform": "xx",
"pwa_code": "xx"
},
"created_time": 1234567890,
"status": 1,
"audit_remark": "xx"
}
Fehlgeschlagene Antwort
{
"code": 4001,
"message": "config not exist"
}
Fehlercodes
| Fehlercode | HTTP-Code | Beschreibung |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen, falsches Token |
| 2002 | 401 | Authentifizierung fehlgeschlagen, Token abgelaufen oder deaktiviert |
| 2004 | 403 | Keine Berechtigung für diesen API-Aufruf |
| 4001 | 400 | Vorlage existiert nicht |
Hinweise zur Nutzung und Best Practices
- Verwenden Sie für alle API-Aufrufe stets die aktuelle Vorlagen-ID („template_id“).
- Platzhalter wie
{{code}}oder{{self}}dürfen nicht übersetzt oder verändert werden. - Für alle Kanäle (WhatsApp, SMS, Voice, E-Mail) können Sie individuelle Vorlagen konfigurieren und so gezielt Authentifizierung, Benachrichtigung und Marketing automatisieren.
- Beachten Sie die jeweiligen Wertebereiche und Vorgaben für Verifizierungscode, Vorlagentyp und Kanalstrategie.
- Nutzen Sie die API-Fehlercodes zur schnellen Fehlerdiagnose und Optimierung Ihrer Prozesse.
Aktionen
- Vorlage erstellen
- Vorlage löschen
- Vorlagen auflisten
- Vorlagendetails abrufen
Mit dieser API-Dokumentation verwalten Sie Ihre Vorlagen für Verifizierungscode, Authentifizierung, Benachrichtigung und Marketing effizient und sicher über alle relevanten Kanäle hinweg.

