logoDokumen
Cari

Kirim-OTP-Kustom

Jika Anda ingin membuat kode verifikasi sendiri alih-alih menggunakan platform EngageLab, Anda dapat menggunakan API ini.

API ini khusus untuk mengirim kode verifikasi yang sudah Anda buat sebelumnya dan tidak akan menghasilkan kode secara otomatis. Setelah kode dikirim, Anda tidak perlu lagi memanggil API verifikasi untuk validasi.

Jika Anda ingin kode verifikasi dihasilkan oleh platform EngageLab, silakan gunakan EngageLab OTP Send API.

Endpoint

POST https://otp.api.engagelab.cc/v1/codes

Autentikasi

Menggunakan HTTP Basic Authentication. Tambahkan Authorization pada HTTP Header:

Authorization: Basic ${base64_auth_string}
              
              Authorization: Basic ${base64_auth_string}

            
Tampilkan blok kode ini di jendela mengambang

Algoritma pembuatan base64_auth_string: base64(dev_key:dev_secret)

Contoh Permintaan

Header Permintaan

POST /v1/codes HTTP/1.1 Content-Type: application/json Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              POST /v1/codes  HTTP/1.1  
Content-Type: application/json  
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0

            
Tampilkan blok kode ini di jendela mengambang

Body Permintaan

{ "to": "+8618701235678", "code": "398210", "template":{ "id":"test-template-1", "language": "default", "params": { "key1": "value1", "key2": "value2" } } }
              
              {
    "to": "+8618701235678",
    "code": "398210", 
    "template":{
      "id":"test-template-1",
      "language": "default",
        "params": {
        "key1": "value1",
        "key2": "value2"
        }
    }
}

            
Tampilkan blok kode ini di jendela mengambang

Parameter Permintaan

Objek permintaan dalam format JSON, pastikan header permintaan menyertakan Content-Type: application/json.

Parameter Tipe Wajib/Opsional Deskripsi
to String Wajib Target, bisa nomor ponsel atau email, contoh: +8613800138000, support@engagelab.com
code String Wajib Kode verifikasi yang Anda tentukan sendiri
template JSON Object Wajib Informasi template, dengan sub-parameter di bawah ini
|_ id String Wajib ID Template
|_ language String Opsional Bahasa template, pilihan:
default (Bahasa default)
zh_CN (Mandarin Sederhana)
zh_HK (Mandarin Tradisional)
en (Inggris)
ja (Jepang)
th (Thailand)
es (Spanyol)
Jika tidak diisi, akan menggunakan "default".
|_ params JSON Object Opsional Nilai variabel kustom pada template. Jika Anda menyesuaikan variabel saat membuat template, masukkan nilainya di sini. Jika tidak diisi, kunci variabel akan dikirimkan apa adanya, misal: {{var}}

Catatan tentang params

  1. Untuk template dengan field seperti from_id, jika param_vars tidak diisi, pesan akan menggunakan from_id yang diatur pada template.
  2. Jika param_vars diisi, misal param_vars:{"from_id":"12345"}, maka saat pengiriman, from_id pada template akan diganti dengan 12345.
  3. Untuk variabel kustom pada isi template, tetapkan nilainya melalui param_vars, misal untuk template Hi {{name}}, kode verifikasi Anda adalah {{code}}, isi param_vars:{"name":"Bob"}.

Parameter Respons

Respons Berhasil

Field Tipe Wajib Deskripsi
message_id String Ya ID pesan, identitas unik pesan
send_channel String Ya Saluran pengiriman saat ini: whatsapp/sms/email/voice
{ "message_id": "1725407449772531712", "send_channel": "sms" }
              
              {
    "message_id": "1725407449772531712",
    "send_channel": "sms"
}

            
Tampilkan blok kode ini di jendela mengambang

Perlu diperhatikan, nilai send_channel yang dikembalikan bukan saluran akhir ke pengguna, melainkan saluran pada tahap saat ini. Misal, jika strategi template diatur fallback WhatsApp ke SMS, API awalnya mengembalikan whatsapp, dan jika gagal, sistem akan mengirim ulang via SMS.

Respons Gagal

Kode status HTTP 4xx atau 5xx, body respons berisi field berikut:

Field Tipe Wajib Deskripsi
code int Ya Kode error, lihat Kode Error untuk detailnya
message String Ya Detail error
{ "code": 5001, "message": "gagal mengirim sms" }
              
              {
    "code": 5001,
    "message": "gagal mengirim sms"
}

            
Tampilkan blok kode ini di jendela mengambang

Kode Error

Kode Error HTTP Code Deskripsi
1000 500 Kesalahan internal
2001 401 Autentikasi gagal, token salah atau tidak ada
2002 401 Autentikasi gagal, token kedaluwarsa atau dinonaktifkan
2004 403 Tidak memiliki izin untuk memanggil API ini
3001 400 Format parameter permintaan tidak valid, cek format JSON
3002 400 Parameter permintaan salah, cek kembali kebutuhan
3003 400 Parameter salah, validasi bisnis gagal, cek pesan error
3004 400 Melebihi batas frekuensi, tidak bisa kirim ulang ke template & user yang sama dalam masa berlaku OTP
4001 400 Resource tidak ditemukan, misal template tidak ada
5001 400 Pengiriman kode verifikasi gagal, cek field message untuk detail
icon
Hubungi Sales