Sign inGet Started

Template WhatsApp

Pengiriman WhatsApp yang dimulai oleh bisnis menggunakan template yang telah disetujui. Template berisi teks tetap dan variabel, sehingga pengiriman hanya perlu menyertakan nilai seperti kode OTP atau nomor pesanan.
Bird menyediakan katalog terkelola, mendaftarkan isinya ke WhatsApp, dan mengirimnya dari nomor milik Bird; slug-nya diawali dengan bird_. Workspace yang telah menghubungkan nomor miliknya sendiri juga dapat membuat template di WhatsApp Business Account miliknya sendiri. Halaman Templates menampilkan semua template yang dapat dikirim workspace beserta tampilan rendernya.
Halaman WhatsApp Templates di dashboard Bird, menampilkan daftar template. Kotak pencarian dengan filter status dan kategori berada di atas tabel. Setiap baris menampilkan status template, yaitu Draft atau Active, lalu nama dan slug-nya, kategorinya, bahasa yang tersedia, WABA yang menyimpannya, dan kapan terakhir diubah.

Menelusuri template di dashboard

Buka Templates di WhatsApp > Templates. Your templates berisi template yang dibuat workspace ini; All templates menambahkan katalog terkelola Bird. Cari berdasarkan nama atau filter berdasarkan status dan kategori, dan beralih antara tampilan kartu dan tampilan daftar dengan tombol di samping filter.
Dalam tampilan daftar, setiap baris menampilkan kolom yang Anda butuhkan untuk memilih dan mengirim template:
  • Status: apakah template dapat dikirim secara keseluruhan. Template katalog terkelola menampilkan active; template milik Anda menampilkan status persetujuannya. Periksa daftar bahasa untuk memastikan bahasa yang diperlukan tersedia.
  • Name: label tampilan, dengan slug template di bawahnya. Kirim menggunakan slug.
  • Languages: bahasa yang didaftarkan untuk template, misalnya Inggris dan Belanda.
  • Category: authentication, utility, atau marketing. Kategori menentukan cara WhatsApp memperlakukan pesan, nomor Bird mana yang digunakan template terkelola untuk mengirim, dan bersama negara tujuan, harganya.
  • WABA: Bird-managed untuk template katalog. Template milik Anda menampilkan WhatsApp Business Account yang menyimpannya, dan hanya mengirim dari nomor di akun yang sama.
  • Updated: kapan template terakhir diubah.
Klik baris untuk membuka detail template.

Isi template

Tampilan detail merender isi pesan, variabel, dan tombol dalam pratinjau bergaya WhatsApp.
Detail juga menyediakan contoh cURL untuk POST /v1/whatsapp/messages, menggunakan host regional dan nilai contoh template. Ganti kunci API, penerima, dan nilai variabel sebelum mengirim.
Contoh tersebut adalah cara tercepat untuk melihat struktur yang harus diikuti pengiriman. Melalui API, konten yang sama diperoleh dari versi template (Membaca konten template).

Mendaftar template dari API

GET /v1/whatsapp/templates mengembalikan katalog berpaginasi kursor. Permintaan memerlukan akses baca whatsapp_management. Gunakan HTTP atau metode raw-request SDK.
type Templates = { data: Array<{ slug: string; status: string }> };

const templates = await bird.request<Templates>({
  method: "GET",
  path: "/v1/whatsapp/templates",
});
Setiap entri mengidentifikasi template, kategorinya, dan bahasa yang tersedia. Baca versi aktif secara terpisah untuk konten pesan.
Contoh kode
{
  "available_languages": ["en", "es", "pt-BR", "..."],
  "category": "authentication",
  "default_language": "en",
  "description": "One-time passcode",
  "id": "wat_01ky4x8e4genzb7way45txfkm1",
  "languages": {
    "en": { "status": "approved" },
    "es": { "status": "approved" },
    "pt-BR": { "status": "approved" },
    "...": "..."
  },
  "name": "bird_otp",
  "on_missing_language": "fail",
  "scope": "system",
  "slug": "bird_otp",
  "status": "active"
}
Contoh respons menyingkat daftar bahasa bird_otp.
Kolom yang menentukan pengiriman:
  • slug: handle yang digunakan dalam pengiriman. Slug template terkelola diawali dengan bird_, prefiks yang dicadangkan untuk template tersebut.
  • waba: WhatsApp Business Account yang menyimpan bahasa template di Meta, dan akun tempat nomor pengirim harus terdaftar. Tidak ada pada template terkelola karena Bird mengelola akunnya.
  • available_languages: bahasa yang dapat dikirim. Bahasa yang dijeda, dinonaktifkan, diarsipkan, atau dibatasi tidak masuk daftar ini.
  • on_missing_language: apa yang terjadi ketika bahasa yang diminta tidak tersedia. Template WhatsApp terkelola Bird menggunakan fail, yang menolak pengiriman alih-alih mengganti dengan bahasa lain.

Status dan status bahasa

Template terkelola Bird melaporkan status: active. languages.<tag>.status melaporkan status WhatsApp untuk satu bahasa, seperti approved, paused, atau disabled.
Template yang aktif tetap dapat memiliki bahasa yang tidak tersedia. Gunakan available_languages untuk menentukan apakah suatu bahasa dapat dikirim.

Membaca konten template

Konten pesan berada pada bahasa dalam versi aktif. Baca live_version_id dari template, lalu minta bahasa yang diperlukan:
const language = await bird.request({
  method: "GET",
  path: "/v1/whatsapp/templates/bird_order_confirmation/versions/{version_id}/languages/en",
});
Referensi template menerima slug atau ID wat_. GET …/versions/{version_id}/languages mendaftar bahasa versi tanpa kontennya.
Contoh kode
{
  "category": "utility",
  "components": [
    {
      "example_parameters": [
        { "name": "ref", "text": "A1B2C3D4", "type": "text" },
        { "name": "amount", "text": "USD 49.99", "type": "text" }
      ],
      "text": "Your order {{ref}} has been confirmed for a total of {{amount}}. Thanks for shopping with us.",
      "type": "body"
    }
  ],
  "language": "en",
  "status": "approved"
}
components pengiriman harus cocok dengan template. example_parameters mengidentifikasi setiap placeholder. Dalam contoh ini, parameter body menggunakan name: "ref" dan name: "amount". Template posisional menghilangkan name dan mengambil nilai sesuai urutan {{n}}. Tombol berparameter memiliki example_parameters sendiri.
category bahasa adalah kategori Meta yang digunakan untuk penetapan harga. Kategori ini dapat berbeda dari kategori terdaftar template jika Meta mengklasifikasi ulang bahasa tersebut.
Daftar variables versi merangkum setiap placeholder beserta key, tipe, flag required, dan batasan. Placeholder bernama menggunakan namanya sebagai key. Placeholder posisional menggunakan nomornya.

Mengirim dengan template

Tentukan template dalam objek template pengiriman dan isi variabelnya melalui components; lihat Mengirim pesan WhatsApp untuk payload lengkap:
const msg = await bird.whatsapp.send({
  to: "+15551234567",
  template: {
    slug: "bird_otp",
    components: [{ type: "body", parameters: [{ type: "text", text: "123456" }] }],
  },
});
console.log(msg.id, msg.status);

Mengirim berdasarkan kategori

Setiap template membawa salah satu dari tiga kategori Meta, dan kategori menentukan apa yang harus Anda lakukan sebelum pengiriman berhasil serta berapa biayanya. Membuat atau menyalin template autentikasi milik Anda memerlukan bisnis terverifikasi, tetapi mengirimnya tidak: bird_otp terkelola Bird berada di WhatsApp Business Account milik Bird dan mengirim tanpa verifikasi dari Anda. Template marketing selalu dikirim dari WhatsApp Business Account milik Anda, melalui API Meta kedua yang diarahkan Bird secara otomatis. Template utility memiliki prasyarat paling sedikit dari ketiganya.
  • Template autentikasi: kode verifikasi sekali pakai, tombol salin kode, dan gerbang verifikasi untuk membuatnya
  • Template utility: pembaruan pesanan, pengingat janji temu, dan pemberitahuan akun
  • Template marketing: pengiriman promosi, akun bisnis yang Anda butuhkan, dan ekspektasi berhenti berlangganan

Langkah selanjutnya