Sign inGet started

Pesan audio WhatsApp

Pesan audio membawa URL publik yang diambil WhatsApp saat pengiriman. Pesan ini tidak memiliki caption, dan secara opsional dapat ditampilkan sebagai voice note.

Mengirim pesan audio

Atur audio.url:
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  audio: { url: "https://cdn.example.com/vm/9f2.ogg" },
});
console.log(msg.id, msg.status);
Bentuk lengkapnya menambahkan flag opsional voice, satu-satunya field lain yang dimiliki audio:
Contoh kode
{
  "to": "+16505551234",
  "from": "+13124495648",
  "audio": { "url": "https://cdn.example.com/voice/9f2e4a.ogg", "voice": true }
}
audio sama sekali tidak memiliki field caption. from wajib ada di setiap service message: nomor yang dimiliki workspace Anda, bukan nomor yang dikelola Bird.

Batas

FieldBatasDiterapkan oleh
Ukuran file16 MBWhatsApp saja, saat fetch (async)
FormatAAC, AMR, MP3, M4A, atau OGG dengan codec OPUS, monoWhatsApp saja, saat fetch (async)
voice: truemembutuhkan .ogg/OPUS, mono; format lain membuat transkripsi gagalWhatsApp saja, saat fetch (async)
captionbukan field yang validBird, saat accept (422, penolakan skema)
urlabsolut, https, memiliki host, tanpa spasi mentahBird, saat accept (422)
Bird memeriksa bentuk URL sebelum apa pun masuk antrean; tidak memeriksa ukuran file yang sebenarnya, format, atau codec, dan tidak memeriksa apakah pengiriman voice: true benar-benar .ogg/OPUS. Hanya fetch WhatsApp sendiri saat pengiriman yang bisa memeriksanya. Mengirim caption pada pesan audio bukan kesalahan panjang; field tersebut tidak ada di skema arm ini, sehingga gagal sebagai properti yang tidak dikenali. Lihat mengirim media melalui URL dan ketika media gagal di hub.

Membaca pesan audio masuk

Pesan audio masuk membawa objek audio yang sama, ditambah id dan mime_type yang dipelajari Bird dengan mengambil file tersebut, dan tanpa caption di kedua arah. Lihat Menerima audio WhatsApp untuk pembacaan masuk secara lengkap, payload whatsapp.received, dan hal-hal yang perlu diperhatikan.

Batas dan mode kegagalan

  • Customer service window harus terbuka. Audio adalah service message, hanya dapat dikirim di dalam window yang terbuka; lihat customer service window di hub.
  • Bird menolak http; WhatsApp sendiri yang akan mengambilnya. Lihat mengirim media melalui URL di hub untuk pemeriksaan bentuk lengkapnya.
  • Fetch yang ditolak tetap dikenakan biaya. Lihat ketika media gagal di hub. Teks penolakan khusus audio dari WhatsApp belum diukur secara independen, jadi perlakukan pemetaannya sebagai kesimpulan dari simetri, bukan dikonfirmasi per penyebab.
  • Flag voice mengubah cara klien penerima menampilkan pesan, bukan apa yang divalidasi Bird. voice: true menampilkannya sebagai voice note: otomatis mengunduh, menampilkan ikon mikrofon inline, dan dapat ditranskripsikan. Agar berfungsi dengan benar, dibutuhkan file .ogg yang di-encode dengan OPUS, mono; format lain tetap terkirim, tetapi transkripsi gagal di sisi penerima. voice secara default bernilai false.
  • Ambang batas ikon putar WhatsApp dan sinyal "played" bukan sesuatu yang dimunculkan Bird. WhatsApp mendokumentasikan perilaku klien seputar voice note kecil dan status sudah diputar, tetapi Bird tidak memodelkan keduanya; jangan membangun integrasi yang mengharapkan bisa membaca keduanya kembali dari API.
  • WhatsApp meng-cache URL yang diambil selama sekitar 10 menit. Mengirim ulang URL yang sama dalam jangka waktu tersebut akan menyajikan kembali hasil fetch pertama; variasikan URL untuk memaksa fetch baru.

Langkah selanjutnya