WhatsApp-stickerberichten
Een stickerbericht bevat een publieke WebP-URL die WhatsApp ophaalt op het moment van verzending. Het is de eenvoudigste media-arm: geen bijschrift, geen ander optioneel veld bij verzending.
Een sticker versturen
Stel sticker.url in; er is verder niets toe te voegen:
const msg = await bird.whatsapp.send({
to: "+16505551234",
from: "+13124495648",
sticker: { url: "https://cdn.example.com/stickers/thumbs-up.webp" },
});
console.log(msg.id, msg.status);msg = client.whatsapp.send(
to="+16505551234",
from_="+13124495648",
sticker={"url": "https://cdn.example.com/stickers/thumbs-up.webp"},
)
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",
Sticker: &bird.WhatsAppStickerSend{Url: "https://cdn.example.com/stickers/thumbs-up.webp"},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(msg.Id, *msg.Status)
}$sticker = (new WhatsAppMessageSendRequestSticker())
->setUrl('https://cdn.example.com/stickers/thumbs-up.webp');
$message = $bird->whatsapp->send(
to: '+16505551234',
from: '+13124495648',
sticker: $sticker,
);
echo $message->getId(), ' ', $message->getStatus();bird whatsapp send \
--from +13124495648 \
--sticker https://cdn.example.com/stickers/thumbs-up.webp \
--to +16505551234{
"name": "whatsapp_send",
"arguments": {
"from": "+13124495648",
"sticker": {
"url": "https://cdn.example.com/stickers/thumbs-up.webp"
},
"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",
"sticker": {
"url": "https://cdn.example.com/stickers/thumbs-up.webp"
}
}'sticker heeft geen caption-veld, en animated is niet iets dat je instelt bij verzending; Bird rapporteert het alleen terug bij een inkomende sticker. from is verplicht bij elk servicebericht: een nummer dat je werkruimte bezit, niet een door Bird beheerd nummer.
Limieten
| Veld | Grens | Afgedwongen door |
|---|---|---|
| Bestandsgrootte, statisch | 100 KB | Alleen WhatsApp, bij ophalen (async) |
| Bestandsgrootte, geanimeerd | 500 KB | Alleen WhatsApp, bij ophalen (async) |
| Bestandstype | Alleen WebP | Alleen WhatsApp, bij ophalen (async) |
| caption | geen geldig veld | Bird, bij acceptatie (422, schemaweigering) |
| url | absoluut, https, heeft een host, geen kale spatie | Bird, bij acceptatie (422) |
Bird controleert de vorm van de URL voordat er iets in de wachtrij wordt geplaatst; het controleert niet de werkelijke grootte, het formaat of of het bestand statisch of geanimeerd is. Alleen het ophalen door WhatsApp zelf op het moment van verzending kan dat. Het meesturen van een caption is geen lengtefout; het veld bestaat niet in het schema van deze arm, dus het mislukt als een niet-herkende eigenschap. Zie de hub's media versturen via URL en wanneer media mislukt.
Een inkomende sticker lezen
Een inkomende sticker bevat een id, mime_type en animated die Bird heeft geleerd door het bestand op te halen. Alle drie ontbreken bij het teruglezen van een uitgaand bericht, omdat Bird het verstuurde bestand nooit heeft opgehaald of geïnspecteerd. Zie WhatsApp-stickers ontvangen voor het volledige inkomende bericht, de whatsapp.received-payload en waar je op moet letten.
Limieten en foutscenario's
- Het klantenservicevenster moet open zijn. Stickers zijn serviceberichten die alleen binnen een open venster bezorgbaar zijn; zie de hub's klantenservicevenster.
- Bird weigert http; WhatsApp zelf zou het ophalen. Zie de hub's media versturen via URL voor de volledige vormcontrole.
- Een geweigerde ophaalactie wordt toch in rekening gebracht. Zie de hub's wanneer media mislukt. De eigen weigeringstekst van stickers van WhatsApp is niet onafhankelijk gemeten, dus beschouw de mapping als afgeleid door symmetrie in plaats van bevestigd per oorzaak.
- animated is alleen-lezen en alleen aanwezig bij een inkomende of opgehaalde sticker. Het is het eigen oordeel van WhatsApp over het bestand, niet iets dat je kunt declareren. Of een sticker statisch of geanimeerd is, verandert alleen het maximale bestandsformaat; WebP is hoe dan ook vereist.
- WhatsApp cachet een opgehaalde URL voor ongeveer 10 minuten. Als je dezelfde URL binnen dat venster opnieuw verstuurt, wordt het eerste opgehaalde bestand opnieuw gebruikt; varieer de URL om een nieuwe ophaalactie te forceren.
Volgende stappen
- WhatsApp-serviceberichten: het klantenservicevenster en het model dat elk servicebericht deelt
- Audio: een andere media-arm zonder bijschriftveld
- Afbeeldingen: voor een foto of afbeelding met bijschrift
- 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