Logo Site EngageLab Mark Colored TransparentDokumen
Cari

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
              
              POST /v1/messages  HTTP/1.1  
Content-Type: application/json  
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0

            
Tampilkan blok kode ini di jendela mengambang

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." } } }
              
              {
    "to": [
        "923700056581"
    ],
    "template": {
        "id": "1233",
        "params": {
            "content": "Verification code: 039487. This code will expire in 5 minutes. You are attempting to create your account."
        }
    }
}

            
Tampilkan blok kode ini di jendela mengambang

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" } } }
              
              {
    "to": ["+6591234567"],
    "template": {
        "id": "notification-template",
        "params": {
            "order": "123456"
        }
    }
}

            
Tampilkan blok kode ini di jendela mengambang

2. Mengirim konten pemasaran kustom:

{ "to": ["+6591234567"], "template": { "id": "marketing-template", "params": { "name": "EngageLab", "promotion": "30%" } } }
              
              {
    "to": ["+6591234567"],
    "template": {
        "id": "marketing-template",
        "params": {
            "name": "EngageLab",
            "promotion": "30%"
        }
    }
}

            
Tampilkan blok kode ini di jendela mengambang

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" }
              
              {
    "plan_id": "1972488990548348928",
    "total_count": 1,
    "accepted_count": 1,
    "message_id": "1972488990804201472"
}

            
Tampilkan blok kode ini di jendela mengambang

Contoh Sukses (Banyak Tujuan)

{ "plan_id": "1972484198153367552", "total_count": 2, "accepted_count": 2 }
              
              {
    "plan_id": "1972484198153367552",
    "total_count": 2,
    "accepted_count": 2
}

            
Tampilkan blok kode ini di jendela mengambang

Contoh Sukses (Tugas Terjadwal)

{ "plan_id": "1972492618659033088", "total_count": 1, "accepted_count": 1, "schedule_info": { "task_id": 1972492621368553472 } }
              
              {
    "plan_id": "1972492618659033088",
    "total_count": 1,
    "accepted_count": 1,
    "schedule_info": {
        "task_id": 1972492621368553472
    }
}

            
Tampilkan blok kode ini di jendela mengambang

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 }
              
              {
    "plan_id": "1972490061974913024",
    "total_count": 1,
    "accepted_count": 1,
    "message": "err xxxx",
    "code": 1
}

            
Tampilkan blok kode ini di jendela mengambang

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
Icon Solid Transparent White Qiyu
Hubungi Sales