Template Autentikasi

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:

  • Teks preset tetap: <VERIFICATION_CODE> adalah kode verifikasi Anda.
  • Penafian keamanan (opsional): Demi keamanan Anda, jangan bagikan kode ini.
  • Peringatan kedaluwarsa (opsional): Kode ini kedaluwarsa dalam <NUM_MINUTES> menit.
  • Salah satu dari tombol isi otomatis sekali ketuk, tombol salin kode, atau tidak ada tombol sama sekali jika menggunakan tanpa ketuk.

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 Isi Otomatis Sekali Ketuk

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

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

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.

Praktik Terbaik

  • Konfirmasikan nomor telepon WhatsApp pengguna sebelum mengirim kata sandi atau kode satu kali ke nomor itu.
  • Pastikan pengguna Anda jelas bahwa kata sandi atau kode akan dikirim ke nomor ponsel WhatsApp mereka, terutama jika Anda menawarkan beberapa cara bagi pengguna untuk menerima kata sandi atau penyampaian kode. Lihat Mendapatkan Persetujuan Ikut Serta untuk informasi selengkapnya.
  • Saat pengguna menempelkan kata sandi atau kode ke dalam aplikasi Anda, atau aplikasi Anda menerimanya sebagai bagian dari alur tombol isi otomatis sekali ketuk, jelaskan kepada pengguna bahwa aplikasi Anda telah menangkapnya.

Lihat juga Praktik Terbaik untuk Mengautentikasi Pengguna melalui WhatsApp.

Time-To-Live

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.

Mengirim Pesan Template Autentikasi

Gunakan Cloud API atau On-Premises API untuk mengirim template autentikasi yang disetujui dalam pesan template.

Pratinjau 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.

Sintaksis Permintaan

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

Parameter String Kueri

PlaceholderDeskripsiContoh Nilai

<LANGUAGE>

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.

en_US,es_ES

<ADD_SECURITY_RECOMMENDATION>

Boolean

Opsional.


Atur ke true jika Anda ingin string body rekomendasi keamanan disertakan dalam tanggapan.


Jika diabaikan, string rekomendasi keamanan tidak akan disertakan.

true

<CODE_EXPIRATION_MINUTES>

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 1, maksimal 90.

10

<BUTTON_TYPES>

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 OTP.

OTP

Contoh Permintaan

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...'

Contoh Tanggapan

{
  "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"
    }
  ]
}

Pengelolaan Massal

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.

Sintaksis Permintaan

POST /<WHATSAPP_BUSINESS_ACCOUNT_ID>/upsert_message_templates

Body Postingan

{
  "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
        }
      ]
    }
  ]
}

Properti

Semua properti pembuatan template didukung, dengan pengecualian ini:

  • Properti language tidak didukung. Sebagai gantinya, gunakan languages dan atur nilainya ke array string kode bahasa dan locale. Contoh: ["en_US","es_ES","fr"].
  • Properti text tidak didukung.
  • Properti autofill_text tidak didukung.

Contoh Permintaan Salin Kode

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 Permintaan Isi Otomatis Sekali Ketuk

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"
        }
      ]
    }
  ]
}'

Contoh Tanggapan

{
  "data": [
    {
      "id": "954638012257287",
      "status": "APPROVED",
      "language": "en_US"
    },
    {
      "id": "969725527415202",
      "status": "APPROVED",
      "language": "es_ES"
    },
    {
      "id": "969725530748535",
      "status": "APPROVED",
      "language": "fr"
    }
  ]
}

Contoh Aplikasi

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.

Lihat Juga