Pesan layanan WhatsApp
Pesan layanan adalah apa pun yang Anda kirim selain template yang sudah disetujui: konten bebas yang dikirim bisnis dalam percakapan yang sedang terbuka. POST /v1/whatsapp/messages membawa tepat satu dari sembilan jenis konten pesan layanan, atau sebuah template. Halaman ini membahas kesamaan di antara sembilan jenis tersebut; halaman masing-masing jenis membahas bentuk datanya dan batasannya sendiri.
Jenis konten
| Tipe | Field | Isi | Gunakan saat |
|---|---|---|---|
| Teks biasa | text | Isi teks hingga 4.096 karakter, dengan pratinjau tautan opsional | Anda mengirim pesan tanpa lampiran |
| Gambar | image | URL gambar publik dan keterangan opsional | Anda mengirim foto atau grafik |
| Video | video | URL video publik dan keterangan opsional | Anda mengirim klip video |
| Audio | audio | URL audio publik, opsional ditampilkan sebagai pesan suara | Anda mengirim pesan suara atau klip audio |
| Stiker | sticker | URL gambar WebP publik | Anda mengirim stiker |
| Dokumen | document | URL file publik, keterangan opsional, dan nama file opsional | Anda mengirim PDF, spreadsheet, atau file lain |
| Lokasi | location | Lintang dan bujur, dengan nama dan alamat opsional | Anda mengirim pin lokasi, misalnya titik penjemputan |
| Kartu kontak | contact_cards | Satu hingga lima kartu kontak, masing-masing berisi nama dan nomor, email, situs web, atau alamat apa pun | Anda membagikan detail seseorang, misalnya nomor rekan kerja |
| Pesan interaktif | interactive | Teks isi ditambah tombol, menu, tautan, kartu, atau permintaan lokasi atau kontak | Anda ingin penerima mengetuk sesuatu alih-alih mengetik balasan bebas |
Sebuah request membawa tepat satu dari template atau salah satu dari sembilan field ini. Request yang tidak membawa satu pun, atau membawa lebih dari satu, ditolak dengan 422.
Jendela layanan pelanggan
Pesan layanan, yaitu salah satu dari sembilan jenis di atas, hanya terkirim di dalam jendela layanan pelanggan 24 jam yang terbuka. Kontak membuka jendela tersebut dengan mengirim pesan atau menelepon nomor bisnis Anda, dan setiap pesan berikutnya dari mereka mengatur ulang jendela menjadi 24 jam.
Pesan layanan yang dikirim ke jendela yang sudah tertutup ditolak langsung: request mengembalikan 422 E15044 WhatsAppServiceWindowClosed, dan tidak ada yang dibuat atau dikenakan biaya. Kirim template yang sudah disetujui sebagai gantinya; template menjangkau kontak terlepas dari jendela, dan balasan mereka membuka kembali jendela. Jendela yang tertutup di saat antara penerimaan dan pengiriman tetap gagal, tetapi secara asinkron: pesan mencapai failed dengan service_window_expired pada last_error.
Pemeriksaan saat penerimaan bersifat upaya terbaik, bukan jaminan: gerbang ini gagal terbuka, sehingga cache yang kosong atau kesalahan baca membiarkan pengiriman lewat alih-alih memblokirnya. 202 oleh karena itu bukan bukti bahwa jendela terbuka saat pengiriman dilakukan; sinyal akhir adalah status pesan itu sendiri, bukan respons penerimaan.
Setiap pesan layanan juga memerlukan from, nomor yang dimiliki workspace Anda. Nomor terkelola Bird tidak dapat membawanya, sehingga pesan layanan memerlukan nomor milik Anda sendiri yang sudah terhubung terlebih dahulu; lihat Penyiapan nomor telepon.
Lihat jendela layanan pelanggan untuk siklus lengkapnya: cara jendela dibuka, apa yang mengatur ulangnya, dan bagaimana jendela dilacak.
Mengirim media melalui URL
image, video, audio, sticker, dan document semuanya menerima url yang menunjuk ke file yang diambil WhatsApp saat pengiriman, bukan file yang Anda unggah ke Bird. Bird memeriksa bentuk URL saat penerimaan, sebelum apa pun diantrikan:
- Tidak kosong dan dapat diurai, memiliki host dan tanpa spasi mentah
- Skema adalah https
URL http ditolak dengan 422 saat penerimaan, meskipun WhatsApp sendiri dapat mengambilnya tanpa masalah. Itu adalah kebijakan Bird, bukan batasan yang diterapkan WhatsApp.
Bird tidak memeriksa ukuran file, tipe MIME-nya, atau apakah URL dapat dijangkau. WhatsApp mengambil URL itu sendiri setelah mengirimkan pesan, sehingga URL bertanda tangan harus tetap valid melewati momen tersebut, bukan hanya saat Anda mengirim request; URL yang bersifat privat atau kedaluwarsa gagal saat WhatsApp mencoba mengambilnya. WhatsApp juga meng-cache URL yang sudah diambil selama kurang lebih 10 menit, sehingga mengirim ulang URL yang identik dalam jendela tersebut menyajikan kembali hasil pengambilan pertama alih-alih mengambil ulang.
Saat media gagal
Pengiriman media mengikuti jalur asinkron yang sama seperti pesan WhatsApp lainnya: Bird mengembalikan 202 dan menerima pesan, lalu WhatsApp mengambil URL saat mengirimkannya. Jika pengambilan tersebut gagal, pesan mencapai failed dengan media_rejected pada last_error, yang merupakan 131053 milik Meta di baliknya.
media_rejected adalah kode payung yang mencakup file terlalu besar, 404, kegagalan DNS, dan tipe MIME yang salah; Bird tidak memecahnya lebih lanjut, jadi jangan harapkan kode berbeda untuk setiap penyebab.
Pengiriman media yang gagal secara asinkron tetap dikenakan biaya. Penagihan terjadi saat Bird memproses pengiriman yang diterima, sebelum WhatsApp mengambil URL, dan tidak ada jalur pengembalian dana setelah tagihan tercatat. Perhitungkan hal ini: pesan yang gagal belakangan di media_rejected sudah mengeluarkan biaya yang sama dengan pesan yang berhasil terkirim.
Membaca pesan yang dikirim kontak
Pesan masuk membawa salah satu dari sembilan jenis yang sama, sehingga field yang Anda baca sesuai dengan tipe yang digunakan kontak. Kartu kontak terbaca pada field contact_cards yang sama, baik kontak yang membagikannya maupun Anda yang mengirimnya. Menerima pesan WhatsApp membahas cara membaca pesan masuk melalui API, mengambil media yang dikirim kontak, dan webhook whatsapp.received.
Langkah selanjutnya
- Mengirim pesan WhatsApp: envelope request, model 202, dan coba lagi yang aman
- Pesan interaktif: enam tipe yang dapat diketuk penerima
- Menerima pesan WhatsApp: pesan masuk, media, dan webhook whatsapp.received
- Template WhatsApp: pesan yang masih dapat Anda kirim setelah jendela tertutup
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