WhatsApp-videoberichten
Een videobericht bevat een openbare URL die WhatsApp ophaalt op het moment van verzending, met een optioneel bijschrift eronder.
Een video versturen
Stel video.url in:
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"
}
}'De volledige structuur voegt een optionele caption toe:
Codevoorbeeld
{
"to": "+16505551234",
"from": "+13124495648",
"video": {
"url": "https://cdn.example.com/unboxing.mp4",
"caption": "How to set it up"
}
}video heeft geen filename-veld. from is vereist bij elk servicebericht: een nummer dat je werkruimte bezit, niet een door Bird beheerd nummer.
Limieten
| Veld | Limiet | Afgedwongen door |
|---|---|---|
| Bestandsgrootte | 16 MB | alleen WhatsApp, bij ophalen (async) |
| Formaat | MP4-container, H.264-video, AAC-audio | alleen WhatsApp, bij ophalen (async) |
| caption | maximaal 1024 tekens | Bird, bij acceptatie (422) |
| url | absoluut, https, heeft een host, geen ongecodeerde spatie | Bird, bij acceptatie (422) |
Bird controleert de vorm van de URL en de lengte van het bijschrift voordat er iets in de wachtrij wordt geplaatst. Het controleert niet de werkelijke bestandsgrootte, container of codec; dat kan alleen de eigen ophaalactie van WhatsApp op het moment van verzending. Zie in de hub media versturen via URL en wanneer media mislukt.
Een inkomende video lezen
Een inkomende video bevat hetzelfde video-object, plus een id en mime_type die Bird heeft vastgesteld door het bestand op te halen. Beide ontbreken bij het teruglezen van een uitgaand bericht, omdat Bird het verzonden bestand nooit zelf heeft opgehaald. Zie WhatsApp-video ontvangen voor de volledige inkomende leesactie, de whatsapp.received-payload en waar je op moet letten.
Limieten en faalscenario's
- Het klantenservicevenster moet open zijn. Video is een servicebericht, alleen afleverbaar binnen een open venster; zie in de hub klantenservicevenster.
- Bird weigert http; WhatsApp zelf zou het wel ophalen. Zie in de hub media versturen via URL voor de volledige vormcontrole.
- Een geweigerde ophaalactie wordt toch in rekening gebracht. Zie in de hub wanneer media mislukt voor media_rejected en het feit dat er bij falen kosten in rekening worden gebracht. De eigen weigeringstekst van video van WhatsApp is niet onafhankelijk gemeten zoals die van afbeeldingen, dus beschouw de mapping als afgeleid door symmetrie in plaats van bevestigd per oorzaak.
- WhatsApp cachet een opgehaalde URL ongeveer 10 minuten. Als je dezelfde URL binnen dat venster opnieuw verstuurt, wordt het eerste ophaalresultaat hergebruikt; varieer de URL om een nieuw ophaalverzoek af te dwingen.
- Een geanimeerde GIF is geen apart type. WhatsApp heeft geen gif-berichttype; een geanimeerde GIF die je verstuurt komt bij de ontvanger aan, en zou bij een inkomend bericht ook bij jou aankomen, als een gewone video met een MP4-MIME-type.
Vervolgstappen
- WhatsApp-serviceberichten: het klantenservicevenster en het model dat elk servicebericht deelt
- Afbeeldingen: dezelfde structuur voor een foto of afbeelding
- Audio: voor een spraakbericht of audioclip
- WhatsApp-berichten versturen: de request-envelope, het 202-model en veilig opnieuw proberen
Gerelateerde bronnen
Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.
Bekijk de gidsConnecting WhatsApp to Bird: from buying a number to a live channelBegrijp het conceptWhat is the 24-hour customer service window on WhatsApp?Gebruik de toolWhatsApp message builderOntdek de mogelijkheidWhatsApp
Probeer de oefening en ontvang een implementatieoverzicht