Lewati ke konten
WA Gateway

Kirim OTP & Kode Verifikasi lewat WhatsApp

Kode OTP sampai dalam hitungan detik lewat jalur prioritas, terpisah dari antrian broadcast, dengan idempotency supaya tidak terkirim ganda.

Pengguna lebih sering membuka WhatsApp daripada SMS. Mengirim OTP lewat WhatsApp membuat kode lebih cepat terbaca, dan biaya per pesannya jauh lebih rendah daripada SMS.

Kenapa OTP butuh jalur khusus

Masalah umum gateway WhatsApp: OTP ikut mengantri di belakang ratusan pesan promo. Kode baru sampai 10 menit kemudian, saat sudah kedaluwarsa.

Di sini setiap nomor punya dua antrian:

  • Antrian prioritas untuk OTP dan pesan transaksional. Jeda hanya 2–6 detik dan tetap jalan 24 jam.
  • Antrian normal untuk broadcast, dengan jeda acak yang lebih panjang dan jam kirim.

Sebagian limit harian juga dicadangkan khusus untuk pesan prioritas. Jadi broadcast besar tidak bisa menghabiskan jatah OTP Anda.

Contoh request

curl -X POST https://domainanda.com/api/v1/messages \
  -H "Authorization: Bearer wag_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "08123456789",
    "message": "Kode verifikasi Anda 482913. Berlaku 5 menit. Jangan berikan kode ini kepada siapa pun.",
    "priority": "high",
    "idempotency_key": "otp-user-1029-482913"
  }'

idempotency_key mencegah pesan ganda. Kalau aplikasi Anda mengulang request karena timeout, pesan yang sama tidak dikirim dua kali.

Tips menulis pesan OTP

  1. Sebutkan nama layanan di awal pesan, supaya pengguna tahu kode itu dari mana.
  2. Cantumkan masa berlaku, misalnya 5 menit.
  3. Tambahkan peringatan "jangan berikan kode ini kepada siapa pun". Ini mengurangi penipuan social engineering.
  4. Jangan kirim tautan login bersama OTP. Pola seperti itu sering dipakai penipu dan bisa membuat pesan Anda dilaporkan.
  5. Batasi permintaan ulang di aplikasi Anda, misalnya 1 OTP per 60 detik per pengguna.

Pantau status pengiriman

Atur webhook untuk menerima event message.sent, message.status (delivered/read), dan message.failed. Kalau OTP gagal terkirim, aplikasi Anda bisa langsung menawarkan alternatif seperti SMS atau email. Detail ada di dokumentasi API.

Gunakan nomor khusus untuk OTP, terpisah dari nomor yang dipakai broadcast promo. Kalau nomor promo bermasalah, OTP tetap berjalan.

Solusi lainnya

Bacaan terkait