Lewati ke konten
OmniChannels.ai

Alat gratis

Generator Pesan OTP untuk SMS dan WhatsApp

Buat pesan kode verifikasi yang muat dalam satu SMS, terisi otomatis (autofill) di Android dan iPhone, serta sesuai dengan template autentikasi WhatsApp dari Meta. Dilengkapi jumlah segmen, kode API siap kirim, dan daftar periksa keamanan.

Gratis · tanpa pendaftaran · berjalan di browser Anda

Ditampilkan di dalam pesan. Buat sesingkat mungkin: setiap karakter dihitung dalam satu SMS.

menit
Jenis kode
Kode contoh 482913
Kanal

Standar (kode di awal)

482913 is your OmniDemo verification code. It expires in 5 minutes. Never share this code with anyone.

GSM-7 · 102 karakter · 1 SMS

Singkat

OmniDemo: your code is 482913. Valid for 5 min. Don't share it.

GSM-7 · 63 karakter · 1 SMS

Reset kata sandi

482913 is your OmniDemo password reset code. It expires in 5 minutes. If you didn't request it, ignore this message.

GSM-7 · 116 karakter · 1 SMS

Sumber: dokumentasi Google SMS Retriever, WICG origin-bound one-time codes, dokumentasi Apple Password AutoFill, template autentikasi Meta (dicek 10 Okt 2026).

Butuh OTP via SMS, WhatsApp, dan suara dengan fallback otomatis dan satu tagihan? Lihat OTP & notifikasi

Data yang Anda ketik di sini tidak dikirim ke server kami.

Jawaban singkat

SMS OTP yang baik menaruh kode di awal, menyebut nama brand, menyatakan masa berlaku, dan mengingatkan pengguna agar tidak membagikannya, misalnya: "482913 adalah kode verifikasi Acme Anda. Berlaku selama 5 menit. Jangan bagikan kode ini." Jaga agar pesan tetap satu segmen (160 karakter GSM-7 atau 70 karakter Unicode) dan jangan sertakan tautan. Untuk autofill Android, tambahkan app hash 11 karakter milik aplikasi Anda. Untuk iOS dan web, akhiri pesan dengan "@yourdomain.com #482913".

Cara membuat pesan OTP

  1. 1

    Masukkan brand dan aturan kode

    Ketik nama aplikasi atau brand Anda, lalu pilih panjang kode 4 sampai 8 karakter, hanya angka atau huruf dan angka, serta berapa menit kode tetap berlaku.

  2. 2

    Pilih bahasa dan kanal

    Pilih bahasa Inggris, Arab, Prancis, Spanyol, Jerman, atau Portugis, lalu pilih SMS, WhatsApp, atau keduanya. Pesan berbahasa Arab dihitung sebagai Unicode (70 karakter per SMS).

  3. 3

    Tambahkan detail autofill

    Secara opsional, tempelkan hash 11 karakter aplikasi Android Anda dan domain situs web Anda. Alat ini membuat format SMS Retriever, format terikat domain, dan format gabungan, lalu memeriksa batas 140 byte.

  4. 4

    Salin pesan atau kodenya

    Salin salah satu varian SMS, JSON template WhatsApp, atau permintaan cURL atau Node.js untuk API SMS kami. Setelah itu, jalankan daftar periksa keamanan sebelum Anda go live.

Isi template SMS OTP yang baik

Pesan verifikasi punya satu tugas: mengirim kode yang tepat kepada orang yang tepat dengan cepat, dan dengan cara yang sulit disalahgunakan. Sebagian besar pengguna membaca kode dari notifikasi layar kunci, yang hanya menampilkan baris pertama atau sekitarnya. Taruh kode di awal atau dekat awal pesan, dan buat brand tampak jelas agar pengguna tahu layanan mana yang mengirimnya.

Panjang pesan memengaruhi biaya dan keandalan. Satu SMS GSM-7 memuat 160 karakter. Begitu pesan dipecah, setiap bagian memuat 153 karakter. Satu karakter saja di luar alfabet GSM-7, seperti huruf Arab, emoji, apostrof melengkung, atau huruf beraksen seperti "ó" atau "ç", akan mengubah seluruh pesan menjadi UCS-2. Batasnya turun menjadi 70 karakter, atau 67 per bagian. OTP dua bagian berbiaya dua kali lipat dan memiliki peluang sedikit lebih besar salah satu bagiannya tiba terlambat. Generator ini menampilkan encoding dan jumlah segmen untuk setiap varian, serta dapat mengganti huruf beraksen dengan huruf biasa agar pesan berbahasa Spanyol, Portugis, dan Prancis tetap dalam GSM-7.

  • Kode di awal: "482913 adalah kode Acme Anda" tampil di pratinjau notifikasi.
  • Nama brand: memberi tahu pengguna layanan mana yang mengirim kode, sehingga phishing lebih sulit dilakukan.
  • Masa berlaku: "Berlaku selama 5 menit" menetapkan ekspektasi dan membatasi penyalahgunaan.
  • Peringatan: "Jangan bagikan kode ini kepada siapa pun, termasuk staf kami."
  • Tanpa tautan: operator sering memfilter OTP yang berisi URL, dan tautan membiasakan pengguna mengetuk tautan phishing.

Autofill Android: format SMS Retriever

SMS Retriever API dari Google memungkinkan aplikasi Android membaca SMS verifikasi tanpa izin SMS dan tanpa pengguna perlu mengetik apa pun. Menurut dokumentasi Google, pesan tidak boleh lebih dari 140 byte, harus memuat kode sekali pakai, dan harus menyertakan string hash 11 karakter yang mengidentifikasi aplikasi Anda. Batas 140 byte itu setara dengan 160 karakter GSM-7 atau 70 karakter UCS-2, jadi dalam praktiknya pesan harus muat dalam satu SMS.

Hash tersebut adalah 11 karakter pertama dari hash SHA-256 berenkode base64 atas nama package dan sertifikat penandatanganan aplikasi Anda. Contoh dari Google menaruhnya di baris tersendiri di akhir: "Your ExampleApp code is: 123ABC78", satu baris kosong, lalu "FA+9qCX9VSu". Hitung hash dari keystore produksi Anda dan tanam secara permanen (hard-code) di server. Google menyarankan agar tidak memakai string hash yang dihitung secara dinamis di sisi klien. Dokumentasi versi lama mewajibkan pesan diawali "<#>". Halaman saat ini tidak mencantumkan awalan itu. Awalan tersebut tidak berbahaya, tetapi memakan 4 karakter. Jika Anda tidak dapat mengatur format pesan, alternatifnya adalah SMS User Consent API: pengguna mengetuk sekali untuk mengizinkan aplikasi Anda membaca satu pesan tersebut.

Autofill iPhone dan web: kode terikat domain

iOS dan macOS mendeteksi kode di SMS masuk dan menyarankannya di atas keyboard ketika kolom ditandai sebagai kolom kode sekali pakai: textContentType = .oneTimeCode di aplikasi native, atau autocomplete="one-time-code" pada input HTML, seperti dijelaskan dalam dokumentasi developer Apple. Sejak iOS 14 dan macOS Big Sur, Safari juga mendukung kode sekali pakai yang terikat origin, yaitu format yang didefinisikan dalam spesifikasi WICG "Origin-bound one-time codes delivered via SMS".

Dalam format itu, baris terakhir pesan berbunyi "@example.com #747723": domain dengan @ di depannya, lalu tepat satu spasi, kemudian kode dengan # di depannya. Nilai ketiga yang opsional, "@embedded.example", menyebutkan situs yang disematkan. Teks yang dapat dibaca manusia boleh berada sebelum baris terakhir. Teks lain di antara nilai-nilai tersebut membuat baris itu tidak valid. AutoFill lalu hanya menawarkan kode di domain tersebut atau di aplikasi yang terhubung dengannya, sehingga phishing jauh lebih sulit. Generator ini membuat pesan gabungan yang memuat hash Android dan baris terakhir terikat domain, dan untuk bahasa beraksara Latin tetap muat dalam 140 byte. Untuk bahasa Arab, kirim format Android dan iOS secara terpisah.

Template autentikasi WhatsApp: apa yang bisa dan tidak bisa diubah

WhatsApp mewajibkan template autentikasi untuk mengirim kata sandi sekali pakai (OTP), dan Meta menetapkan isi pesannya secara baku. Dalam bahasa Inggris bunyinya "<code> is your verification code." Anda dapat menambahkan baris keamanan dari Meta, "For your security, do not share this code.", dan footer masa berlaku, "This code expires in <N> minutes.", dengan code_expiration_minutes antara 1 dan 90. Setiap versi bahasa memakai terjemahan baku dari Meta sendiri. URL, media, dan emoji tidak didukung.

Anda yang memilih tombolnya. Copy code (salin kode) berfungsi di mana saja. One-tap autofill membuka aplikasi Android Anda beserta kodenya dan membutuhkan nama package, hash tanda tangan, dan handshake. Zero-tap (hanya Android) tidak memiliki tombol: WhatsApp langsung menyiarkan kode ke aplikasi Anda. Di iOS 26 ke atas, saran keyboard menawarkan kode dari notifikasi tanpa integrasi apa pun. Kode dapat sepanjang 15 karakter dan muncul dua kali dalam permintaan pengiriman, sebagai parameter body dan sebagai parameter tombol (sub_type "url"). Teks tombol Copy code dibatasi 25 karakter. Atur message_send_ttl_seconds agar kode yang sudah kedaluwarsa tidak terkirim terlambat. Meta juga hanya mengirim pesan autentikasi melalui Cloud API ke perangkat utama pengguna; perangkat tertaut hanya melihat pesan yang disamarkan.

Daftar periksa keamanan dan strategi fallback

Pesannya adalah bagian yang mudah. Sebagian besar penipuan OTP dan pembengkakan biaya berasal dari lemahnya aturan di sekitarnya. Berikut rekomendasi yang umum dipakai, bukan kewajiban hukum. Sesuaikan angkanya dengan tingkat risiko Anda sendiri.

Gunakan alur berjenjang (cascade) untuk pengiriman. Coba WhatsApp terlebih dahulu jika pengguna memilikinya, lakukan fallback (kanal cadangan) ke SMS setelah jeda singkat (misalnya 30 sampai 60 detik tanpa laporan pengiriman), dan tawarkan panggilan suara yang membacakan kode sebagai pilihan terakhir untuk telepon rumah dan sinyal yang buruk. Di negara Teluk (GCC), OTP termasuk trafik transaksional, sehingga aturan promosi seperti awalan sender "AD-" di Uni Emirat Arab (UEA) tidak berlaku. Sender ID Anda tetap harus didaftarkan di sebagian besar pasar, jadi periksa aturan setempat sebelum peluncuran.

  • 6 digit adalah standar yang umum; buat kode dengan generator acak yang aman secara kriptografis.
  • Masa berlaku singkat (5 sampai 10 menit), sekali pakai, dan simpan hanya hash dari kodenya.
  • Batasi pengiriman per nomor telepon dan per IP, terapkan jeda sebelum kirim ulang, dan kunci akses setelah sekitar 5 kali salah memasukkan kode.
  • Cegah SMS pumping (lonjakan trafik buatan) dengan hanya mengizinkan negara tujuan yang Anda layani.
  • Jangan pernah menaruh kode di dalam tautan atau URL, dan jangan pernah meminta pengguna membacakannya kepada agen.

Pertanyaan seputar pesan OTP

Apa format SMS OTP terbaik?

Kode di awal, lalu brand, masa berlaku, dan peringatan agar tidak dibagikan, dalam satu segmen dan tanpa tautan: "482913 adalah kode verifikasi Acme Anda. Berlaku selama 5 menit. Jangan bagikan kode ini kepada siapa pun." Tambahkan baris app hash untuk autofill Android dan "@yourdomain.com #482913" sebagai baris terakhir untuk autofill iOS dan web.

Seberapa panjang SMS OTP boleh dibuat?

Usahakan satu segmen: 160 karakter dalam GSM-7 atau 70 karakter dalam Unicode (misalnya bahasa Arab). SMS Retriever dari Google membatasi pesan hingga 140 byte, yang setara dengan batas satu SMS yang sama. Pesan yang lebih panjang dipecah menjadi bagian 153 atau 67 karakter dan ditagih per bagian.

Apakah autofill OTP Android masih membutuhkan awalan <#>?

Tidak. Dokumentasi SMS Retriever Google saat ini mensyaratkan tiga hal: maksimal 140 byte, kode sekali pakai, dan app hash 11 karakter. Awalan "<#>" berasal dari panduan lama. Tetap memakainya tidak berbahaya, tetapi memakan 4 karakter.

Bagaimana membuat OTP terisi otomatis di iPhone?

Tandai input sebagai kolom kode sekali pakai (textContentType .oneTimeCode di aplikasi, autocomplete="one-time-code" di web). iOS kemudian menyarankan kode dari Pesan. Untuk mengikat kode ke situs Anda, akhiri SMS dengan "@yourdomain.com #123456", dengan tepat satu spasi di antara kedua nilai.

Bisakah saya mengubah teks template autentikasi WhatsApp?

Tidak. Meta menetapkan isi pesan ("<code> is your verification code.") dan menerjemahkannya untuk tiap bahasa. Anda hanya dapat menambahkan baris keamanan opsional, footer masa berlaku 1 sampai 90 menit, serta memilih tombol copy code, one-tap, atau zero-tap. URL, media, dan emoji tidak diizinkan.

Sebaiknya kirim OTP lewat WhatsApp atau SMS?

Gunakan keduanya. WhatsApp menawarkan tombol salin kode dan autofill one-tap serta menampilkan nama bisnis Anda yang terverifikasi. SMS menjangkau setiap ponsel, dengan atau tanpa data. Pola yang umum: coba WhatsApp lebih dulu, fallback ke SMS setelah 30 sampai 60 detik tanpa pengiriman, dan tawarkan panggilan suara sebagai pilihan terakhir.

Mengapa OTP berbahasa Arab saya terpecah menjadi dua pesan?

Teks Arab memakai encoding UCS-2, yang hanya mengizinkan 70 karakter dalam satu SMS dan 67 per bagian setelah dipecah. Buat kalimat berbahasa Arab sesingkat mungkin, gunakan angka Barat untuk kodenya, dan periksa jumlahnya di generator sebelum mengirim.

Amankah menaruh tautan login di SMS OTP?

Sebaiknya dihindari. Tautan di pesan verifikasi mempermudah phishing, lebih sering difilter operator, dan membiasakan pengguna mengetuk tautan di SMS. Kirim kodenya saja, dan biarkan pengguna mengetiknya atau memakai autofill di aplikasi Anda.

Alat gratis lainnya