Messages vidéo WhatsApp
Un message vidéo contient une URL publique que WhatsApp récupère au moment de l'envoi, avec une légende facultative en dessous.
Envoyer une vidéo
Définissez 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 forme complète ajoute un caption facultatif :
Exemple de code
{
"to": "+16505551234",
"from": "+13124495648",
"video": {
"url": "https://cdn.example.com/unboxing.mp4",
"caption": "How to set it up"
}
}video n'a pas de champ filename. from est obligatoire sur chaque message de service : un numéro appartenant à votre espace de travail, pas un numéro géré par Bird.
Limites
| Champ | Limite | Appliquée par |
|---|---|---|
| Taille du fichier | 16 Mo | WhatsApp uniquement, à la récupération (async) |
| Format | Conteneur MP4, vidéo H.264, audio AAC | WhatsApp uniquement, à la récupération (async) |
| caption | jusqu'à 1024 caractères | Bird, à l'acceptation (422) |
| url | absolue, https, possède un hôte, pas d'espace brut | Bird, à l'acceptation (422) |
Bird vérifie la forme de l'URL et la longueur de la légende avant toute mise en file d'attente. Il ne vérifie pas la taille réelle du fichier, le conteneur ou le codec ; seule la récupération effectuée par WhatsApp au moment de l'envoi le peut. Consultez les pages du hub envoyer un média par URL et quand un média échoue.
Lire une vidéo entrante
Une vidéo entrante contient le même objet video, plus un id et un mime_type que Bird a appris en récupérant le fichier. Les deux sont absents lors d'une relecture sortante, car Bird n'a jamais récupéré le fichier qu'il a envoyé. Consultez Recevoir une vidéo WhatsApp pour la lecture entrante complète, le payload whatsapp.received et les points à surveiller.
Limites et modes d'échec
- La fenêtre de service client doit être ouverte. La vidéo est un message de service, livrable uniquement dans une fenêtre ouverte ; consultez la page du hub fenêtre de service client.
- Bird rejette http ; WhatsApp lui-même le récupérerait. Consultez la page du hub envoyer un média par URL pour la vérification complète de la forme.
- Une récupération rejetée est quand même facturée. Consultez la page du hub quand un média échoue pour media_rejected et le fait de facturation en cas d'échec. Le texte de rejet propre à la vidéo venant de WhatsApp n'a pas été mesuré indépendamment comme celui de l'image, traitez donc la correspondance comme déduite par symétrie plutôt que confirmée cause par cause.
- WhatsApp met en cache une URL récupérée pendant environ 10 minutes. Renvoyer la même URL dans cet intervalle resert la première récupération ; modifiez l'URL pour en forcer une nouvelle.
- Un GIF animé n'est pas un type distinct. WhatsApp n'a pas de type de message gif ; un GIF animé que vous envoyez arrive au destinataire, et vous reviendrait en entrant, sous forme d'un video ordinaire avec un type MIME MP4.
Étapes suivantes
- Messages de service WhatsApp : la fenêtre de service client et le modèle partagé par chaque message de service
- Images : la même forme pour une photo ou un graphique
- Audio : pour une note vocale ou un clip audio
- Envoyer des messages WhatsApp : l'enveloppe de requête, le modèle 202 et les réessais sûrs
Ressources associées
Poursuivez avec la documentation, les guides et les exemples sur ce sujet. Les ressources sont en anglais.
Regarder le guideConnecting WhatsApp to Bird: from buying a number to a live channelComprendre le conceptWhat is the 24-hour customer service window on WhatsApp?Utiliser l'outilWhatsApp message builderExplorer la fonctionnalitéWhatsApp
Essayez la pratique et obtenez un guide d'implémentation