OTP WhatsApp vs OTP SMS: Biaya, Pengiriman, dan Fallback
Perbandingan OTP WhatsApp vs OTP SMS: model biaya, pengiriman, pengalaman pengguna, template autentikasi, fallback WhatsApp ke SMS, dan kontrol fraud.
Oleh OmniChannels.ai Editorial Team · Ditinjau oleh BroadNet Messaging Solutions Team
Jawaban singkat
Gunakan OTP WhatsApp (kode verifikasi) ketika pengguna Anda aktif di WhatsApp dan Anda menginginkan template autentikasi dengan pengalaman salin kode, one-tap, atau zero-tap; gunakan OTP SMS ketika Anda perlu menjangkau ponsel mana pun tanpa aplikasi atau data internet. Sebagian besar sistem produksi mengirim OTP lewat WhatsApp lebih dulu dan beralih ke SMS setelah jeda singkat. Biaya berbeda menurut negara dan harga per pesan, jadi modelkan keduanya dengan volume Anda sendiri.
Di halaman ini
- Apa perbedaan OTP WhatsApp dan OTP SMS?
- Bagaimana perbedaan model biayanya?
- Mana yang memberi pengiriman dan pengalaman pengguna yang lebih baik?
- Bagaimana membuat template autentikasi melalui API?
- Bagaimana mengirim kode di setiap kanal?
- Bagaimana membangun pengiriman WhatsApp-dulu dengan fallback SMS?
- Bagaimana perbedaan fraud dan penyalahgunaan?
- Mana yang sebaiknya dipilih?
- Contoh kasus: aplikasi ride-hailing di GCC
- Apa saja kesalahan umum?
- Bagaimana OmniChannels.ai membantu
Poin penting
- OTP WhatsApp memakai template autentikasi yang disetujui dan ditagih Meta per pesan terkirim; OTP SMS ditagih per segmen menurut rute dan tujuan, jadi bandingkan per negara, bukan secara global.
- SMS menjangkau handset mana pun yang memiliki sinyal, sedangkan WhatsApp mengharuskan pengguna memiliki WhatsApp dan koneksi data.
- Template autentikasi mendukung pengiriman salin kode, one-tap, dan zero-tap; API mengekspos ini sebagai deliveryMode dengan COPY_CODE, ONE_TAP, atau ZERO_TAP.
- Alur WhatsApp-dulu dengan fallback SMS menyeimbangkan biaya dan jangkauan, tetapi fallback harus dibatasi agar tidak menggandakan pesan dan membuka celah penyalahgunaan.
- Kedua kanal menjadi sasaran fraud penggelembungan trafik, jadi batasi laju per nomor dan per IP, dan validasi nomor sebelum mengirim.
Panduan ini ditujukan bagi tim produk dan engineering yang memilih cara mengirim one-time passcode (OTP): lewat WhatsApp, SMS, atau keduanya. Panduan ini membandingkan model biaya, jangkauan, pengalaman pengguna, dan paparan fraud, menjelaskan template autentikasi, dan menunjukkan cara membangun alur WhatsApp-dulu dengan fallback SMS. Untuk gambaran keamanan yang lebih luas, lihat panduan pesan OTP dan autentikasi kami.
Apa perbedaan OTP WhatsApp dan OTP SMS?
OTP SMS mengirim kode sebagai pesan teks melalui jaringan seluler ke nomor telepon mana pun. OTP WhatsApp mengirimnya sebagai pesan template autentikasi melalui internet ke akun WhatsApp pengguna. Keduanya mengirimkan kode berumur singkat yang diketik atau diketuk pengguna untuk mengonfirmasi sebuah nomor.
| OTP WhatsApp | OTP SMS | |
|---|---|---|
| Jangkauan | Pengguna dengan WhatsApp dan koneksi data | Handset mana pun dengan sinyal seluler |
| Jenis pesan | Template autentikasi yang disetujui | Pesan teks biasa |
| Identitas pengirim | Profil bisnis WhatsApp Anda yang terverifikasi | Sender ID atau nomor, tunduk pada aturan negara |
| Pengalaman pengguna | Salin kode, autofill one-tap, atau zero-tap | Input manual, atau autofill OS jika didukung |
| Dasar harga | Per pesan autentikasi terkirim, menurut pasar (Meta) | Per segmen, menurut rute dan tujuan |
| Persetujuan | Template disetujui Meta | Registrasi Sender ID di banyak negara |
| Roaming dan tanpa data | Membutuhkan internet | Berfungsi tanpa data |
| Status | SUBMITTED, SENT, DELIVERED, READ, FAILED, REJECTED | SUBMITTED, SENT, DELIVERED, FAILED, REJECTED |
Tidak ada kanal yang selalu lebih baik. Pilihan yang tepat bergantung pada pengguna, tujuan, dan risiko Anda.
Bagaimana perbedaan model biayanya?
Bandingkan per negara dan per verifikasi yang berhasil, bukan per pesan. Meta menagih per pesan terkirim di WhatsApp Business Platform, menurut kategori template dan pasar penerima, dan autentikasi adalah kategorinya sendiri. Biaya SMS bergantung pada tujuan, rute, dan jumlah segmen.
Hal-hal yang mengubah perhitungan:
- Segmen. SMS Arab adalah Unicode, sehingga kode dengan redaksi panjang dapat memakai dua segmen (70 karakter untuk satu segmen, 67 per segmen saat dipecah, menurut 3GPP TS 23.040). Buat teks OTP tetap singkat.
- Percobaan yang gagal. Meta menagih pesan terkirim, sedangkan penagihan SMS bergantung pada ketentuan rute Anda. Tanyakan apa yang ditagih saat gagal.
- Volume fallback. Jika 10 persen pengiriman WhatsApp beralih ke SMS, Anda membayar keduanya pada kasus tersebut.
- Biaya provider. Provider Anda dapat menambahkan biaya. WhatsApp kami dikenakan sesuai tarif Meta tanpa markup, dan SMS dihargai menurut tujuan.
Jangan mengetik harga ke business case dari blog. Gunakan harga WhatsApp per negara, halaman harga SMS, kalkulator harga WhatsApp dan estimator biaya, lalu konfirmasikan di daftar harga Meta saat ini, karena Meta mengubah tarif sesuai jadwal.
Mana yang memberi pengiriman dan pengalaman pengguna yang lebih baik?
SMS menjangkau lebih banyak orang; WhatsApp dapat terasa lebih cepat ketika berfungsi. SMS hanya membutuhkan sinyal, sedangkan WhatsApp membutuhkan aplikasi, akun di nomor itu, dan data. Pengiriman keduanya bergantung pada operator, rute, dan filtering, dan kami tidak membuat klaim kecepatan yang universal.
Pengalaman pengguna di WhatsApp lebih baik ketika template mendukungnya:
- Salin kode: pengguna mengetuk tombol yang menyalin kode.
- Autofill one-tap: kode diisikan ke aplikasi Anda setelah satu ketukan.
- Zero-tap: kode diisikan tanpa ketukan, jika didukung di perangkat.
Pada SMS, autofill bergantung pada sistem operasi dan format pesan, jadi uji pada perangkat sungguhan. Untuk pengguna Arab, pastikan kode terbaca jelas dalam teks kanan-ke-kiri. Periksa dokumentasi template autentikasi Meta untuk persyaratan perangkat dan aplikasi terbaru sebelum menjanjikan zero-tap di produk Anda.
Bagaimana membuat template autentikasi melalui API?
Buat dengan kategori AUTHENTICATION dan pilih mode pengiriman. Di API kami, POST /whatsapp/template menerima field multipart; berikut yang penting untuk OTP.
| Field | Nilai |
|---|---|
name |
Nama template huruf kecil, unik di akun Anda |
languageType |
Kode bahasa, misalnya en_US atau ar |
category |
AUTHENTICATION |
templateType |
OTP |
deliveryMode |
COPY_CODE, ONE_TAP, atau ZERO_TAP |
codeExpirationMinutes |
Masa berlaku yang ditampilkan ke pengguna (opsional) |
Template baru dimulai sebagai PENDING sampai Meta menyetujuinya. Template autentikasi memiliki struktur tetap yang ditetapkan Meta, jadi konfirmasikan field lainnya di referensi WhatsApp API dan bersama tim kami untuk template pertama Anda. Persetujuan adalah keputusan Meta, dan kami tidak menjanjikan waktunya.
Bagaimana mengirim kode di setiap kanal?
Di WhatsApp, kirim template yang disetujui dengan kode sebagai variabel body. Untuk tombol salin kode, berikan kode yang sama di buttonsTemplateVariable.
curl -X POST https://api.broadnet.me/whatsapp/message/sendbulk \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-F batchId=0 \
-F destinationNo=971500000000 \
-F messageType=TEMPLATE \
-F templateName=login_code \
-F templateLanguage=en_US \
-F bodyTemplateVariables=482913 \
-F buttonsTemplateVariable=482913
Di sini login_code adalah placeholder untuk template autentikasi Anda sendiri yang sudah disetujui. Di SMS, panggil POST /sms/sendSms dengan JSON:
curl -X POST https://api.broadnet.me/sms/sendSms \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"senderId": "OmniDemo",
"destinationNumber": "971500000000",
"message": "Your OmniDemo code is 482913",
"messageType": "TEXT"
}'
Perhatikan perbedaannya: WhatsApp memakai multipart form data dan mengembalikan batchId; SMS memakai JSON dan mengembalikan ID pesan sebagai teks biasa. Contoh lengkap ada di panduan kami tentang mengirim WhatsApp via API dan mengirim SMS via API.
Bagaimana membangun pengiriman WhatsApp-dulu dengan fallback SMS?
Kirim di WhatsApp, tunggu status, lalu kirim sekali lewat SMS jika diperlukan. Status kami dinormalisasi di semua kanal, sehingga handler yang sama dapat menggerakkan keduanya.
- Buat kode di server Anda, simpan hash saja dengan masa berlaku, dan batasi percobaan.
- Kirim template WhatsApp dan catat
batchIdserta ID operasi Anda. - Tunggu
DELIVEREDdi webhook selama jendela yang Anda pilih, berdasarkan kesabaran pengguna. - Jika
FAILED,REJECTED, atau tidak terkirim tepat waktu, batalkan kode pertama, buat yang baru, dan kirim SMS. - Batasi fallback per nomor dan per sesi.
- Catat kanal mana yang berhasil, untuk menyetel urutan menurut negara.
Hindari pengulangan buta setelah timeout, karena API tidak memiliki idempotency key; periksa status sebelum mengirim ulang, seperti dijelaskan di Error dan batas. Urutan kanal dikonfigurasi per kasus penggunaan di OmniChannels.ai, dan rancangan umumnya ada di strategi fallback kanal kami. Untuk penanganan webhook, lihat panduan webhook. OTP suara (voice) adalah langkah fallback lain; lihat panduan OTP voice dan hubungi tim penjualan untuk harga voice.
Bagaimana perbedaan fraud dan penyalahgunaan?
Kedua kanal menarik penyalahgunaan, jadi bangun kontrol sebelum peluncuran. SMS memiliki masalah yang terkenal: penyerang memicu kode ke nomor yang menguntungkan mereka, menggelembungkan trafik Anda. WhatsApp tidak kebal, karena endpoint mana pun yang mengirim pesan atas permintaan dapat disalahgunakan untuk menimbulkan biaya atau mengganggu sebuah nomor.
Kontrol yang berlaku untuk keduanya:
- Batasi laju permintaan kode per nomor telepon, per alamat IP, per perangkat, dan per akun.
- Validasi nomor sebelum mengirim; lihat HLR lookup.
- Batasi fallback agar penyerang tidak dapat memicu dua pesan per permintaan.
- Pantau konversi: banyak permintaan dengan sedikit verifikasi yang selesai adalah tanda peringatan.
- Blokir tujuan yang tidak Anda layani.
- Masa berlaku singkat dan percobaan terbatas, tanpa penggunaan ulang kode.
Baca pencegahan SMS pumping fraud dan gunakan kalkulator fraud untuk memperkirakan paparan. Menurut NIST SP 800-63B-4, kode out-of-band adalah salah satu jenis autentikator dengan batasan yang diketahui, jadi gunakan metode yang lebih kuat untuk tindakan berisiko tinggi seperti pembayaran atau pemulihan akun.
Mana yang sebaiknya dipilih?
Putuskan berdasarkan audiens dan risiko, lalu uji.
| Situasi | Pendekatan yang disarankan |
|---|---|
| Pengguna sebagian besar di WhatsApp, produk berbasis aplikasi | WhatsApp dulu, fallback SMS |
| Audiens campuran, banyak yang tanpa data | SMS dulu atau hanya SMS |
| Transaksi berisiko tinggi | OTP ditambah faktor yang lebih kuat; jangan mengandalkan salah satunya saja |
| Pengguna roaming atau data buruk | SMS |
| Membutuhkan autofill one-tap di dalam aplikasi | Template autentikasi WhatsApp |
| Kontrol biaya ketat di satu pasar | Bandingkan keduanya untuk negara tersebut |
Contoh kasus: aplikasi ride-hailing di GCC
"Rafiq Rides" (fiktif) memverifikasi akun pengemudi dan penumpang baru di UEA, Arab Saudi, dan Mesir.
- Rancangan: template autentikasi WhatsApp dengan salin kode lebih dulu; fallback SMS setelah jeda singkat tanpa status
DELIVERED. - Kontrol: tiga permintaan kode per nomor per jam, batas per IP, validasi nomor sebelum pengiriman pertama, dan satu fallback per sesi.
- Pengukuran: verifikasi selesai dalam periode singkat, dipecah menurut kanal dan negara; porsi gagal dan fallback.
- Penyetelan: di satu negara tempat pengiriman WhatsApp lebih lemah, tim membalik urutan menjadi SMS dulu.
- Biaya: dimodelkan per negara dengan alat harga, ditinjau setiap bulan terhadap pengiriman aktual.
Apa saja kesalahan umum?
- Membandingkan satu harga global, alih-alih per negara dan per pengguna yang terverifikasi.
- Mengirim lewat kedua kanal sekaligus, yang menggandakan biaya dan celah penyalahgunaan.
- Tombol kirim ulang tanpa batas.
- Memakai kembali kode lama setelah fallback.
- Mencatat kode di log atau mengirimnya dalam URL.
- Tidak ada catatan persetujuan untuk kanal WhatsApp.
- Menjanjikan zero-tap di mana-mana. Periksa dukungan perangkat terbaru.
- Batasan: panduan ini menjelaskan mekanismenya. Pengiriman, biaya, dan dukungan perangkat bervariasi menurut negara, rute, dan aturan Meta, dan harus diuji di pasar Anda.
Bagaimana OmniChannels.ai membantu
OmniChannels.ai mencakup kedua kanal dalam satu API: template autentikasi WhatsApp (one-tap, zero-tap, dan salin kode) sebagai Meta Business Solution Provider resmi, dan A2P SMS melalui konektivitas operator langsung milik BroadNet, dengan fallback kanal yang dikonfigurasi per kasus penggunaan dan status yang dinormalisasi ke satu format webhook. Tim kami menyiapkan registrasi Sender ID dan WhatsApp bersama Anda; persetujuan tetap di tangan Meta dan regulator. Lihat solusi OTP, OTP SMS API, dan dokumentasi developer.
Pertanyaan yang sering diajukan
Apakah OTP WhatsApp lebih murah daripada OTP SMS?
Tergantung negara tujuan dan provider Anda. Meta menagih template autentikasi per pesan terkirim menurut pasar penerima, sedangkan SMS ditagih per segmen pada suatu rute. Di sebagian pasar yang satu lebih murah, di pasar lain sebaliknya. Jangan mengandalkan klaim umum: modelkan keduanya dengan alat harga kami dan volume Anda yang sebenarnya.
Apakah OTP WhatsApp lebih aman daripada OTP SMS?
Keduanya bukan autentikator yang kuat jika berdiri sendiri. OTP WhatsApp menghindari paparan SIM-swap pada jaringan SMS untuk pesan itu sendiri, tetapi akun tetap bisa diambil alih, dan pengguna bisa tertipu phishing agar membagikan kode. Keduanya adalah kode sekali pakai yang dikirim ke sebuah kanal. Gunakan masa berlaku singkat, percobaan terbatas, dan faktor yang lebih kuat untuk tindakan berisiko tinggi.
Apa itu template autentikasi WhatsApp?
Template dalam kategori autentikasi Meta, yang dipakai hanya untuk kode sandi sekali pakai. Pengiriman dapat berupa salin kode, autofill one-tap, atau zero-tap. Template membutuhkan persetujuan Meta dan memiliki struktur tetap. Di API kami Anda membuatnya dengan category AUTHENTICATION dan menetapkan deliveryMode ke COPY_CODE, ONE_TAP, atau ZERO_TAP.
Kapan sebaiknya beralih dari WhatsApp ke SMS?
Ketika pesan WhatsApp gagal, ditolak, atau belum mencapai status terkirim dalam jeda singkat yang Anda tetapkan, misalnya waktu yang wajar ditunggu pengguna. Batasi fallback per nomor dan per sesi, kedaluwarsakan kode pertama saat Anda mengirim yang kedua, dan catat kanal mana yang berhasil.
Apakah saya perlu opt-in untuk pesan OTP?
Ya untuk WhatsApp, karena kebijakan Meta mensyaratkan pengguna opt-in untuk menerima pesan dari bisnis. Biasanya pengguna memberikan nomornya dan meminta kode, yang merupakan tindakan yang jelas, dan syarat serta pemberitahuan privasi Anda sebaiknya menjelaskan kanalnya. Aturan SMS bervariasi menurut negara, jadi periksa persyaratan Sender ID dan persetujuan untuk tujuan Anda.
Bisakah OTP dikirim lewat kedua kanal sekaligus?
Bisa tetapi jarang bijak. Mengirim kode yang sama dua kali menggandakan biaya, membingungkan pengguna, dan memperluas celah penyalahgunaan. Pilih pengiriman berurutan: coba kanal pilihan, tunggu status, lalu beralih sekali. Pilih kanal berdasarkan preferensi pengguna atau data negara jika Anda memilikinya.
Sumber
Lanjut membaca
Panduan lainnyaWhatsApp
Perubahan WhatsApp Business API 2026: Linimasa dan Langkah Aksi
Linimasa perubahan WhatsApp Business API 2026: pembaruan daftar harga, tagihan pesan layanan dan utilitas 1 Oktober, penghentian Embedded Signup v2, syarat AI.
10 menit baca
WhatsApp
Pesan WhatsApp Business API Gratis di 2026: Apa yang Tanpa Biaya
Pesan WhatsApp Business API mana yang gratis di 2026: 1.000 pesan layanan gratis per nomor, jendela free entry point selama 72 jam, dan apa saja yang ditagih.
9 menit baca
Integrasi
WhatsApp MCP Server: Hubungkan Agen AI ke WhatsApp dan SMS
Cara WhatsApp MCP server memungkinkan Claude, Cursor, dan agen AI lain mengirim pesan WhatsApp dan SMS dengan aman: setup, guardrail, persetujuan, contoh kasus.
9 menit baca
