API Manajemen Template
Ikhtisar
Dengan API manajemen template, Anda dapat menambah, menghapus, dan memeriksa template WABA.
Validasi Panggilan
EngageLab REST API menggunakan HTTP basic authentication sebagai metode verifikasi: tambahkan HTTP Header Authorization:
Authorization: Basic ${base64_auth_string}
Algoritma pembuatan base64_auth_string: base64(dev_key:dev_secret)
- Nama Header adalah "Authorization" dan nilainya adalah pasangan "username:password" yang telah dikonversi ke base64 (dengan tanda titik dua di tengah).
- Untuk API WhatsApp, username adalah DevKey dan password adalah DevSecret. Dapatkan di konsol pada menu manajemen konfigurasi - API key.
Mendapatkan Template
Alamat Panggilan
GET https://wa.api.engagelab.cc/v1/templates
Parameter Permintaan
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| name | String | Opsional | Nama template, pencarian menggunakan pencocokan samar |
| language_code | String | Opsional | Bahasa template, lihat Kode Bahasa |
| category | String | Opsional | Kategori template. ● AUTHENTICATION: Kode verifikasi ● MARKETING: Pemasaran ● UTILITY: Notifikasi layanan |
| status | String | Opsional | Status template: Umumnya fokus pada APPROVED/PENDING/REJECTED/DISABLED |
Parameter Respons
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| id | String | wajib | ID template |
| name | String | wajib | Nama template |
| language | String | wajib | Bahasa template, lihat kode bahasa |
| category | String | wajib | Jenis template. Catatan: Kategori template akan diperbarui: |
| components | Object Array | wajib | Detail isi template, lihat membuat objek komponen dalam template |
| status | String | wajib | Status template: |
Contoh respons
[
{
"id": "406979728071589",
"name": "code",
"language": "zh_CN",
"status": "APPROVED",
"category": "OTP",
"components": [
{
"type": "HEADER",
"format": "text",
"text": "Kode Verifikasi Registrasi"
},
{
"type": "BODY",
"text": "Kode verifikasi Anda adalah {{1}}, silakan masukkan dalam waktu 5 menit."
}
]
}
]
Cek Informasi Template
Endpoint API
GET https://wa.api.engagelab.cc/v1//{template_id}
Dimana {template_id} adalah ID template yang ingin dicek.
Parameter Permintaan
Tidak ada
Contoh Permintaan
GET https://wa.api.engagelab.cc/v1/templates/406979728071589
Parameter Respons
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| id | String | Wajib | ID Template |
| name | String | Wajib | Nama Template |
| language | String | Wajib | Bahasa template, lihat Kode Bahasa |
| category | String | Wajib | Kategori Template. Catatan: Kategori template akan diperbarui per 1 Mei 2023 menjadi: |
| components | Object Array | Wajib | Komponen isi template, lihat Objek Komponen pada Buat Template |
| status | String | Wajib | Status template: APPROVED, IN_APPEAL, PENDING, REJECTED, PENDING_DELETION, DELETED, DISABLED, PAUSED, LIMIT_EXCEEDED |
Contoh Respons
{
"id": "406979728071589",
"name": "code",
"language": "en",
"status": "APPROVED",
"category": "OTP",
"components": [
{
"type": "HEADER",
"format": "text",
"text": "Kode Verifikasi Registrasi"
},
{
"type": "BODY",
"text": "Kode verifikasi Anda adalah {{1}}, silakan masukkan dalam waktu 5 menit."
}
]
}
Membuat Template
Alamat Panggilan
POST https://wa.api.engagelab.cc/v1/templates
Contoh Panggilan
{
"name": "template_name",
"language": "zh_CN",
"category": "OTP",
"components": [
{
"type": "BODY",
"text": "define var as {{1}}",
"example": {
"body_text": [
[
"var1"
]
]
}
},
{
"type": "HEADER",
"format": "image",
"example": {
"header_handle": [
"https://jiguang.cn/demopic.jpg"
]
}
},
{
"type": "FOOTER",
"text": "footer hanya mendukung teks tanpa variabel"
},
{
"type": "BUTTONS",
"buttons": [
{
"type": "PHONE_NUMBER",
"text": "ini adalah nomor telepon",
"phone_number": "8613800138000"
}
]
}
]
}
Parameter Permintaan
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| name | String | wajib | nama template. Hanya huruf kecil, angka, dan garis bawah. Maksimal 512 karakter. |
| language | String | wajib | bahasa template, lihat kode bahasa |
| category | String | wajib | jenis template. Catatan: Kategori template akan diperbarui paling lambat 1 Mei 2023 menjadi: |
| components | Object Array | Komponen isi template. Lihat objek komponen |
objek komponen
Objek ini mendeskripsikan isi template. Template dibagi menjadi beberapa komponen: HEADER, BODY, FOOTER, BUTTONS. Setiap tipe mendukung parameter berbeda sebagai berikut:
header dan komponen header
Komponen header opsional. Jangan diisi jika tidak digunakan.
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| type | String | wajib | tipe komponen. Nilai: HEADER. |
| format | String | wajib | format header. Nilai: text, image, video, document. |
| text | String | opsional | isi teks header. Wajib jika format = text. Hanya satu variabel diperbolehkan, ditandai {{1}}. |
| example | JSON Object | opsional | contoh header. Wajib jika teks mengandung variabel atau format media. Lihat deskripsi objek contoh |
deskripsi objek contoh
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| header_handle | String Array | opsional | Jika format image, video, document, masukkan url media yang valid. Contoh: "header_handle": [ "https://jiguang.cn/demopic.jpg"] |
| header_text | String Array | opsional | Jika format text dan mengandung variabel, isi variabel di sini. Contoh: "header_text": ["var1"] |
| header_url | String Array | opsional | Sama dengan header_handle. Catatan: field ini tidak akan didukung di versi WhatsApp mendatang. Hindari penggunaan field ini. |
komponen body
Komponen body wajib diisi.
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| type | String | wajib | tipe komponen. Nilai: BODY. |
| text | String | wajib | isi body. Maksimal 1024 karakter. Bisa mengandung beberapa variabel. Variabel ditulis {{1}}, {{2}}, dst. |
| example | JSON Object | opsional | contoh body. Wajib jika text mengandung variabel. Lihat deskripsi objek contoh |
deskripsi objek contoh
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| body_text | String Array | opsional | Jika text mengandung variabel, wajib diisi. Semua variabel diurutkan sesuai nomor variabel. Contoh: "body_text": [["var1","var2","var3"]] |
komponen footer
Komponen footer opsional.
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| type | String | wajib | tipe komponen. Nilai: FOOTER. |
| text | String | wajib | isi footer. Hanya teks biasa, tidak bisa pakai variabel. |
komponen tombol (buttons)
Komponen tombol opsional.
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| type | String | wajib | tipe komponen. Nilai: BUTTONS. |
| buttons | Object Array | wajib | info tombol, lihat deskripsi objek tombol |
deskripsi objek tombol
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| type | String | wajib | tipe tombol. Nilai: QUICK_REPLY, URL, PHONE_NUMBER. |
| text | String | wajib | teks pada tombol, tidak boleh pakai variabel. Maksimal 25 karakter. |
| url | String | opsional | Wajib jika type = URL. Bisa menambah satu variabel di akhir URL, ditandai {{1}}. |
| phone_number | String | opsional | Wajib jika type = PHONE_NUMBER. Tidak boleh pakai variabel, isi dengan nomor telepon beserta kode negara. |
| example | String Array | opsional | Wajib jika type = QUICK_REPLY dan type = URL |
Parameter Respons
Respons Berhasil
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| template_id | String | wajib | ID template. Dikembalikan jika template berhasil dibuat. |
{
"template_id": "1275172986566180"
}
Respons Gagal
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| code | int | wajib | kode error. Jika gagal, kode error dikembalikan. |
| message | String | wajib | pesan error jika gagal. |
{
"code": 5002,
"message": "Parameter tidak valid. code:100:2388042"
}
Update Template
Alamat Panggilan
PUT https://wa.api.engagelab.cc/v1/templates/{templateId}
Contoh Panggilan
{
"components": [
{
"type": "BODY",
"text": "define var as {{1}}",
"example": {
"body_text": [
[
"var1"
]
]
}
},
{
"type": "HEADER",
"format": "image",
"example": {
"header_url": [
"https://jiguang.cn/demopic.jpg"
]
}
},
{
"type": "FOOTER",
"text": "footer hanya mendukung teks tanpa variabel"
},
{
"type": "BUTTONS",
"buttons": [
{
"type": "PHONE_NUMBER",
"text": "ini adalah nomor telepon",
"phone_number": "8613800138000"
}
]
}
]
}
Parameter Permintaan
Sama seperti parameter permintaan pada pembuatan template.
Parameter Respons
Respons Berhasil
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| code | int | wajib | kode balikan, tetap 0 |
| message | String | wajib | informasi balikan, selalu "success". |
{
"code": 0,
"message": "success"
}
Respons Gagal
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| code | int | wajib | kode error. Jika gagal, kode error dikembalikan. |
| message | String | wajib | pesan error jika gagal. |
{
"code": 5002,
"message": "Parameter tidak valid. code:100:2593002"
}
Hapus Template
Alamat Panggilan
DELETE https://wa.api.engagelab.cc/v1/templates/{template_name}
Catatan: Nama template, bukan ID template, yang digunakan di sini dan akan menghapus seluruh konten template untuk semua bahasa dari nama template tersebut.
Parameter Respons
Respons Berhasil
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| code | int | wajib | kode balikan, tetap 0 |
| message | String | wajib | informasi balikan, selalu "success". |
{
"code": 0,
"message": "success"
}
Respons Gagal
| Parameter | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| code | int | wajib | kode error. Jika gagal, kode error dikembalikan. |
| message | String | wajib | pesan error jika gagal. |
{
"code": 2004,
"message": "terjadi kesalahan"
}
Kode Error
| Kode | Http Code | Deskripsi |
|---|---|---|
| 1000 | 500 | kesalahan internal |
| 2001 | 401 | Autentikasi EngageLab gagal tanpa token yang valid. |
| 2002 | 401 | Autentikasi di sisi EngageLab gagal. Token telah kedaluwarsa atau dinonaktifkan. |
| 2003 | 400 | Autentikasi WhatsApp gagal, silakan hubungi layanan pelanggan EngageLab |
| 2004 | 403 | Anda tidak berwenang memanggil API ini. |
| 3001 | 400 | Format parameter permintaan tidak valid. Pastikan format JSON sudah benar. |
| 3002 | 400 | Parameter permintaan salah. Pastikan parameter sudah sesuai. |
| 3003 | 400 | Error karena parameter permintaan tidak valid. |
| 4001 | 400 | Template tidak ditemukan. |
| 5002 | 400 | Permintaan template gagal diproses oleh Meta. Lihat detail error pada field message. |
Catatan
Persyaratan Format Pesan Media
| Tipe Media | Format Content-Type yang Didukung | Batas Ukuran | | --- | --- | --- | --- | | image | image/jpeg, image/png, tidak mendukung latar belakang transparan | 5MB | | video | video/mp4 | 16MB | | document | Hanya PDF | 100MB |
kode bahasa
| Bahasa | Kode |
|---|---|
| Afrikaans | af |
| Albania | sq |
| Arab | ar |
| Azerbaijan | az |
| Bengali | bn |
| Bulgaria | bg |
| Catalan | ca |
| Tionghoa (CHN) | zh_CN |
| Tionghoa (HKG) | zh_HK |
| Tionghoa (TAI) | zh_TW |
| Kroasia | hr |
| Ceko | cs |
| Denmark | da |
| Belanda | nl |
| Inggris | en |
| Inggris (UK) | en_GB |
| Inggris (US) | en_US |
| Estonia | et |
| Filipina | fil |
| Finlandia | fi |
| Prancis | fr |
| Georgia | ka |
| Jerman | de |
| Yunani | el |
| Gujarat | gu |
| Hausa | ha |
| Ibrani | he |
| Hindi | hi |
| Hungaria | hu |
| Indonesia | id |
| Irlandia | ga |
| Italia | it |
| Jepang | ja |
| Kannada | kn |
| Kazakh | kk |
| Kinyarwanda | rw_RW |
| Korea | ko |
| Kirgizstan | ky_KG |
| Lao | lo |
| Latvia | lv |
| Lituania | lt |
| Makedonia | mk |
| Melayu | ms |
| Malayalam | ml |
| Marathi | mr |
| Norwegia | nb |
| Persia | fa |
| Polandia | pl |
| Portugis (BR) | pt_BR |
| Portugis (POR) | pt_PT |
| Punjabi | pa |
| Rumania | ro |
| Rusia | ru |
| Serbia | sr |
| Slovakia | sk |
| Slovenia | sl |
| Spanyol | es |
| Spanyol (ARG) | es_AR |
| Spanyol (SPA) | es_ES |
| Spanyol (MEX) | es_MX |
| Swahili | sw |
| Swedia | sv |
| Tamil | ta |
| Telugu | te |
| Thai | th |
| Turki | tr |
| Ukraina | uk |
| Urdu | ur |
| Uzbek | uz |
| Vietnam | vi |
| Zulu | zu |
Untuk info lebih lanjut tentang hubungan bahasa dan kode, Anda dapat unduh file berikut:
Kode Bahasa Template.xlsx










