# Template autentikasi WhatsApp

Template autentikasi mengirimkan kode verifikasi sekali pakai. Meta menyediakan teksnya saat Anda membuat template. Saat mengirimnya, berikan kode tersebut sebagai parameter body.

## Sebelum Anda mengirim

Pilih apakah Anda ingin menggunakan template yang dikelola Bird atau membuat template sendiri di akun bisnis Anda.

Mengirim template katalog bawaan Bird, `bird_otp` dan `bird_otp_authifly`, tidak memerlukan verifikasi dari Anda. Template tersebut berada di WhatsApp Business Account milik Bird sendiri, dan jalur pengiriman terkelola tidak pernah memeriksa status verifikasi bisnis Anda.

Ketika akun bisnis yang terhubung melaporkan `not_verified`, Bird menolak pembuatan atau duplikasi template autentikasi dengan `412` [`E15043`](/docs/api/errors/E15043) `WhatsAppTemplateBusinessNotVerified`. Periksa akun yang terhubung dan status tersinkronisasi terakhirnya. Lihat [Verifikasi bisnis WhatsApp](/docs/knowledge-base/whatsapp/business-verification) untuk proses verifikasi dan penanganan status.

Pembuatan template utility dan marketing tidak terpengaruh oleh persyaratan ini; Anda tetap dapat membuat dan mengeditnya apa pun status verifikasi Anda.

Buat template di dashboard, dengan [`bird` CLI](/docs/cli), atau melalui [server MCP](/docs/ai/mcp-server). Lihat [Membuat template WhatsApp](/docs/guides/whatsapp/authoring-templates) untuk alur lengkapnya.

## Mengirim kode verifikasi

`POST /v1/whatsapp/messages` dengan objek `template` yang menyebut slug katalog:

**TypeScript**

```typescript
const msg = await bird.whatsapp.send({
  to: "+14155550100",
  template: {
    slug: "bird_otp",
    language: "en",
    components: [{ type: "body", parameters: [{ type: "text", text: "481920" }] }],
  },
});
console.log(msg.id, msg.status);
```

Examples: [TypeScript](/id-id/dokumentasi/guides/whatsapp/templates/authentication.ts.md) · [Python](/id-id/dokumentasi/guides/whatsapp/templates/authentication.py.md) · [Go](/id-id/dokumentasi/guides/whatsapp/templates/authentication.go.md) · [PHP](/id-id/dokumentasi/guides/whatsapp/templates/authentication.php.md) · [CLI](/id-id/dokumentasi/guides/whatsapp/templates/authentication.cli.md) · [MCP](/id-id/dokumentasi/guides/whatsapp/templates/authentication.mcp.md) · [cURL](/id-id/dokumentasi/guides/whatsapp/templates/authentication.curl.md)

Empat aturan khusus untuk kategori ini:

- **Jangan sertakan `from`.** Template yang dikelola Bird memilih pengirimnya sendiri berdasarkan kategori dan wilayah, sehingga menyetel `from` menghasilkan `422` [`E15018`](/docs/api/errors/E15018) `WhatsAppSenderNotAllowed`. Ini kebalikan dari pengiriman bebas yang memerlukan `from`, penting diingat jika Anda datang dari halaman pesan interaktif.
- **`to` harus berupa nomor telepon E.164.** Template autentikasi tidak dapat dikirim ke ID pengguna cakupan bisnis; itu menghasilkan `422` [`E15014`](/docs/api/errors/E15014) `WhatsAppRecipientNotSupportedForTemplate`.
- **Body menerima tepat satu parameter posisional, yaitu kode.** Tanpa parameter, atau menamai parameter, menghasilkan `422` [`E15003`](/docs/api/errors/E15003) `WhatsAppTemplateParameterMismatch`. Autentikasi adalah satu-satunya kategori yang ditulis Meta secara posisional; semua kategori lain menamai parameternya.
- **Tidak perlu jendela layanan pelanggan.** Pengiriman template tidak dibatasi jendela, dan itulah alasan template kode verifikasi ada: template harus bisa menjangkau seseorang yang belum pernah mengirim pesan kepada Anda.

Baca bahasa yang tersedia untuk `bird_otp` atau `bird_otp_authifly` dari katalog template. Jika bahasa yang Anda minta tidak tersedia, pengiriman gagal alih-alih mengganti dengan bahasa lain.

## Tombol salin kode

Meta menulis body template autentikasi sendiri, sebagai preset dengan satu placeholder kode, jadi Anda menyediakan flag, bukan teks. Komponen tombol bersifat opsional dalam pengiriman: jika Anda tidak menyertakannya, Bird menambahkannya untuk Anda dengan kode yang sama seperti di body. Anda juga dapat menyediakannya sendiri:

```json
{ "type": "button", "parameters": [{ "type": "text", "text": "481920" }] }
```

Bagaimanapun, tepat satu tombol sampai ke WhatsApp, yaitu tombol salin kode: mengetuknya menyalin kode ke clipboard. Bird hanya mendukung `copy_code`; dua perilaku tombol lain yang didokumentasikan Meta untuk template autentikasi, one-tap dan zero-tap autofill, tidak tersedia di Bird saat ini.

Pembuatan tombol template mengikuti bentuk yang sama: satu tombol `otp`, dan template tidak menerima tipe tombol lain. Anda menyediakan `add_security_recommendation` (boolean yang ditampilkan di body) dan `code_expiration_minutes` (1 sampai 90, ditampilkan di footer) alih-alih menulis teks.

## Apa yang Meta izinkan dalam template autentikasi

Meta menetapkan struktur template autentikasi dan meninjau isinya: tidak boleh ada URL, media, atau emoji di mana pun dalam template, dan batas 15 karakter pada parameter kode. Kategori ini juga mengubah cara WhatsApp mengirimkan pesan, yaitu hanya ke perangkat utama penerima. Lihat [Panduan template](/docs/knowledge-base/whatsapp/template-guidelines) untuk struktur tetap, batas karakter, dan proses peninjauan selengkapnya.

## Biaya

Kategori dan tujuan menentukan harga. Lihat [Tarif authentication-international WhatsApp](/docs/knowledge-base/whatsapp/authentication-international-rates) untuk mengetahui bagaimana pengiriman ke negara selain lokasi utama Anda dapat mengubahnya, dan [Biaya dan penagihan](/docs/guides/whatsapp/sending-whatsapp#cost-and-billing) untuk mengetahui kapan pengiriman dikenakan biaya. Angka tarif tersedia di [Harga WhatsApp](/products/whatsapp/pricing).

## Hal yang perlu diperhatikan

- **Template bawaan Bird tidak mengirim ke sembilan negara.** `bird_otp` dan `bird_otp_authifly` mengirim dari WhatsApp Business Account milik Bird sendiri, dan akun tersebut tidak mengirimkan pesan autentikasi ke Mesir, India, Indonesia, Malaysia, Nigeria, Pakistan, Arab Saudi, Afrika Selatan, atau Uni Emirat Arab. Pengiriman semacam itu ditolak `422` [`E15063`](/docs/api/errors/E15063) `WhatsAppDestinationRestricted` sebelum dikenakan biaya. Template yang Anda buat di akun sendiri, dikirim dari nomor Anda sendiri, menjangkau negara-negara ini secara normal. [Verify](/docs/guides/verify/countries#where-whatsapp-cannot-carry-a-passcode) juga menjangkau mereka, dengan memindahkan kode verifikasi ke kanal lain secara otomatis.
- **Pengiriman template buatan sendiri memerlukan `from`, dan nomor pengirim harus berada di WhatsApp Business Account yang sama dengan template.** Pengirim dari akun berbeda ditolak `422` [`E15023`](/docs/api/errors/E15023) `WhatsAppSenderWABAMismatch` sebelum dikenakan biaya.
- **Hanya bahasa yang versinya disetujui dan aktif yang dapat dikirim.** Bahasa berstatus draf, pending, ditolak, atau dijeda tidak dapat dikirim.
- **Meta dapat mengubah kategori template atas inisiatifnya sendiri.** Tidak ada opsi menolak, dan perubahan kategori ini turut mengubah aturan harga dan pengiriman yang berlaku.
- **Kategori template dan kategori bahasanya bisa berbeda.** Lihat [Template WhatsApp](/docs/guides/whatsapp/templates#listing-templates-from-the-api) untuk cara jalur pengiriman menyelesaikan hal ini.
- **Template autentikasi yang sudah diimpor tidak dapat diduplikasi.** Bird tidak dapat membaca kembali teks yang dibuat WhatsApp lalu mengubahnya kembali menjadi pengaturan untuk membuat template baru; itu menghasilkan `422` [`E15024`](/docs/api/errors/E15024) `WhatsAppTemplateContentNotDuplicable`. Buat template baru dengan rekomendasi keamanan dan kedaluwarsa kode tersendiri.

## Langkah selanjutnya

- [Template WhatsApp](/docs/guides/whatsapp/templates): menelusuri katalog dan kontrak pengiriman berdasarkan template yang digunakan bersama
- [Template utility](/docs/guides/whatsapp/templates/utility): pembaruan pesanan, pengingat janji temu, dan pemberitahuan akun
- [Verifikasi bisnis WhatsApp](/docs/knowledge-base/whatsapp/business-verification): cara kerja verifikasi dan apa lagi yang dibukanya

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/products/whatsapp) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
