Messaggi video WhatsApp
Un messaggio video contiene un URL pubblico che WhatsApp recupera al momento dell'invio, con una didascalia opzionale sotto.
Inviare un video
Imposta 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"
}
}'La struttura completa aggiunge un caption opzionale:
Esempio di codice
{
"to": "+16505551234",
"from": "+13124495648",
"video": {
"url": "https://cdn.example.com/unboxing.mp4",
"caption": "How to set it up"
}
}video non ha il campo filename. from è obbligatorio su ogni messaggio di servizio: un numero di proprietà del tuo spazio di lavoro, non uno gestito da Bird.
Limiti
| Campo | Limite | Applicato da |
|---|---|---|
| Dimensione file | 16 MB | solo WhatsApp, al recupero (asincrono) |
| Formato | Container MP4, video H.264, audio AAC | solo WhatsApp, al recupero (asincrono) |
| caption | fino a 1024 caratteri | Bird, all'accettazione (422) |
| url | assoluto, https, con host, senza spazi grezzi | Bird, all'accettazione (422) |
Bird controlla la struttura dell'URL e la lunghezza della didascalia prima di accodare qualsiasi cosa. Non controlla la dimensione effettiva del file, il container o il codec; solo il recupero diretto di WhatsApp al momento dell'invio può farlo. Consulta le pagine dell'hub invio di media tramite URL e quando un media non riesce.
Leggere un video in arrivo
Un video in arrivo contiene lo stesso oggetto video, più un id e un mime_type che Bird ha appreso recuperando il file. Entrambi sono assenti in una rilettura in uscita, perché Bird non ha mai recuperato il file che ha inviato. Consulta Ricezione di video WhatsApp per la lettura in arrivo completa, il payload whatsapp.received e a cosa prestare attenzione.
Limiti e modalità di errore
- La finestra del servizio clienti deve essere aperta. Il video è un messaggio di servizio, consegnabile solo all'interno di una finestra aperta; consulta la pagina dell'hub sulla finestra del servizio clienti.
- Bird rifiuta http; WhatsApp stesso lo recupererebbe. Consulta la pagina dell'hub sull'invio di media tramite URL per il controllo completo della struttura.
- Un recupero rifiutato viene comunque addebitato. Consulta la pagina dell'hub quando un media non riesce per media_rejected e il fatto dell'addebito in caso di errore. Il testo di rifiuto specifico per i video da parte di WhatsApp non è stato misurato in modo indipendente come per le immagini, quindi considera la mappatura come dedotta per simmetria anziché confermata per singola causa.
- WhatsApp memorizza in cache un URL recuperato per circa 10 minuti. Reinviare lo stesso URL all'interno di quella finestra riutilizza il primo recupero; modifica l'URL per forzarne uno nuovo.
- Un GIF animato non è un tipo distinto. WhatsApp non ha un tipo di messaggio gif; un GIF animato che invii arriva al destinatario, e tornerebbe a te in arrivo, come un normale video con tipo MIME MP4.
Passaggi successivi
- Messaggi di servizio WhatsApp: la finestra del servizio clienti e il modello condiviso da ogni messaggio di servizio
- Immagini: la stessa struttura per una foto o un elemento grafico
- Audio: per una nota vocale o un clip audio
- Invio di messaggi WhatsApp: la busta della richiesta, il modello 202 e i tentativi sicuri di riprovare
Risorse correlate
Prosegui con la documentazione, le guide e gli esempi per questo argomento. Le risorse sono in inglese.
Guarda la guidaConnecting WhatsApp to Bird: from buying a number to a live channelComprendi il concettoWhat is the 24-hour customer service window on WhatsApp?Usa lo strumentoWhatsApp message builderEsplora la funzionalitàWhatsApp
Prova l'esercitazione e ottieni un brief di implementazione