Antarmuka API Template
Buat Template
Endpoint
POST https://otp.api.engagelab.cc/v1/template-configs
Autentikasi
Gunakan HTTP Basic Authentication untuk autentikasi, lalu tambahkan Authorization ke header HTTP:
Authorization: Basic ${base64_auth_string}
Algoritma pembentukan base64_auth_string di atas adalah: base64(dev_key:dev_secret)
Contoh Permintaan
Header Permintaan
POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Body Permintaan
{
"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"
}
}
Parameter Permintaan
Objek permintaan dinyatakan dalam format JSON, sehingga header permintaan harus menyertakan Content-Type: application/json.
| Parameter | Type | Option | Description |
|---|---|---|---|
| template_id | String | Required | ID template kustom yang harus unik, dengan panjang maksimum 128 karakter |
| description | String | Optional | Deskripsi template, dengan panjang maksimum 255 karakter |
| send_channel_strategy | String | Required | Strategi template. Satu saluran dapat berupa whatsapp, sms, email, atau voice. Beberapa saluran dipisahkan dengan ` |
| brand_name | String | Optional | Identitas merek. Dalam beberapa gaya template dengan tanda tangan merek, nilai ini menggantikan variabel tanda tangan merek. Panjangnya harus 2-10 karakter |
| verify_code_config | Object | Conditionally required | Konfigurasi kode verifikasi. Wajib diisi saat template menyertakan jenis kode verifikasi |
| verify_code_config.verify_code_type | Integer | Required | Jenis kode verifikasi, dengan rentang [1,7]: 1-angka / 2-huruf kecil / 4-huruf besar. Nilai dapat digabungkan, misalnya 3 berarti angka + huruf kecil |
| verify_code_config.verify_code_len | Integer | Required | Panjang kode verifikasi, dengan rentang [4,10] |
| verify_code_config.verify_code_ttl | Integer | Required | Masa berlaku kode verifikasi dalam menit, dengan rentang [1,10]. Saat strategi mencakup whatsapp, nilainya hanya dapat berupa 1, 5, atau 10 |
| whatsapp_config | Object | Conditionally required | Konfigurasi untuk strategi WhatsApp. Wajib diisi saat strategi pengiriman mencakup whatsapp |
| whatsapp_config.template_type | Integer | Required | Jenis template WhatsApp. Saat ini, hanya template default yang didukung, sehingga nilainya tetap 1 |
| whatsapp_config.template_default_config | Object | Conditionally required | Konfigurasi template default WhatsApp. Wajib diisi saat jenis template WhatsApp adalah template default |
| sms_config | Object | Conditionally required | Konfigurasi untuk strategi SMS. Wajib diisi saat strategi pengiriman mencakup sms |
| sms_config.template_type | Integer | Required | Jenis template SMS: 1-template default / 2-template kustom |
| sms_config.template_default_config | Object | Conditionally required | Konfigurasi template default SMS. Wajib diisi saat jenis template SMS adalah template default |
| sms_config.template_custom_config | Object | Conditionally required | Konfigurasi template kustom SMS. Wajib diisi saat jenis template SMS adalah template kustom |
| sms_config.template_custom_config.custom_sub_type | String | Required | Jenis template kustom: authentication-kode verifikasi / marketing-pemasaran / utility-notifikasi |
| sms_config.template_custom_config.custom_content | String | Required | Konten template kustom. Untuk jenis authentication, harus menyertakan variabel {{code}} |
| sms_config.template_custom_config.custom_country_codes | String | Optional | Kode negara/wilayah target, dipisahkan dengan koma, digunakan sebagai referensi selama peninjauan template |
| voice_config | Object | Conditionally required | Konfigurasi untuk strategi voice. Wajib diisi saat strategi pengiriman mencakup voice |
| voice_config.template_type | Integer | Required | Jenis template voice. Saat ini, hanya template default yang didukung, sehingga nilainya tetap 1 |
| voice_config.template_default_config | Object | Conditionally required | Konfigurasi template default voice. Wajib diisi saat jenis template voice adalah template default |
| email_config | Object | Conditionally required | Konfigurasi untuk strategi email. Wajib diisi saat strategi pengiriman mencakup email |
| email_config.template_name | String | Required | Nama template email |
| email_config.template_custom_configs | Array | Conditionally required | Konfigurasi template kustom email. Wajib diisi saat jenis template email adalah template kustom. Mendukung konfigurasi multibahasa |
| email_config.template_custom_configs.language | String | Required | Bahasa, di mana default adalah bahasa bawaan. Konten template yang berbeda dapat dicocokkan sesuai parameter bahasa selama pengiriman pesan |
| email_config.template_custom_configs.pre_from_name | String | Optional | Nama pengirim preset |
| email_config.template_custom_configs.pre_from_mail | String | Required | Alamat email pengirim preset |
| email_config.template_custom_configs.pre_subject | String | Required | Subjek email preset |
| email_config.template_custom_configs.template_content | String | Required | Konten email. Mendukung HTML. Variabel harus diapit dengan {{}} |
| email_config.template_custom_configs.pre_param_map | Object | Optional | Nilai default untuk variabel dalam konten email, dideklarasikan menggunakan pasangan key-value. Nilainya harus berupa string |
| pwa_config | Object | Optional | Konfigurasi terkait PWA. Saat ini bersifat opsional |
| pwa_config.pwa_platform | String | Optional | Platform PWA yang digunakan. Silakan hubungi dukungan teknis untuk nilai spesifiknya |
| pwa_config.pwa_code | String | Optional | Kode yang digunakan dalam platform PWA |
Parameter Respons
| Field | Type | Option | Description |
|---|---|---|---|
| code | Integer | Required | Kode error. 0 menunjukkan berhasil; nilai lainnya menunjukkan kegagalan |
| message | String | Required | Pesan respons |
Respons Berhasil
{
"code": 0,
"message": "success"
}
Respons Gagal
{
"code": 3003,
"message": "not contains any channel config"
}
Kode Error
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | Error internal |
| 2001 | 401 | Autentikasi gagal; token yang benar tidak diberikan |
| 2002 | 401 | Autentikasi gagal; token telah kedaluwarsa atau telah dinonaktifkan |
| 2004 | 403 | Tidak memiliki izin untuk memanggil API ini |
| 3001 | 400 | Format parameter permintaan tidak valid. Harap periksa apakah body permintaan adalah JSON valid yang sesuai dengan format parameter |
| 3002 | 400 | Parameter permintaan tidak valid. Harap periksa apakah parameter permintaan memenuhi persyaratan |
| 3003 | 400 | Error parameter pada level bisnis. Harap periksa deskripsi pada field message yang dikembalikan |
Hapus Template
Endpoint
DELETE /v1/template-configs/{templateId}
Autentikasi
Gunakan HTTP Basic Authentication untuk autentikasi, lalu tambahkan Authorization ke header HTTP:
Authorization: Basic ${base64_auth_string}
Algoritma pembentukan base64_auth_string di atas adalah: base64(dev_key:dev_secret)
Contoh Permintaan
Header Permintaan
DELETE /v1/template-configs/{templateId} HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Body Permintaan
Tidak ada
Parameter Permintaan
{templateId} dalam URL menunjukkan ID template yang akan dihapus, yang ditentukan oleh pemanggil saat menggunakan API Buat Template.
Parameter Respons
| Field | Type | Option | Description |
|---|---|---|---|
| code | Integer | Required | Kode error. 0 menunjukkan berhasil; nilai lainnya menunjukkan kegagalan |
| message | String | Required | Pesan respons |
Respons Berhasil
{
"code": 0,
"message": "success"
}
Respons Gagal
{
"code": 4001,
"message": "config not exist"
}
Kode Error
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | Error internal |
| 2001 | 401 | Autentikasi gagal; token yang benar tidak diberikan |
| 2002 | 401 | Autentikasi gagal; token telah kedaluwarsa atau telah dinonaktifkan |
| 2004 | 403 | Tidak memiliki izin untuk memanggil API ini |
| 3001 | 400 | Format parameter permintaan tidak valid. Harap periksa apakah body permintaan adalah JSON valid yang sesuai dengan format parameter |
| 3002 | 400 | Parameter permintaan tidak valid. Harap periksa apakah parameter permintaan memenuhi persyaratan |
| 4001 | 400 | Template tidak ditemukan |
Dapatkan Semua Daftar Template
API ini saat ini tidak mendukung pagination. API ini mengembalikan daftar ringkasan semua template dan secara khusus tidak menyertakan konten detail. Jika Anda memerlukan konten terperinci, silakan gunakan API detail.
Endpoint
GET /v1/template-configs
Autentikasi
Gunakan HTTP Basic Authentication untuk autentikasi, lalu tambahkan Authorization ke header HTTP:
Authorization: Basic ${base64_auth_string}
Algoritma pembentukan base64_auth_string di atas adalah: base64(dev_key:dev_secret)
Contoh Permintaan
Header Permintaan
GET /v1/template-configs HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Body Permintaan
Tidak ada
Parameter Permintaan
Tidak ada
Respons Berhasil
[{
"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"
}]
Respons Gagal
{
"code": 4001,
"message": "config not exist"
}
Kode Error
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | Error internal |
| 2001 | 401 | Autentikasi gagal; token yang benar tidak diberikan |
| 2002 | 401 | Autentikasi gagal; token telah kedaluwarsa atau telah dinonaktifkan |
| 2004 | 403 | Tidak memiliki izin untuk memanggil API ini |
| 4001 | 400 | Template tidak ditemukan |
Dapatkan Detail Template
Endpoint
GET /v1/template-configs/{templateId}
Autentikasi
Gunakan HTTP Basic Authentication untuk autentikasi, lalu tambahkan Authorization ke header HTTP:
Authorization: Basic ${base64_auth_string}
Algoritma pembentukan base64_auth_string di atas adalah: base64(dev_key:dev_secret)
Contoh Permintaan
Header Permintaan
GET /v1/template-configs/custom-template-id HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Body Permintaan
Tidak ada
Parameter Permintaan
{templateId} dalam URL menunjukkan ID template yang akan diambil, yang ditentukan oleh pemanggil saat menggunakan API Buat Template.
Respons Berhasil
{
"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"
}
Respons Gagal
{
"code": 4001,
"message": "config not exist"
}
Kode Error
| Error Code | HTTP Code | Description |
|---|---|---|
| 1000 | 500 | Error internal |
| 2001 | 401 | Autentikasi gagal; token yang benar tidak diberikan |
| 2002 | 401 | Autentikasi gagal; token telah kedaluwarsa atau telah dinonaktifkan |
| 2004 | 403 | Tidak memiliki izin untuk memanggil API ini |
| 4001 | 400 | Template tidak ditemukan |










