Mengirim SMS
Jika Anda ingin mengirim notifikasi dan SMS pemasaran secara otomatis, Anda dapat memanggil endpoint ini. Tentukan ID template SMS dan penerima tujuan, sistem akan otomatis mengirim SMS sesuai konten template.
Tips Konfigurasi Platform Sebelum memanggil, Anda perlu menyelesaikan konfigurasi berikut di konsol EngageLab SMS:
- Pengaturan Template SMS: Sebelum memanggil API, kunjungi terlebih dahulu Pengelolaan Template, buat dan ajukan template SMS Anda. Template harus lolos peninjauan agar ID template dapat digunakan.
- Konfigurasi API Key: Kunjungi API Key, buat API key untuk autentikasi Basic.
Alamat Panggilan
POST https://smsapi.engagelab.com/v1/messages
Verifikasi Panggilan
Silakan lihat Verifikasi Panggilan untuk mengetahui cara melakukan autentikasi API.
Contoh Request
Request Header
POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Request Body
{
"to": [
"923700056581"
],
"template": {
"id": "1233",
"params": {
"content": "Verification code: 039487. This code will expire in 5 minutes. You are attempting to create your account."
}
}
}
Parameter Request
Sebuah objek request dinyatakan dalam format JSON, sehingga request header perlu menyertakan Content-Type: application/json.
| Parameter | Tipe | Opsi | Penjelasan |
|---|---|---|---|
| to | Array[String] | Wajib | Daftar nomor ponsel tujuan, misalnya ["923700056581"] |
| plan_name | String | Opsional | Nama plan, jika tidak diisi default menampilkan "-" |
| schedule_time | Integer | Opsional | Waktu pengiriman terjadwal. Tidak perlu dikirim untuk pengiriman non-terjadwal. Unix timestamp, dalam satuan "detik". Aturan validasi: harus berupa angka positif; harus lebih lambat minimal 3 menit dari waktu saat ini; tidak boleh lebih dari 30 hari dari waktu saat ini. |
| template | JSON Object | Wajib | Informasi template, parameter level kedua yang terkandung lihat di bawah |
| |_ id | String | Wajib | ID template |
| |_ params | JSON Object | Wajib | Nilai untuk Key variabel template kustom Jika Anda mendefinisikan variabel saat membuat template, isikan nilainya di sini; jika tidak diisi, akan dikirim langsung dengan Key variabel, seperti {{var1}} |
| custom_args | JSON Object | Opsional | Parameter kustom |
Penjelasan tentang params
Untuk field variabel kustom pada konten template saat membuat template, semuanya perlu diberi nilai melalui params. Misalnya konten template adalah Hi {{name}}, welcome to EngageLab, maka perlu memberikan nilai parameter params: {"name": "Bob"}.
Contoh Request Lainnya
1. Mengirim konten notifikasi kustom:
{
"to": ["+6591234567"],
"template": {
"id": "notification-template",
"params": {
"order": "123456"
}
}
}
2. Mengirim konten pemasaran kustom:
{
"to": ["+6591234567"],
"template": {
"id": "marketing-template",
"params": {
"name": "EngageLab",
"promotion": "30%"
}
}
}
Parameter Response
Response Sukses
HTTP status code adalah 200, response body berisi field-field berikut:
| Field | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| plan_id | String | Wajib | ID plan |
| total_count | Integer | Wajib | Jumlah tujuan yang diterima |
| accepted_count | Integer | Wajib | Jumlah tujuan valid yang diterima |
| message_id | String | Opsional | Akan dikembalikan message_id terkait saat pengiriman tunggal |
| schedule_info | JSON Object | Opsional | Informasi terkait tugas terjadwal (hanya dikembalikan saat pengiriman terjadwal) |
| |_ task_id | Integer | Wajib | ID tugas terjadwal |
Contoh Sukses (Tujuan Tunggal)
{
"plan_id": "1972488990548348928",
"total_count": 1,
"accepted_count": 1,
"message_id": "1972488990804201472"
}
Contoh Sukses (Banyak Tujuan)
{
"plan_id": "1972484198153367552",
"total_count": 2,
"accepted_count": 2
}
Contoh Sukses (Tugas Terjadwal)
{
"plan_id": "1972492618659033088",
"total_count": 1,
"accepted_count": 1,
"schedule_info": {
"task_id": 1972492621368553472
}
}
Response Gagal
HTTP status code adalah 200 (untuk sebagian kondisi anomali) atau 4xx/5xx, response body berisi field-field berikut:
| Field | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| plan_id | String | Wajib | ID plan |
| total_count | Integer | Wajib | Jumlah tujuan yang diterima |
| accepted_count | Integer | Wajib | Jumlah tujuan valid yang diterima |
| code | Integer | Wajib | Kode error, lihat penjelasan kode error |
| message | String | Wajib | Detail error |
Contoh Error
{
"plan_id": "1972490061974913024",
"total_count": 1,
"accepted_count": 1,
"message": "err xxxx",
"code": 1
}
Kode Error
| Kode Error | http code | Penjelasan |
|---|---|---|
| 1000 | 500 | Error internal |
| 2001 | 401 | Autentikasi gagal, tidak menyertakan token yang benar |
| 2002 | 401 | Autentikasi gagal, token sudah kedaluwarsa atau telah dinonaktifkan |
| 2004 | 403 | Tidak memiliki izin untuk memanggil API ini |
| 3001 | 400 | Format parameter request tidak valid, harap periksa apakah konten JSON sesuai dengan format parameter |
| 3002 | 400 | Parameter request salah, harap periksa apakah parameter request memenuhi persyaratan |
| 3003 | 400 | Parameter request salah, validasi bisnis terkait gagal, lihat detail deskripsi error pada field message |
| 3004 | 400 | Melebihi batas frekuensi, untuk template dan pengguna tujuan yang sama, tidak dapat mengirim ulang dalam masa berlaku kode verifikasi |
| 4001 | 400 | Resource terkait tidak ada, seperti menggunakan template yang tidak ada saat mengirim pesan template |
| 5001 | 400 | Pengiriman pesan gagal, lihat detail deskripsi error pada field message |










