Template autentikasi akan tersedia di India pada 1 Juli 2024.
Jika aplikasi seluler Anda menawarkan opsi kepada pengguna untuk menerima kata sandi atau kode verifikasi sekali pakai melalui WhatsApp, Anda harus menggunakan template autentikasi.
Template autentikasi terdiri dari:
Tombol isi otomatis sekali ketuk adalah solusi yang disukai karena menawarkan pengalaman pengguna terbaik. Namun, tombol isi otomatis sekali ketuk saat ini hanya didukung di Android dan memerlukan perubahan tambahan pada kode aplikasi Anda.
Lihat pedoman tambahan untuk mengetahui waktu yang tepat untuk menggunakan template autentikasi.
Template autentikasi menyertakan tombol isi otomatis sekali ketuk.
Saat pengguna WhatsApp mengetuk tombol isi otomatis, klien WhatsApp memicu aktivitas yang membuka aplikasi Anda dan menyampaikan kata sandi atau kode.
Lihat Template Autentikasi Isi Otomatis Sekali Ketuk untuk mempelajari cara menggunakannya.
Template autentikasi salin kode memungkinkan Anda untuk mengirim kata sandi atau kode sekali pakai bersama dengan tombol salin kode kepada pengguna Anda.
Saat pengguna WhatsApp mengetuk tombol salin kode, klien WhatsApp menyalin kata sandi atau kode ke papan klip perangkat. Pengguna kemudian dapat beralih ke aplikasi Anda dan menempelkan kata sandi atau kode ke dalam aplikasi Anda.
Lihat Template Autentikasi Salin Kode untuk mempelajari cara menggunakannya.
Template autentikasi tanpa ketuk memungkinkan pengguna Anda untuk menerima kata sandi atau kode sekali pakai melalui WhatsApp tanpa harus keluar dari aplikasi Anda.
Ketika pengguna di aplikasi Anda meminta kata sandi atau kode dan Anda menyampaikannya dengan template autentikasi tanpa ketuk, klien WhatsApp menyiarkan kata sandi atau kode yang disertakan, yang kemudian dapat ditangkap oleh aplikasi Anda dengan penerima siaran.
Lihat Template Autentikasi Isi Otomatis Tanpa Ketuk untuk mempelajari cara menggunakannya.
Lihat juga Praktik Terbaik untuk Mengautentikasi Pengguna melalui WhatsApp.
Jika kami tidak dapat menyampaikan pesan ke pengguna WhatsApp, kami akan terus berusaha menyampaikan pesan itu selama periode waktu yang disebut sebagai time-to-live.
Secara default, pesan memiliki time-to-live selama 30 hari, tetapi template autentikasi yang baru dibuat memiliki time-to-live default selama 10 menit.
Jika kami tidak dapat mengirimkan template autentikasi untuk jangka waktu yang melebihi time-to-live, kami akan berhenti mencobanya lagi dan membatalkan pesan. Jika waktu antara permintaan kirim pesan template autentikasi Anda melebihi waktu time-to-live dan Anda tidak menerima Webhooks, anggap saja sudah pesan sudah dibatalkan.
Untuk mengganti time-to-live default saat membuat template autentikasi, sertakan properti message_send_ttl_seconds
dengan nilai yang diatur antara 60
dan 600
detik.
Template yang ada dan dibuat sebelum fungsi ini tersedia memiliki time-to-live selama 30 hari. Jika Anda mau, Anda dapat mengedit template yang ada dan mengganti time-to-live dengan mengatur properti message_send_ttl_seconds
.
Anda juga dapat mengatur properti message_send_ttl_seconds
template autentikasi ke -1
. Hal ini mengatur time-to-live hingga 30 hari.
Kami mendorong Anda untuk mengatur time-to-live semua template autentikasi, sebaiknya sama atau kurang dari waktu kedaluwarsa kode, untuk memastikan pelanggan hanya mendapatkan pesan saat kode itu masih dapat digunakan.
Perhatikan bahwa mungkin ada penundaan kecil dalam pengiriman Webhooks pesan yang gagal, jadi Anda mungkin ingin membangun bufer kecil ketika menyimpulkan pembatalan.
Gunakan Cloud API atau On-Premises API untuk mengirim template autentikasi yang disetujui dalam pesan template.
Anda dapat membuat pratinjau teks template autentikasi dalam berbagai bahasa yang menyertakan atau mengecualikan string rekomendasi keamanan dan string kadaluwarsa kode menggunakan endpoint Akun WhatsApp Business > Pratinjau Template Pesan.
GET /<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_template_previews ?category=AUTHENTICATION, &language=<LANGUAGE>, // Optional &add_security_recommendation=<ADD_SECURITY_RECOMMENDATION>, // Optional &code_expiration_minutes=<CODE_EXPIRATION_MINUTES>, // Optional &button_types=<BUTTON_TYPES> // Optional
Placeholder | Deskripsi | Contoh Nilai |
---|---|---|
Daftar yang dipisahkan koma | Opsional. Daftar kode bahasa dan locale yang dipisahkan koma dari versi bahasa yang ingin ditampilkan. Jika diabaikan, versi semua bahasa yang didukung akan ditampilkan. |
|
Boolean | Opsional. Atur ke Jika diabaikan, string rekomendasi keamanan tidak akan disertakan. |
|
Int64 | Opsional. Atur ke bilangan bulat jika Anda ingin footer kedaluwarsa kode disertakan dalam tanggapan. Jika diabaikan, string footer kedaluwarsa kode tidak akan disertakan. Nilai menunjukkan jumlah menit sampai kode kedaluwarsa. Minim
al |
|
Daftar string yang dipisahkan koma | Wajib. Daftar string yang dipisahkan koma menunjukkan jenis tombol. Jika disertakan, tanggapan akan mencakup teks tombol untuk setiap tombol dalam tanggapan. Untuk template autentikasi, nilai ini haruslah |
|
curl 'https://graph.facebook.com/v17.0/102290129340398/message_template_previews?category=AUTHENTICATION&languages=en_US,es_ES&add_security_recommendation=true&code_expiration_minutes=10&button_types=OTP' \ -H 'Authorization: Bearer EAAJB...'
{ "data": [ { "body": "*{{1}}* is your verification code. For your security, do not share this code.", "buttons": [ { "autofill_text": "Autofill", "text": "Copy code" } ], "footer": "This code expires in 10 minutes.", "language": "en_US" }, { "body": "Tu código de verificación es *{{1}}*. Por tu seguridad, no lo compartas.", "buttons": [ { "autofill_text": "Autocompletar", "text": "Copiar código" } ], "footer": "Este código caduca en 10 minutos.", "language": "es_ES" } ] }
Gunakan endpoint Akun WhatsApp Business > Sertakan Template Pesan untuk pembaruan massal atau membuat template autentikasi dalam berbagai bahasa yang mencakup atau mengecualikan peringatan keamanan dan kedaluwarsa yang bersifat opsional.
Jika template sudah ada dengan nama dan bahasa yang cocok, template akan diperbarui dengan konten permintaan, jika tidak, template baru akan dibuat.
POST /<WHATSAPP_BUSINESS_ACCOUNT_ID>/upsert_message_templates
{ "name": "<NAME>", "languages": [<LANGUAGES>], "category": "AUTHENTICATION", "components": [ { "type": "BODY", "add_security_recommendation": <ADD_SECURITY_RECOMMENDATION> // Optional }, { "type": "FOOTER", "code_expiration_minutes": <CODE_EXPIRATION_MINUTES> // Optional }, { "type": "BUTTONS", "buttons": [ { "type": "OTP", "otp_type": "<OTP_TYPE>", "package_name": "<PACKAGE_NAME>", // One-tap buttons only "signature_hash": "SIGNATURE_HASH>", // One-tap buttons only } ] } ] }
Semua properti pembuatan template didukung, dengan pengecualian ini:
language
tidak didukung. Sebagai gantinya, gunakan languages
dan atur nilainya ke array string kode bahasa dan locale. Contoh: ["en_US","es_ES","fr"]
.text
tidak didukung.autofill_text
tidak didukung.Contoh ini menciptakan tiga template autentikasi dalam bahasa Inggris, Spanyol, dan Prancis, dengan tombol salin kode. Setiap template diberi nama "authentication_code_copy_code_button" dan menyertakan rekomendasi keamanan dan waktu kedaluwarsa.
curl 'https://graph.facebook.com/v17.0/102290129340398/upsert_message_templates' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer EAAJB...' \ -d ' { "name": "authentication_code_copy_code_button", "languages": ["en_US","es_ES","fr"], "category": "AUTHENTICATION", "components": [ { "type": "BODY", "add_security_recommendation": true }, { "type": "FOOTER", "code_expiration_minutes": 10 }, { "type": "BUTTONS", "buttons": [ { "type": "OTP", "otp_type": "COPY_CODE" } ] } ] }'
Contoh ini (1) memperbarui template yang ada dengan nama "authentication_code_autofill_button" dan bahasa "en_US", serta (2) membuat dua template autentikasi baru dalam bahasa Spanyol dan Prancis dengan tombol isi otomatis sekali ketuk. Kedua template yang baru dibuat bernama "authentication_code_autofill_button" dan menyertakan rekomendasi keamanan dan waktu kedaluwarsa.
curl 'https://graph.facebook.com/v17.0/102290129340398/upsert_message_templates' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer EAAJB...' \ -d ' { "name": "authentication_code_autofill_button", "languages": ["en_US","es_ES","fr"], "category": "AUTHENTICATION", "components": [ { "type": "BODY", "add_security_recommendation": true }, { "type": "FOOTER", "code_expiration_minutes": 15 }, { "type": "BUTTONS", "buttons": [ { "type": "OTP", "otp_type": "ONE_TAP", "package_name": "com.example.luckyshrub", "signature_hash": "K8a%2FAINcGX7" } ] } ] }'
{ "data": [ { "id": "954638012257287", "status": "APPROVED", "language": "en_US" }, { "id": "969725527415202", "status": "APPROVED", "language": "es_ES" }, { "id": "969725530748535", "status": "APPROVED", "language": "fr" } ] }
Lihat Contoh Aplikasi Kata Sandi Sekali Pakai (OTP) WhatsApp untuk Android di Github. Contoh aplikasi menunjukkan cara mengirim dan menerima kata sandi dan kode OTP melalui API, cara mengintegrasikan tombol pengisian otomatis sekali ketuk dan tombol salin kode, cara membuat template, dan cara menjalankan contoh server.