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);msg = client.whatsapp.send(
to="+16505551234",
from_="+13124495648",
text={"body": "Your driver is 2 minutes away."},
)
print(msg.id, msg.status)package main
import (
"context"
"fmt"
"log"
"os"
bird "github.com/messagebird/bird-sdk-go"
"github.com/messagebird/bird-sdk-go/option"
)
func main() {
client, err := bird.NewClient(option.WithAPIKey(os.Getenv("BIRD_API_KEY")))
if err != nil {
log.Fatal(err)
}
msg, err := client.Whatsapp.Send(context.Background(), bird.WhatsappSendParams{
To: "+16505551234",
From: "+13124495648",
Text: &bird.WhatsAppTextSend{Body: "Your driver is 2 minutes away."},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}$text = (new WhatsAppMessageSendRequestText())
->setBody('Your driver is 2 minutes away.');
$message = $bird->whatsapp->send(
to: '+16505551234',
from: '+13124495648',
text: $text,
);
echo $message->getId(), ' ', $message->getStatus();bird whatsapp send \
--from +13124495648 \
--text 'Your driver is 2 minutes away.' \
--to +16505551234{
"name": "whatsapp_send",
"arguments": {
"from": "+13124495648",
"text": {
"body": "Your driver is 2 minutes away."
},
"to": "+16505551234"
}
}curl -X POST "https://us1.platform.bird.com/v1/whatsapp/messages" \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+16505551234",
"from": "+13124495648",
"text": {
"body": "Your driver is 2 minutes away."
}
}'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
| Field | Batas | Diterapkan oleh |
|---|---|---|
| body | 1 hingga 4096 karakter | Bird, saat accept (422) |
| preview_url | boolean, default false | N/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
- Pesan layanan WhatsApp: jendela layanan pelanggan dan model yang digunakan bersama oleh setiap pesan layanan
- Mengirim pesan WhatsApp: request envelope, model 202, dan cara coba lagi yang aman
- Pesan interaktif: ketika Anda menginginkan ketukan alih-alih balasan yang diketik
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