Wiadomości wideo WhatsApp
Wiadomość wideo zawiera publiczny URL, który WhatsApp pobiera w momencie wysyłki, z opcjonalnym podpisem pod spodem.
Wyślij wideo
Ustaw video.url:
const msg = await bird.whatsapp.send({
to: "+16505551234",
from: "+13124495648",
video: { url: "https://cdn.example.com/unboxing.mp4" },
});
console.log(msg.id, msg.status);msg = client.whatsapp.send(
to="+16505551234",
from_="+13124495648",
video={"url": "https://cdn.example.com/unboxing.mp4"},
)
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",
Video: &bird.WhatsAppVideoSend{Url: "https://cdn.example.com/unboxing.mp4"},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}$video = (new WhatsAppMessageSendRequestVideo())
->setUrl('https://cdn.example.com/unboxing.mp4');
$message = $bird->whatsapp->send(
to: '+16505551234',
from: '+13124495648',
video: $video,
);
echo $message->getId(), ' ', $message->getStatus();bird whatsapp send \
--from +13124495648 \
--to +16505551234 \
--video https://cdn.example.com/unboxing.mp4{
"name": "whatsapp_send",
"arguments": {
"from": "+13124495648",
"to": "+16505551234",
"video": {
"url": "https://cdn.example.com/unboxing.mp4"
}
}
}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",
"video": {
"url": "https://cdn.example.com/unboxing.mp4"
}
}'Pełna struktura dodaje opcjonalne caption:
Przykład kodu
{
"to": "+16505551234",
"from": "+13124495648",
"video": {
"url": "https://cdn.example.com/unboxing.mp4",
"caption": "How to set it up"
}
}video nie ma pola filename. from jest wymagane w każdej wiadomości serwisowej: numer należący do Twojego obszaru roboczego, a nie zarządzany przez Bird.
Limity
| Pole | Ograniczenie | Egzekwowane przez |
|---|---|---|
| Rozmiar pliku | 16 MB | tylko WhatsApp, przy pobraniu (async) |
| Format | Kontener MP4, wideo H.264, audio AAC | tylko WhatsApp, przy pobraniu (async) |
| caption | do 1024 znaków | Bird, przy przyjęciu (422) |
| url | bezwzględny, https, ma host, bez surowych spacji | Bird, przy przyjęciu (422) |
Bird sprawdza kształt URL-a i długość podpisu, zanim cokolwiek trafi do kolejki. Nie sprawdza rzeczywistego rozmiaru pliku, kontenera ani kodeka; to może zrobić dopiero własne pobranie WhatsApp w momencie wysyłki. Zobacz w hubie wysyłanie mediów przez URL i gdy media się nie powiodą.
Odczyt przychodzącego wideo
Przychodzące wideo zawiera ten sam obiekt video, a dodatkowo id i mime_type, które Bird poznał podczas pobierania pliku. Oba są nieobecne przy odczycie wiadomości wychodzącej, ponieważ Bird nigdy nie pobierał pliku, który wysłał. Zobacz Odbieranie wideo WhatsApp, aby poznać pełny odczyt przychodzący, payload whatsapp.received i na co zwrócić uwagę.
Limity i tryby błędów
- Okno obsługi klienta musi być otwarte. Wideo jest wiadomością serwisową, dostarczalną tylko w otwartym oknie; zobacz w hubie okno obsługi klienta.
- Bird odrzuca http; WhatsApp sam by go pobrał. Zobacz w hubie wysyłanie mediów przez URL, aby poznać pełną walidację kształtu.
- Odrzucone pobranie i tak jest naliczane. Zobacz w hubie gdy media się nie powiodą, aby poznać media_rejected i fakt naliczania opłaty przy błędzie. Treść odrzucenia wideo od WhatsApp nie została niezależnie zmierzona tak jak w przypadku obrazów, więc traktuj mapowanie jako wywnioskowane przez analogię, a nie potwierdzone dla każdej przyczyny.
- WhatsApp buforuje pobrany URL przez około 10 minut. Ponowne wysłanie identycznego URL-a w tym oknie serwuje pierwszy fetch; zmień URL, aby wymusić nowe pobranie.
- Animowany GIF nie jest osobnym typem. WhatsApp nie ma typu wiadomości gif; animowany GIF, który wyślesz, dociera do odbiorcy i wróciłby do Ciebie jako wiadomość przychodząca, jako zwykły video z typem MIME MP4.
Następne kroki
- Wiadomości serwisowe WhatsApp: okno obsługi klienta i model wspólny dla każdej wiadomości serwisowej
- Obrazy: ta sama struktura dla zdjęcia lub grafiki
- Audio: dla notatki głosowej lub klipu audio
- Wysyłanie wiadomości WhatsApp: koperta żądania, model 202 i bezpieczne ponawianie
Powiązane zasoby
Kontynuuj z dokumentacją, przewodnikami i przykładami dotyczącymi tego tematu. Zasoby są w języku angielskim.
Obejrzyj przewodnikConnecting WhatsApp to Bird: from buying a number to a live channelZrozum koncepcjęWhat is the 24-hour customer service window on WhatsApp?Użyj narzędziaWhatsApp message builderPoznaj możliwościWhatsApp
Wypróbuj ćwiczenie i uzyskaj brief wdrożeniowy