# Pesan gambar WhatsApp

Pesan gambar membawa URL publik yang diambil WhatsApp saat pengiriman, dengan caption opsional di bawahnya.

## Mengirim gambar

Atur `image.url`:

**TypeScript**

```typescript
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  image: { url: "https://cdn.example.com/receipt.png" },
});
console.log(msg.id, msg.status);
```

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

Bentuk lengkapnya menambahkan `caption` opsional:

```json
{
  "to": "+16505551234",
  "from": "+13124495648",
  "image": {
    "url": "https://cdn.example.com/receipts/a1b2c3.png",
    "caption": "Your receipt for order A1B2C3"
  }
}
```

`image` tidak memiliki field `filename`. `from` wajib ada di setiap pesan layanan: nomor yang dimiliki workspace Anda, bukan nomor yang dikelola Bird.

## Batas

| Field       | Batas                                               | Diterapkan oleh                   |
| ----------- | --------------------------------------------------- | --------------------------------- |
| Ukuran file | 5 MB                                                | WhatsApp saja, saat fetch (async) |
| Tipe file   | JPEG atau PNG                                       | WhatsApp saja, saat fetch (async) |
| `caption`   | maksimal 1.024 karakter                             | Bird, saat accept (`422`)         |
| `url`       | absolut, `https`, memiliki host, tanpa spasi mentah | Bird, saat accept (`422`)         |

Bird memeriksa bentuk URL dan panjang caption sebelum apa pun diantrikan. Pemeriksaan ini tidak mencakup ukuran atau tipe file yang sebenarnya; hanya fetch WhatsApp sendiri saat pengiriman yang dapat melakukannya. Lihat halaman hub [mengirim media melalui URL](/docs/guides/whatsapp/message-types#sending-media-by-url) untuk cakupan pemeriksaan bentuk tersebut, dan [ketika media gagal](/docs/guides/whatsapp/message-types#when-media-fails) untuk apa yang terjadi saat fetch WhatsApp menolak file.

## Membaca gambar masuk

Gambar masuk membawa objek `image` yang sama, ditambah `id` dan `mime_type` yang dipelajari Bird dengan mengambil file tersebut. Keduanya tidak ada pada pembacaan ulang pesan keluar, karena Bird tidak pernah mengambil file yang dikirimnya. Lihat [Menerima gambar WhatsApp](/docs/guides/whatsapp/receiving-whatsapp/images) untuk pembacaan masuk secara lengkap, payload `whatsapp.received`, dan hal-hal yang perlu diperhatikan.

## Batas dan mode kegagalan

- **Jendela layanan pelanggan harus terbuka.** Gambar adalah pesan layanan, hanya dapat dikirim dalam jendela yang terbuka; lihat halaman hub [jendela layanan pelanggan](/docs/guides/whatsapp/message-types#the-customer-service-window).
- **Bird menolak `http`; WhatsApp sendiri yang akan mengambilnya.** Perbedaan tersebut, beserta sisa pemeriksaan bentuk URL, ada di halaman hub [mengirim media melalui URL](/docs/guides/whatsapp/message-types#sending-media-by-url).
- **File terlalu besar, tipe MIME salah, atau URL tidak dapat dijangkau, semuanya gagal dengan cara yang sama, dan setelah Anda dikenakan biaya.** Lihat halaman hub [ketika media gagal](/docs/guides/whatsapp/message-types#when-media-fails) untuk `media_rejected` dan fakta penagihan saat gagal.
- **WhatsApp menyimpan cache URL yang telah diambil selama sekitar 10 menit.** Mengirim ulang URL yang sama dalam jendela tersebut akan menyajikan hasil fetch pertama alih-alih mengambil ulang; variasikan URL (misalnya dengan query parameter) untuk memaksa pengambilan baru.

## Langkah selanjutnya

- [Pesan layanan WhatsApp](/docs/guides/whatsapp/message-types): jendela layanan pelanggan dan model yang digunakan bersama oleh setiap pesan layanan
- [Video](/docs/guides/whatsapp/message-types/video): bentuk yang sama untuk klip video
- [Dokumen](/docs/guides/whatsapp/message-types/documents): untuk PDF, spreadsheet, atau file lainnya
- [Mengirim pesan WhatsApp](/docs/guides/whatsapp/sending-whatsapp): envelope permintaan, model `202`, dan coba lagi yang aman

## 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)
