Sign inGet started

Pesan teks biasa WhatsApp

Teks biasa adalah arm konten bebas paling sederhana: sebuah body tanpa lampiran, dan pratinjau opsional untuk tautan pertama di dalamnya.

Kirim pesan teks

Atur text.body:
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  text: { body: "Your driver is 2 minutes away." },
});
console.log(msg.id, msg.status);
Bentuk lengkapnya menambahkan preview_url beserta field yang dapat dibawa oleh setiap pengiriman bebas:
Contoh kode
{
  "to": "+16505551234",
  "from": "+13124495648",
  "text": {
    "body": "Your order shipped: https://example.com/track/A1B2C3",
    "preview_url": true
  },
  "in_reply_to_message_id": "wam_01kya19eknftrs2s6p82asmvnh",
  "tags": [{ "name": "category", "value": "shipping" }],
  "metadata": { "order_id": "A1B2C3" }
}
from wajib ada di setiap pesan layanan: nomor yang dimiliki workspace Anda, bukan nomor yang dikelola Bird. in_reply_to_message_id mengutip pesan sebelumnya dalam percakapan yang sama; lihat Mengutip pesan untuk mengetahui apa yang di-resolve dan apa yang bisa terlewat.

Batas

FieldBatasDiterapkan oleh
body1 hingga 4096 karakterBird, saat accept (422)
preview_urlboolean, default falseN/A, informasional
body yang hanya berisi spasi lolos dari minLength: 1 milik skema, tetapi Bird tetap menangkapnya: body yang kosong setelah trimming ditolak dengan 422 E15015 WhatsAppContentRequired. Body yang melebihi 4096 karakter ditolak dengan 422 biasa tanpa kode katalog khusus.

Membaca pesan teks masuk

Pesan teks masuk membawa field text.body yang sama, dan tidak ada field lain di arm tersebut. Lihat Menerima pesan teks WhatsApp untuk pembacaan masuk selengkapnya, payload whatsapp.received, dan hal yang perlu diperhatikan.

Batas dan kasus khusus

  • Jendela layanan pelanggan harus terbuka. Teks biasa adalah pesan layanan, hanya dapat dikirim di dalam jendela yang terbuka; lihat jendela layanan pelanggan di hub.
  • preview_url hanya memengaruhi tautan pertama, dan hanya apa yang di-render oleh klien penerima. Default-nya false. Atur untuk menampilkan pratinjau URL pertama di body; URL berikutnya di body yang sama tidak mendapatkan pratinjau. Jika klien penerima tidak dapat mengambil pratinjau untuk tautan tersebut, tautan ditampilkan sebagai tautan biasa yang dapat diklik tanpa pesan kesalahan. Tidak ada informasi di pembacaan yang memberi tahu apakah pratinjau benar-benar di-render.
  • Markdown WhatsApp adalah rendering klien penerima terhadap body, bukan bagian dari kontrak API. Bird meneruskan body tanpa perubahan; tidak memvalidasi, menghapus, atau meng-encode *bold*, _italic_, ~strikethrough~, atau monospace triple-backtick. Apakah penanda tersebut di-render sepenuhnya bergantung pada klien yang membuka pesan.
  • body masuk tidak dijamin non-empty, meskipun skema pembacaan menyatakan demikian. Meta dapat melaporkan pesan masuk sebagai "text": {} atau dengan body kosong, dan Bird menyimpannya apa adanya tanpa membuat placeholder. Ini adalah gap yang diketahui dan masih terbuka: jangan menulis consumer yang memercayai required: body skema di sini.

Langkah selanjutnya