# Pesan video WhatsApp

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

## Mengirim video

Atur `video.url`:

**TypeScript**

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

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

Bentuk lengkapnya menambahkan `caption` opsional:

```json
{
  "to": "+16505551234",
  "from": "+13124495648",
  "video": {
    "url": "https://cdn.example.com/unboxing.mp4",
    "caption": "How to set it up"
  }
}
```

`video` 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 | 16 MB                                               | Hanya WhatsApp, saat fetch (async) |
| Format      | Kontainer MP4, video H.264, audio AAC               | Hanya WhatsApp, saat fetch (async) |
| `caption`   | hingga 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 masuk antrean. Pemeriksaan ini tidak mencakup ukuran file, kontainer, atau codec yang sebenarnya; hanya fetch WhatsApp sendiri pada saat pengiriman yang bisa. Lihat [mengirim media melalui URL](/docs/guides/whatsapp/message-types#sending-media-by-url) dan [saat media gagal](/docs/guides/whatsapp/message-types#when-media-fails) di hub.

## Membaca video masuk

Video masuk membawa objek `video` 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 video WhatsApp](/docs/guides/whatsapp/receiving-whatsapp/video) untuk pembacaan masuk selengkapnya, payload `whatsapp.received`, dan hal-hal yang perlu diperhatikan.

## Batas dan mode kegagalan

- **Jendela layanan pelanggan harus terbuka.** Video adalah pesan layanan, hanya dapat dikirim di dalam jendela yang terbuka; lihat [jendela layanan pelanggan](/docs/guides/whatsapp/message-types#the-customer-service-window) di hub.
- **Bird menolak `http`; WhatsApp sendiri yang akan mengambilnya.** Lihat [mengirim media melalui URL](/docs/guides/whatsapp/message-types#sending-media-by-url) di hub untuk pemeriksaan bentuk selengkapnya.
- **Fetch yang ditolak tetap dikenakan biaya.** Lihat [saat media gagal](/docs/guides/whatsapp/message-types#when-media-fails) di hub untuk `media_rejected` dan fakta pengenaan biaya saat gagal. Teks penolakan video dari WhatsApp belum diukur secara independen seperti halnya gambar, jadi perlakukan pemetaan ini sebagai kesimpulan berdasarkan kesamaan pola, bukan dikonfirmasi per penyebab.
- **WhatsApp meng-cache URL yang diambil selama sekitar 10 menit.** Mengirim ulang URL yang sama dalam jendela tersebut akan menyajikan kembali hasil fetch pertama; ubah URL untuk memaksa pengambilan baru.
- **GIF animasi bukan tipe tersendiri.** WhatsApp tidak memiliki tipe pesan `gif`; GIF animasi yang Anda kirim sampai ke penerima, dan akan kembali kepada Anda sebagai pesan masuk, sebagai `video` biasa dengan tipe MIME MP4.

## Langkah selanjutnya

- [Pesan layanan WhatsApp](/docs/guides/whatsapp/message-types): jendela layanan pelanggan dan model yang digunakan bersama oleh setiap pesan layanan
- [Gambar](/docs/guides/whatsapp/message-types/images): bentuk yang sama untuk foto atau grafik
- [Audio](/docs/guides/whatsapp/message-types/audio): untuk catatan suara atau klip audio
- [Mengirim pesan WhatsApp](/docs/guides/whatsapp/sending-whatsapp): envelope permintaan, model `202`, dan percobaan ulang 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)
