# Menerima gambar WhatsApp

Foto atau grafik yang dikirim kontak tiba sebagai pesan masuk yang membawa `image`: referensi ke file yang disimpan Bird untuk Anda, beserta caption apa pun yang mereka ketik di bawahnya.

## Isi pesan gambar masuk

```json
{
  "id": "wam_01kya19eknftrs2s6p82asmvnh",
  "direction": "inbound",
  "from": { "phone_number": "+14155550100" },
  "to": { "phone_number": "+13124495569" },
  "status": "received",
  "image": {
    "id": "waf_01kyb2m4xq7whs0d8n3prv6tez",
    "url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kya19eknftrs2s6p82asmvnh/media/waf_01kyb2m4xq7whs0d8n3prv6tez",
    "mime_type": "image/jpeg",
    "caption": "Is this the right part?"
  },
  "created_at": "2026-08-25T09:04:11Z"
}
```

| Field       | Isinya                                                                            |
| ----------- | --------------------------------------------------------------------------------- |
| `id`        | File tersimpan, dikirim sebagai `media_id` saat mengambil byte                    |
| `url`       | URL Bird, diambil dengan kunci API Anda                                           |
| `mime_type` | Tipe media yang dilaporkan WhatsApp untuk file tersebut, misalnya `image/jpeg`    |
| `caption`   | Teks yang diketik kontak di bawah gambar; tidak ada jika mereka tidak mengirimnya |

`id` dan `mime_type` hanya muncul pada gambar masuk: Bird mempelajari keduanya dengan mengambil file, dan tidak pernah menyimpan yang Anda kirim. Gambar keluar terbaca kembali dengan `url` yang Anda berikan dan tanpa `id`.

Perlakukan `mime_type` sebagai laporan WhatsApp, bukan jaminan, dan gunakan nilainya untuk percabangan alih-alih ekstensi file di `url`, yang tidak memiliki ekstensi.

## Mengambil byte

`url` dan `id` keduanya menunjuk ke file tersimpan yang sama: kirim ID pesan dan `id` media ke metode media channel, dalam SDK mana pun, CLI, atau cURL. Halaman [mengambil media masuk](/docs/guides/whatsapp/receiving-whatsapp#fetching-inbound-media) di hub memuat panggilan tersebut dalam setiap bahasa, beserta aturan redirect dan header yang diikutinya.

Pesan dan medianya kedaluwarsa bersamaan, 30 hari setelah pesan tiba; halaman [mengambil media masuk](/docs/guides/whatsapp/receiving-whatsapp#fetching-inbound-media) di hub mengatur jendela waktu tersebut dan apa yang dikembalikan pembacaan setelah melewatinya. Simpan gambar yang Anda butuhkan lebih lama selagi pesan masih dapat dibaca.

## Payload webhook

`whatsapp.received` membawa arm `image` pada envelope event, termasuk referensi media:

```json
{
  "type": "whatsapp.received",
  "timestamp": "2026-08-25T09:04:11.118Z",
  "data": {
    "whatsapp_id": "wam_01kya19eknftrs2s6p82asmvnh",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
    "direction": "inbound",
    "from": { "phone_number": "+14155550100" },
    "to": { "phone_number": "+13124495569" },
    "image": {
      "id": "waf_01kyb2m4xq7whs0d8n3prv6tez",
      "url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kya19eknftrs2s6p82asmvnh/media/waf_01kyb2m4xq7whs0d8n3prv6tez",
      "mime_type": "image/jpeg",
      "caption": "Is this the right part?"
    },
    "tags": null,
    "metadata": null
  }
}
```

Webhook aktif saat pesan tiba, yang juga merupakan awal jendela retensi, sehingga endpoint yang mengantre pengambilan alih-alih langsung mengambilnya memiliki seluruh jendela waktu untuk mengejar.

## Hal yang perlu diperhatikan

- **Caption milik kontak.** Caption tiba sebagai teks biasa tanpa format atau informasi entitas, jadi tampilkan sebagai teks.
- **Satu gambar per pesan.** Kontak yang mengirim beberapa foto menghasilkan beberapa pesan masuk, masing-masing dengan `id` dan referensi media sendiri. Kelompokkan berdasarkan `from` dan waktu tiba; tidak ada array yang mengumpulkannya.

## Langkah selanjutnya

- [Cara kerja penerimaan](/docs/guides/whatsapp/receiving-whatsapp): envelope masuk, pengambilan media, dan webhook `whatsapp.received`
- [Pesan gambar WhatsApp](/docs/guides/whatsapp/message-types/images): sisi kirim dari arm yang sama
- [Menerima dokumen](/docs/guides/whatsapp/receiving-whatsapp/documents): bentuk media yang sama, dengan nama file pengirim
- [Event WhatsApp](/docs/guides/whatsapp/events): daftar event lengkap, melalui API atau webhook

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