---
title: "Kirim pesan WhatsApp pertama Anda"
description: "Buat kunci Bird API, kirim pesan template WhatsApp yang sudah disetujui ke ponsel Anda tanpa menghubungkan nomor, lalu periksa status pengirimannya."
canonical: "https://bird.com/id-id/dokumentasi/get-started/send-your-first-whatsapp"
---

# Kirim pesan WhatsApp pertama Anda

Kirim pesan WhatsApp ke ponsel Anda sendiri dengan Bird WhatsApp, lalu baca kembali pesan tersebut untuk memastikan pengirimannya. Pesan yang dimulai oleh bisnis menggunakan template yang sudah disetujui. Panduan cepat ini mengirim dari katalog template terkelola milik Bird (seperti `bird_delivery_update` atau `bird_otp`), yang menggunakan pengirim WhatsApp bersama yang dikelola Bird. Anda tidak perlu menghubungkan WhatsApp Business Account atau mendaftarkan nomor terlebih dahulu.

Sebelum memulai, pastikan wallet organisasi Anda memiliki saldo. Pengiriman template WhatsApp memotong saldo wallet, dan Bird menolak pengiriman yang tidak tercukupi oleh saldo dengan `402` `WalletInsufficientBalance`. [Metode pembayaran dan wallet](/docs/knowledge-base/billing/payment-methods-wallet) menjelaskan cara mengisi saldo.

## 1. Buat kunci API

Di dashboard, buka **Platform tools** > [**API keys**](https://bird.com/dashboard/w/api-keys) dan buat kunci dengan cakupan `whatsapp:write`, yang mencakup pengiriman dan pembacaan pesan. Setiap kunci terikat pada satu region dan berbentuk seperti `bk_us1_...` atau `bk_eu1_...`. Region pada prefiks menunjukkan host API yang harus Anda panggil: `https://us1.platform.bird.com` atau `https://eu1.platform.bird.com`.

![Halaman API Keys di dashboard Bird, yang menampilkan daftar kunci beserta prefiks tersamar, cakupan, dan waktu terakhir digunakan](/images/docs/dashboard-api-keys.png)

Kunci lengkap hanya ditampilkan **sekali**, saat dibuat. Salin ke tempat yang aman, lalu ekspor untuk contoh cURL:

```bash
export BIRD_API_KEY="bk_us1_..."
```

## 2. Kirim pesan template

Kirim template `bird_delivery_update` yang sudah disetujui dari katalog terkelola Bird ke ponsel Anda, atau gunakan `bird_otp` untuk mengirim kode verifikasi sekali pakai. Template terkelola diawali dengan `bird_` dan dikirim dari nomor Bird bersama, sehingga Anda tidak perlu menyertakan `from`. Instal Bird SDK untuk bahasa Anda dengan mengikuti [panduan cepat SDK](/docs/get-started/quickstarts). Jika Anda menggunakan tab [Bird CLI](/docs/cli), instal terlebih dahulu (`curl -fsSL https://cli.bird.com/install.sh | sh`) lalu lakukan autentikasi dengan akses tulis (`bird auth login --scope whatsapp:write`).

Di tab SDK, ganti contoh kunci API, lalu ganti `+15551234567` dengan nomor ponsel Anda dalam format [E.164](https://en.wikipedia.org/wiki/E.164). CLI menggunakan login Anda, sedangkan tab cURL menggunakan `BIRD_API_KEY`.

**TypeScript**

```typescript
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const msg = await bird.whatsapp.send({
  to: "+15551234567",
  template: {
    slug: "bird_delivery_update",
    components: [
      {
        type: "body",
        parameters: [
          { type: "text", name: "ref", text: "A1B2C3D4" },
          { type: "text", name: "date", text: "10 Jul 2026" },
        ],
      },
    ],
  },
});

console.log(msg.id, msg.status);
```

Examples: [TypeScript](/id-id/dokumentasi/get-started/send-your-first-whatsapp.ts.md) · [Python](/id-id/dokumentasi/get-started/send-your-first-whatsapp.py.md) · [Go](/id-id/dokumentasi/get-started/send-your-first-whatsapp.go.md) · [PHP](/id-id/dokumentasi/get-started/send-your-first-whatsapp.php.md) · [CLI](/id-id/dokumentasi/get-started/send-your-first-whatsapp.cli.md) · [MCP](/id-id/dokumentasi/get-started/send-your-first-whatsapp.mcp.md) · [cURL](/id-id/dokumentasi/get-started/send-your-first-whatsapp.curl.md)

Jika kunci Anda diawali dengan `bk_eu1_`, panggil `https://eu1.platform.bird.com` sebagai gantinya.

API merespons dengan `202 Accepted` dan pesan yang telah dibuat. `id` pesan tersebut diawali dengan `wam_`, dan `status`-nya adalah `accepted`: Bird telah menerima pesan dan mengirimkannya secara asinkron. Simpan `id` untuk langkah berikutnya.

## 3. Periksa status pengiriman

Ambil pesan berdasarkan ID `wam_`-nya. Ganti `WHATSAPP_MESSAGE_ID` dengan `id` dari langkah 2, lalu ganti contoh kunci API di tab SDK dengan kunci Anda sendiri:

**TypeScript**

```typescript
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const msg = await bird.whatsapp.get("WHATSAPP_MESSAGE_ID");

console.log(msg.id, msg.status);
```

Examples: [TypeScript](/id-id/dokumentasi/get-started/send-your-first-whatsapp.ts.md) · [Python](/id-id/dokumentasi/get-started/send-your-first-whatsapp.py.md) · [Go](/id-id/dokumentasi/get-started/send-your-first-whatsapp.go.md) · [PHP](/id-id/dokumentasi/get-started/send-your-first-whatsapp.php.md) · [CLI](/id-id/dokumentasi/get-started/send-your-first-whatsapp.cli.md) · [cURL](/id-id/dokumentasi/get-started/send-your-first-whatsapp.curl.md)

Kolom `status` menunjukkan posisi pesan:

- `accepted`: Bird telah menerima pesan dan sedang bersiap menyerahkannya ke WhatsApp.
- `sent`: WhatsApp telah menerima pesan, dan `sent_at` mencatat waktunya.
- `delivered`: WhatsApp mengonfirmasi pengiriman ke perangkat penerima, dan `delivered_at` mencatat waktunya. Saat penerima membaca pesan, `read_at` diisi, sedangkan `status` tetap `delivered`.
- `failed` atau `rejected`: pesan tidak sampai ke ponsel. `last_error` memberikan alasannya, dan [Peristiwa status pesan](/docs/guides/whatsapp/events/message-status) mencantumkan kode kesalahannya.

Lakukan polling hingga status tidak lagi `accepted` atau `sent`, atau berlangganan [webhook WhatsApp](/docs/guides/whatsapp/webhooks) untuk menerima setiap perubahan status pengiriman dan baca (`whatsapp.sent`, `whatsapp.delivered`, `whatsapp.read`, `whatsapp.failed`). Nomor bersama yang dikelola Bird hanya untuk pesan keluar dan tidak meneruskan balasan masuk ke workspace Anda. Untuk menerima balasan, [hubungkan nomor Anda sendiri](/docs/guides/whatsapp/numbers/connect). Setiap pesan juga muncul di halaman [**Messages**](https://bird.com/dashboard/w/whatsapp/messages) beserta linimasa peristiwanya.

## Mengatasi pengiriman yang gagal

- **`402` `WalletInsufficientBalance`**: saldo wallet tidak cukup untuk membayar pesan. Isi ulang wallet, lalu kirim lagi.
- **`403` `InsufficientScope`**: kunci API tidak memiliki cakupan `whatsapp`. Ubah cakupan kunci tersebut atau buat kunci dengan `whatsapp:write`.
- **`422` `WhatsAppInvalidRecipient`**: nomor `to` bukan nomor telepon E.164 yang valid. Periksa tanda `+` di awal, kode negara, dan digit nomor pelanggan.

## Langkah berikutnya

- [Mengirim pesan WhatsApp](/docs/guides/whatsapp/sending-whatsapp): kirim template dan pesan layanan berformat bebas dalam jendela layanan pelanggan 24 jam.
- [Template WhatsApp](/docs/guides/whatsapp/templates): telusuri katalog terkelola (`bird_otp`, `bird_delivery_update`, dan lainnya) atau [buat template Anda sendiri](/docs/guides/whatsapp/authoring-templates).
- [Hubungkan nomor telepon](/docs/guides/whatsapp/numbers/connect): gunakan WhatsApp Business Account dan nomor pengirim milik Anda sendiri agar workspace Anda juga dapat menerima balasan masuk.
- [Webhook WhatsApp](/docs/guides/whatsapp/webhooks): terima tanda terima pengiriman dan tanda terima baca (serta pesan masuk jika Anda menggunakan nomor sendiri yang terhubung).
- [Referensi WhatsApp API](/docs/api/reference/create-whatsapp-message): skema permintaan dan respons selengkapnya.

## 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)
- [Connect WhatsApp](/whatsapp-api) (product)

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