Tipe pesan WhatsApp yang tidak didukung
WhatsApp membawa konten yang tidak dimodelkan oleh API milik Bird, mulai dari pesanan katalog hingga notifikasi sistem tentang percakapan. Alih-alih membuang pesan tersebut atau mengirimkannya kosong, Bird mencatatnya dengan arm unsupported yang menyebutkan tipe konten WhatsApp. Pesan tersebut terlihat di log WhatsApp dan sampai ke webhook Anda seperti pesan lainnya.
Apa yang dibawa pesan yang tidak didukung
unsupported.type membawa string tipe milik WhatsApp untuk apa yang diterima, dan itu satu-satunya konten pada pesan tersebut. Envelope di sekitarnya tidak berubah:
Contoh kode
{
"id": "wam_01kyh0w4ujnz2x8p1s5dci0vlg",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"status": "received",
"unsupported": { "type": "order" },
"created_at": "2026-08-25T09:31:20Z"
}| type | Apa yang dikirim kontak |
|---|---|
| interactive | Konten interaktif yang bentuk balasannya tidak dapat dibaca API sebagai ketukan |
| button | Ketukan tombol yang tidak dapat dibaca API sebagai balasan |
| order | Keranjang atau pesanan yang dibuat dari katalog produk |
| system | Notifikasi sistem tentang percakapan, misalnya kontak mengganti nomor telepon |
| unsupported | Tipe unsupported milik WhatsApp sendiri, untuk pesan yang tidak dapat ditampilkan oleh kliennya sendiri |
unsupported bukan placeholder dalam tabel tersebut. WhatsApp melaporkan tipe konten miliknya sendiri dengan nama itu ketika salah satu kliennya mengirim sesuatu yang tidak dapat ditampilkan klien lainnya, dan itu sampai sebagai nilai ini.
Daftar ini terbuka. WhatsApp menambahkan tipe konten dari waktu ke waktu, jadi perlakukan type yang tidak Anda kenali sebagai tipe masa depan, bukan error: catat dan lanjutkan, jangan gagalkan pembacaan.
Payload webhook
whatsapp.received juga aktif untuk pesan yang tidak didukung, membawa arm yang sama:
Contoh kode
{
"type": "whatsapp.received",
"timestamp": "2026-08-25T09:31:20.774Z",
"data": {
"whatsapp_id": "wam_01kyh0w4ujnz2x8p1s5dci0vlg",
"workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"unsupported": { "type": "order" },
"tags": null,
"metadata": null
}
}Endpoint yang melakukan switch berdasarkan field konten yang ditemukan harus memiliki branch default, dan arm ini adalah yang masuk ke dalamnya. Akui webhook dengan 2xx bagaimanapun juga: mencoba lagi tidak mengubah apa pun, karena kontennya tidak akan menjadi termodelkan di antara percobaan.
Apa yang tetap dilakukan pesan yang tidak didukung
Pesan ini dihitung sebagai pesan masuk dalam segala hal yang tidak bergantung pada kontennya:
- Pesan ini mereset jendela layanan pelanggan menjadi 24 jam baru, sehingga pesanan dari katalog Anda membuka kembali balasan bebas.
- Pesan ini muncul di daftar pesan dan log WhatsApp, dengan tipenya ditampilkan, bukan baris kosong.
- Pesan ini tidak pernah dikenakan biaya. Tidak ada pesan masuk yang dikenakan biaya.
Yang tidak dapat Anda lakukan adalah membaca kontennya. Pesanan tidak membawa isi keranjang, dan notifikasi sistem tidak menyebutkan apa yang berubah. Jika detail itu penting, tanyakan kepada kontak secara langsung, atau gunakan tombol balasan atau menu daftar agar jawabannya tiba pada arm termodelkan yang dapat Anda tindaklanjuti.
Hal yang perlu diperhatikan
- Jangan perlakukan arm ini sebagai error. Pesan berhasil diterima; hanya kontennya yang tidak termodelkan. Membuat alert untuk ini berarti membuat alert setiap kali kontak membuat pesanan.
- Tipe system dapat berarti kontak mengganti nomor. Meta mendokumentasikan perubahan nomor telepon sebagai salah satu event yang memunculkan pesan sistem, dan sekaligus membuat ulang business-scoped user ID kontak tersebut. Arm ini menyebutkan tipe dan tidak lebih, jadi perlakukan sebagai isyarat untuk memastikan ulang dengan siapa Anda berbicara.
- Reaksi emoji bukan pesan yang tidak didukung. Reaksi emoji sama sekali bukan pesan masuk, sehingga tidak sampai ke webhook dan tidak muncul di daftar pesan mana pun: setiap perubahan dicatat di log reaksi milik pesan yang direaksi, dibahas di event WhatsApp.
- Simpan tipe secara verbatim. Tipe masa depan akan menjadi nama yang belum memiliki kode di sisi Anda, dan menyimpan nilai mentahnya adalah cara menemukan pesan-pesan itu setelah Anda memiliki kodenya.
Langkah selanjutnya
- Cara kerja penerimaan: envelope masuk, pengambilan media, dan webhook whatsapp.received
- Menerima balasan interaktif: ketukan yang memang tiba sebagai konten termodelkan
- Log WhatsApp: menelusuri percakapan di dashboard
- Event WhatsApp: daftar event lengkap, melalui API atau webhook
Sumber daya terkait
Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini. Sumber daya tersedia dalam bahasa Inggris.
Tonton panduannyaConnecting WhatsApp to Bird: from buying a number to a live channelPahami konsepnyaWhat is the 24-hour customer service window on WhatsApp?Gunakan alatnyaWhatsApp message builderJelajahi kemampuannyaWhatsApp
Coba praktiknya dan dapatkan ringkasan implementasi