Template-API-Schnittstelle
Template erstellen
Endpoint
POST https://otp.api.engagelab.cc/v1/template-configs
Authentifizierung
Verwenden Sie zur Authentifizierung die HTTP-Basic-Authentifizierung und fügen Sie Authorization zum HTTP-Header hinzu:
Authorization: Basic ${base64_auth_string}
Der Generierungsalgorithmus für base64_auth_string oben lautet: base64(dev_key:dev_secret)
Anfragebeispiel
Request Header
POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Request Body
{
"template_id": "test-template-1",
"description": "测试模版1",
"send_channel_strategy": "whatsapp|sms",
"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": "email模板名称",
"template_custom_configs": [{
"language": "default",
"pre_from_name": "test",
"pre_from_mail": "test@test.com",
"pre_subject": "test",
"template_content": "预设邮件模版内容,必填,自定义变量如{{self}},验证码是{{code}}",
"pre_param_map": {
"self": "这里是self变量预设值"
}
}]
},
"pwa_config": {
"pwa_platform": "xx",
"pwa_code": "xx"
}
}
Anfrageparameter
Ein Anfrageobjekt wird im JSON-Format dargestellt, daher muss der Anfrage-Header Content-Type: application/json enthalten.
| Parameter | Type | Option | Description |
|---|---|---|---|
| template_id | String | Required | Benutzerdefinierte Template-ID, die eindeutig sein muss und auf 128 Zeichen begrenzt ist |
| description | String | Optional | Template-Beschreibung, begrenzt auf 255 Zeichen |
| send_channel_strategy | String | Required | Template-Strategie. Ein einzelner Kanal kann whatsapp, sms, email oder voice sein. Mehrere Kanäle werden durch ` |
| brand_name | String | Optional | Markenkennung. In einigen Template-Stilen mit Markensignatur ersetzt sie die Variable für die Markensignatur. Die Länge muss 2-10 Zeichen betragen |
| verify_code_config | Object | Conditionally required | Konfiguration des Verifizierungscodes. Erforderlich, wenn das Template einen Verifizierungscode-Typ enthält |
| verify_code_config.verify_code_type | Integer | Required | Verifizierungscode-Typ, Bereich [1,7]: 1-Zahlen / 2-Kleinbuchstaben / 4-Großbuchstaben. Werte können kombiniert werden (zum Beispiel bedeutet 3 Zahlen + Kleinbuchstaben) |
| verify_code_config.verify_code_len | Integer | Required | Länge des Verifizierungscodes, Bereich [4,10] |
| verify_code_config.verify_code_ttl | Integer | Required | Gültigkeitsdauer des Verifizierungscodes in Minuten, Bereich [1,10]. Wenn die Strategie whatsapp enthält, kann sie nur 1, 5 oder 10 sein |
| whatsapp_config | Object | Conditionally required | Konfiguration für die WhatsApp-Strategie. Erforderlich, wenn die Zustellungsstrategie whatsapp enthält |
| whatsapp_config.template_type | Integer | Required | WhatsApp-Template-Typ. Derzeit wird nur das Standard-Template unterstützt, daher ist der Wert fest auf 1 gesetzt |
| whatsapp_config.template_default_config | Object | Conditionally required | Konfiguration des WhatsApp-Standard-Templates. Erforderlich, wenn der WhatsApp-Template-Typ das Standard-Template ist |
| sms_config | Object | Conditionally required | Konfiguration für die SMS-Strategie. Erforderlich, wenn die Zustellungsstrategie sms enthält |
| sms_config.template_type | Integer | Required | SMS-Template-Typ: 1-Standard-Template / 2-benutzerdefiniertes Template |
| sms_config.template_default_config | Object | Conditionally required | Konfiguration des SMS-Standard-Templates. Erforderlich, wenn der SMS-Template-Typ das Standard-Template ist |
| sms_config.template_custom_config | Object | Conditionally required | Konfiguration des benutzerdefinierten SMS-Templates. Erforderlich, wenn der SMS-Template-Typ ein benutzerdefiniertes Template ist |
| sms_config.template_custom_config.custom_sub_type | String | Required | Typ des benutzerdefinierten Templates: authentication-Verifizierungscode / marketing-Marketing / utility-Benachrichtigung |
| sms_config.template_custom_config.custom_content | String | Required | Inhalt des benutzerdefinierten Templates. Für den Typ authentication muss die Variable {{code}} enthalten sein |
| sms_config.template_custom_config.custom_country_codes | String | Optional | Ziel-Länder-/Regionscodes, durch Kommas getrennt; sie werden bei der Template-Prüfung als Referenz verwendet |
| voice_config | Object | Conditionally required | Konfiguration für die Sprachstrategie. Erforderlich, wenn die Zustellungsstrategie voice enthält |
| voice_config.template_type | Integer | Required | Sprach-Template-Typ. Derzeit wird nur das Standard-Template unterstützt, daher ist der Wert fest auf 1 gesetzt |
| voice_config.template_default_config | Object | Conditionally required | Konfiguration des Standard-Sprach-Templates. Erforderlich, wenn der Sprach-Template-Typ das Standard-Template ist |
| email_config | Object | Conditionally required | Konfiguration für die E-Mail-Strategie. Erforderlich, wenn die Zustellungsstrategie email enthält |
| email_config.template_name | String | Required | Name des E-Mail-Templates |
| email_config.template_custom_configs | Array | Conditionally required | Konfigurationen benutzerdefinierter E-Mail-Templates. Erforderlich, wenn der E-Mail-Template-Typ ein benutzerdefiniertes Template ist. Mehrsprachige Konfigurationen werden unterstützt |
| email_config.template_custom_configs.language | String | Required | Sprache, wobei default die Standardsprache ist. Je nach Sprachparameter kann bei der Nachrichtenzustellung ein unterschiedlicher Template-Inhalt verwendet werden |
| email_config.template_custom_configs.pre_from_name | String | Optional | Voreingestellter Absendername |
| email_config.template_custom_configs.pre_from_mail | String | Required | Voreingestellte Absender-E-Mail-Adresse |
| email_config.template_custom_configs.pre_subject | String | Required | Voreingestellter E-Mail-Betreff |
| email_config.template_custom_configs.template_content | String | Required | E-Mail-Inhalt. HTML wird unterstützt. Variablen müssen in {{}} eingeschlossen sein |
| email_config.template_custom_configs.pre_param_map | Object | Optional | Standardwerte für Variablen im E-Mail-Inhalt, deklariert als Schlüssel-Wert-Paare. Werte müssen Strings sein |
| pwa_config | Object | Optional | PWA-bezogene Konfiguration. Derzeit optional |
| pwa_config.pwa_platform | String | Optional | Die verwendete PWA-Plattform. Den genauen Wert erhalten Sie vom technischen Support |
| pwa_config.pwa_code | String | Optional | Der innerhalb der PWA-Plattform verwendete Code |
Antwortparameter
| Field | Type | Option | Description |
|---|---|---|---|
| code | Integer | Required | Fehlercode. 0 steht für Erfolg, andere Werte für einen Fehler |
| message | String | Required | Antwortnachricht |
Erfolgreiche Antwort
{
"code": 0,
"message": "success"
}
Fehlgeschlagene Antwort
{
"code": 3003,
"message": "not contains any channel config"
}
Fehlercodes
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen; das korrekte Token wurde nicht 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 Anfrage-Body gültiges JSON ist, das dem Parameterformat entspricht |
| 3002 | 400 | Ungültige Anfrageparameter. Bitte prüfen Sie, ob die Anfrageparameter die Anforderungen erfüllen |
| 3003 | 400 | Parameterfehler auf Geschäftsebene. Bitte prüfen Sie die Beschreibung im zurückgegebenen Feld message |
Template löschen
Endpoint
DELETE /v1/template-configs/{templateId}
Authentifizierung
Verwenden Sie zur Authentifizierung die HTTP-Basic-Authentifizierung und fügen Sie Authorization zum HTTP-Header hinzu:
Authorization: Basic ${base64_auth_string}
Der Generierungsalgorithmus für base64_auth_string oben lautet: base64(dev_key:dev_secret)
Anfragebeispiel
Request Header
DELETE /v1/template-configs/{templateId} HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Request Body
Keine
Anfrageparameter
{templateId} in der URL gibt die zu löschende Template-ID an, die vom Aufrufer bei der Verwendung der API zum Erstellen von Templates definiert wird.
Antwortparameter
| Field | Type | Option | Description |
|---|---|---|---|
| code | Integer | Required | Fehlercode. 0 steht für Erfolg, andere Werte für einen Fehler |
| message | String | Required | Antwortnachricht |
Erfolgreiche Antwort
{
"code": 0,
"message": "success"
}
Fehlgeschlagene Antwort
{
"code": 4001,
"message": "config not exist"
}
Fehlercodes
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen; das korrekte Token wurde nicht 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 Anfrage-Body gültiges JSON ist, das dem Parameterformat entspricht |
| 3002 | 400 | Ungültige Anfrageparameter. Bitte prüfen Sie, ob die Anfrageparameter die Anforderungen erfüllen |
| 4001 | 400 | Template existiert nicht |
Alle Template-Listen abrufen
Diese API unterstützt derzeit keine Paginierung. Sie gibt eine Übersichts-Liste aller Templates zurück und schließt dabei hauptsächlich den spezifischen Inhalt aus. Wenn Sie detaillierte Inhalte benötigen, verwenden Sie bitte die Detail-API.
Endpoint
GET /v1/template-configs
Authentifizierung
Verwenden Sie zur Authentifizierung die HTTP-Basic-Authentifizierung und fügen Sie Authorization zum HTTP-Header hinzu:
Authorization: Basic ${base64_auth_string}
Der Generierungsalgorithmus für base64_auth_string oben lautet: base64(dev_key:dev_secret)
Anfragebeispiel
Request Header
GET /v1/template-configs HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Request Body
Keine
Anfrageparameter
Keine
Erfolgreiche Antwort
[{
"template_id": "test-template-1",
"description": "测试模版1",
"send_channel_strategy": "whatsapp|sms",
"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": "email模板名称"
},
"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
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen; das korrekte Token wurde nicht bereitgestellt |
| 2002 | 401 | Authentifizierung fehlgeschlagen; das Token ist abgelaufen oder wurde deaktiviert |
| 2004 | 403 | Keine Berechtigung, diese API aufzurufen |
| 4001 | 400 | Template existiert nicht |
Template-Details abrufen
Endpoint
GET /v1/template-configs/{templateId}
Authentifizierung
Verwenden Sie zur Authentifizierung die HTTP-Basic-Authentifizierung und fügen Sie Authorization zum HTTP-Header hinzu:
Authorization: Basic ${base64_auth_string}
Der Generierungsalgorithmus für base64_auth_string oben lautet: base64(dev_key:dev_secret)
Anfragebeispiel
Request Header
GET /v1/template-configs/custom-template-id HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Request Body
Keine
Anfrageparameter
{templateId} in der URL gibt die abzurufende Template-ID an, die vom Aufrufer bei der Verwendung der API zum Erstellen von Templates definiert wird.
Erfolgreiche Antwort
{
"template_id": "test-template-1",
"description": "测试模版1",
"send_channel_strategy": "whatsapp|sms",
"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": "email模板名称",
"template_custom_configs": [{
"language": "default",
"pre_from_name": "test",
"pre_from_mail": "test@test.com",
"pre_subject": "test",
"template_content": "预设邮件模版内容,必填,自定义变量如{{self}},验证码是{{code}}",
"pre_param_map": {
"self": "这里是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
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | Interner Fehler |
| 2001 | 401 | Authentifizierung fehlgeschlagen; das korrekte Token wurde nicht bereitgestellt |
| 2002 | 401 | Authentifizierung fehlgeschlagen; das Token ist abgelaufen oder wurde deaktiviert |
| 2004 | 403 | Keine Berechtigung, diese API aufzurufen |
| 4001 | 400 | Template existiert nicht |










