Pesan gambar WhatsApp
Pesan gambar membawa URL publik yang diambil WhatsApp saat pengiriman, dengan caption opsional di bawahnya.
Mengirim gambar
Atur image.url:
const msg = await bird.whatsapp.send({
to: "+16505551234",
from: "+13124495648",
image: { url: "https://cdn.example.com/receipt.png" },
});
console.log(msg.id, msg.status);msg = client.whatsapp.send(
to="+16505551234",
from_="+13124495648",
image={"url": "https://cdn.example.com/receipt.png"},
)
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",
Image: &bird.WhatsAppImageSend{Url: "https://cdn.example.com/receipt.png"},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}$image = (new WhatsAppMessageSendRequestImage())
->setUrl('https://cdn.example.com/receipt.png');
$message = $bird->whatsapp->send(
to: '+16505551234',
from: '+13124495648',
image: $image,
);
echo $message->getId(), ' ', $message->getStatus();bird whatsapp send \
--from +13124495648 \
--image https://cdn.example.com/receipt.png \
--to +16505551234{
"name": "whatsapp_send",
"arguments": {
"from": "+13124495648",
"image": {
"url": "https://cdn.example.com/receipt.png"
},
"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",
"image": {
"url": "https://cdn.example.com/receipt.png"
}
}'Bentuk lengkapnya menambahkan caption opsional:
Contoh kode
{
"to": "+16505551234",
"from": "+13124495648",
"image": {
"url": "https://cdn.example.com/receipts/a1b2c3.png",
"caption": "Your receipt for order A1B2C3"
}
}image tidak memiliki field filename. from wajib ada di setiap pesan layanan: nomor yang dimiliki workspace Anda, bukan nomor yang dikelola Bird.
Batas
| Field | Batas | Diterapkan oleh |
|---|---|---|
| Ukuran file | 5 MB | WhatsApp saja, saat fetch (async) |
| Tipe file | JPEG atau PNG | WhatsApp saja, saat fetch (async) |
| caption | maksimal 1.024 karakter | Bird, saat accept (422) |
| url | absolut, https, memiliki host, tanpa spasi mentah | Bird, saat accept (422) |
Bird memeriksa bentuk URL dan panjang caption sebelum apa pun diantrikan. Pemeriksaan ini tidak mencakup ukuran atau tipe file yang sebenarnya; hanya fetch WhatsApp sendiri saat pengiriman yang dapat melakukannya. Lihat halaman hub mengirim media melalui URL untuk cakupan pemeriksaan bentuk tersebut, dan ketika media gagal untuk apa yang terjadi saat fetch WhatsApp menolak file.
Membaca gambar masuk
Gambar masuk membawa objek image yang sama, ditambah id dan mime_type yang dipelajari Bird dengan mengambil file tersebut. Keduanya tidak ada pada pembacaan ulang pesan keluar, karena Bird tidak pernah mengambil file yang dikirimnya. Lihat Menerima gambar WhatsApp untuk pembacaan masuk secara lengkap, payload whatsapp.received, dan hal-hal yang perlu diperhatikan.
Batas dan mode kegagalan
- Jendela layanan pelanggan harus terbuka. Gambar adalah pesan layanan, hanya dapat dikirim dalam jendela yang terbuka; lihat halaman hub jendela layanan pelanggan.
- Bird menolak http; WhatsApp sendiri yang akan mengambilnya. Perbedaan tersebut, beserta sisa pemeriksaan bentuk URL, ada di halaman hub mengirim media melalui URL.
- File terlalu besar, tipe MIME salah, atau URL tidak dapat dijangkau, semuanya gagal dengan cara yang sama, dan setelah Anda dikenakan biaya. Lihat halaman hub ketika media gagal untuk media_rejected dan fakta penagihan saat gagal.
- WhatsApp menyimpan cache URL yang telah diambil selama sekitar 10 menit. Mengirim ulang URL yang sama dalam jendela tersebut akan menyajikan hasil fetch pertama alih-alih mengambil ulang; variasikan URL (misalnya dengan query parameter) untuk memaksa pengambilan baru.
Langkah selanjutnya
- Pesan layanan WhatsApp: jendela layanan pelanggan dan model yang digunakan bersama oleh setiap pesan layanan
- Video: bentuk yang sama untuk klip video
- Dokumen: untuk PDF, spreadsheet, atau file lainnya
- Mengirim pesan WhatsApp: envelope permintaan, model 202, dan coba lagi yang aman
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