Sign inGet started

Menerima audio WhatsApp

Audio yang dikirim kontak tiba sebagai pesan masuk yang membawa audio. Arm ini mencakup voice note yang direkam di dalam chat maupun file audio yang dilampirkan, dan voice yang membedakan keduanya.

Isi audio masuk

Contoh kode
{
  "id": "wam_01kyb3q8ndvt6r2h5k9wxc4pfa",
  "direction": "inbound",
  "from": { "phone_number": "+14155550100" },
  "to": { "phone_number": "+13124495569" },
  "status": "received",
  "audio": {
    "id": "waf_01kyb2m4xq7whs0d8n3prv6tez",
    "url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kyb3q8ndvt6r2h5k9wxc4pfa/media/waf_01kyb2m4xq7whs0d8n3prv6tez",
    "mime_type": "audio/ogg; codecs=opus",
    "voice": true
  },
  "created_at": "2026-08-25T09:07:32Z"
}
FieldIsi yang dibawa
idFile yang tersimpan, untuk diteruskan sebagai media_id saat mengambil byte
urlURL Bird, diambil dengan kunci API Anda
mime_typeTipe media yang dilaporkan WhatsApp, misalnya audio/ogg; codecs=opus untuk voice note
voicetrue untuk voice note yang direkam di dalam chat, bukan file audio lampiran
caption tidak ada pada arm ini di kedua arah, sehingga pesan audio tidak pernah membawa teks bersamanya. Kontak yang ingin menambahkan kata-kata mengirim pesan teks terpisah.
Voice note diunduh otomatis di klien WhatsApp dan dapat ditranskrip di sana untuk penerima. Bird meneruskan audio tanpa mentranskrip, jadi transkrip yang dilihat kontak Anda di aplikasi mereka bukan bagian dari pesan yang Anda baca.

Mengambil byte

Teruskan ID pesan dan id media ke metode media channel. Halaman mengambil media masuk di hub memuat panggilan tersebut dalam setiap bahasa, beserta aturan redirect dan header yang diikutinya.
mime_type menyebutkan container dan codec, dan voice note berformat Opus dalam container Ogg, bukan MP3 atau AAC yang biasa digunakan lampiran. Baca tipe dari field, bukan dari ekstensi file di url yang tidak menyertakannya, dan periksa sebelum menyerahkan byte ke layanan transkripsi yang hanya menerima format tertentu. Pesan dan medianya kedaluwarsa bersamaan, 30 hari setelah pesan tiba; halaman mengambil media masuk di hub mengatur jendela waktu tersebut dan apa yang dikembalikan setelah lewat.

Payload webhook

whatsapp.received membawa arm audio pada envelope event, termasuk flag voice:
Contoh kode
{
  "type": "whatsapp.received",
  "timestamp": "2026-08-25T09:07:32.451Z",
  "data": {
    "whatsapp_id": "wam_01kyb3q8ndvt6r2h5k9wxc4pfa",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
    "direction": "inbound",
    "from": { "phone_number": "+14155550100" },
    "to": { "phone_number": "+13124495569" },
    "audio": {
      "id": "waf_01kyb2m4xq7whs0d8n3prv6tez",
      "url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kyb3q8ndvt6r2h5k9wxc4pfa/media/waf_01kyb2m4xq7whs0d8n3prv6tez",
      "mime_type": "audio/ogg; codecs=opus",
      "voice": true
    },
    "tags": null,
    "metadata": null
  }
}
Alur otomatis yang merespons voice note membaca voice di sini, sebelum mengambil apa pun: antrean dukungan yang mentranskrip rekaman tetapi meneruskan file musik lampiran dapat bercabang berdasarkan flag tersebut saja.

Hal yang perlu diperhatikan

  • Baca voice sebagai flag yang menandai voice note. Selain itu, termasuk field yang tidak ada, berarti lampiran audio biasa.
  • Durasi tidak dilaporkan. Arm ini tidak membawa panjang, jadi baca dari file setelah mengambilnya jika antrean memerlukannya.

Langkah selanjutnya