Recibir stickers de WhatsApp
Un sticker que un contacto selecciona de su bandeja llega como un mensaje entrante con sticker: una referencia a un archivo WebP, más un indicador animated.
Qué contiene un sticker entrante
Ejemplo de código
{
"id": "wam_01kye7t1rgyw9u5l8p2zaf7sid",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"status": "received",
"sticker": {
"id": "waf_01kye6r7as0zkv3g1q6suy9whc",
"url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kye7t1rgyw9u5l8p2zaf7sid/media/waf_01kye6r7as0zkv3g1q6suy9whc",
"mime_type": "image/webp",
"animated": false
},
"created_at": "2026-08-25T09:19:37Z"
}| Campo | Qué contiene |
|---|---|
| id | El archivo almacenado, que se pasa como media_id al descargar los bytes |
| url | Una URL Bird, que se consulta con tu clave API |
| mime_type | El tipo de medio que reportó WhatsApp, image/webp para un sticker |
| animated | Si el sticker es animado; presente solo en un sticker entrante |
El brazo no incluye pie de imagen en ninguna dirección, ni nombre del sticker o del paquete del que proviene. Un sticker es el mensaje completo.
animated distingue un WebP animado de uno estático, lo cual importa cuando renderizas el archivo tú mismo: un sticker animado es un WebP de múltiples fotogramas que un renderizador de imágenes fijas aplana a su primer fotograma.
Descargar los bytes
Pasa el ID del mensaje y el id del medio al método de medios del canal. La guía de descarga de medios entrantes del hub incluye esa llamada en todos los lenguajes, junto con las reglas de redirección y encabezados que sigue, y define la ventana de retención en la que vive el archivo.
La mayoría de las integraciones nunca descargan un sticker. Normalmente expresa sentimiento en lugar de información, así que una bandeja de agente puede mostrar un marcador de posición y un flujo automatizado puede tratar el mensaje como un acuse de recibo que renueva la ventana sin descargar nada.
El payload del webhook
whatsapp.received incluye el brazo sticker en el sobre del evento:
Ejemplo de código
{
"type": "whatsapp.received",
"timestamp": "2026-08-25T09:19:37.882Z",
"data": {
"whatsapp_id": "wam_01kye7t1rgyw9u5l8p2zaf7sid",
"workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"sticker": {
"id": "waf_01kye6r7as0zkv3g1q6suy9whc",
"url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kye7t1rgyw9u5l8p2zaf7sid/media/waf_01kye6r7as0zkv3g1q6suy9whc",
"mime_type": "image/webp",
"animated": false
},
"tags": null,
"metadata": null
}
}Aspectos a tener en cuenta
- Un sticker también renueva la ventana de servicio. Es un mensaje entrante como cualquier otro, así que otorga otras 24 horas de respuestas libres aunque no contenga texto sobre el que actuar.
- Un sticker no es una reacción. Una reacción con emoji que un contacto agrega a uno de tus mensajes no es un mensaje entrante: se registra en el registro de reacciones de ese mensaje, y su lectura se cubre en eventos de WhatsApp.
Próximos pasos
- Cómo funciona la recepción: el sobre entrante, la descarga de medios y el webhook whatsapp.received
- Mensajes de sticker de WhatsApp: el lado de envío del mismo brazo
- Tipos de mensaje no soportados: pedidos, avisos del sistema y el resto de lo que llega sin modelar
- Eventos de WhatsApp: la lista completa de eventos, por API o webhooks
Recursos relacionados
Continúa con la documentación, guías y ejemplos sobre este tema. Los recursos están en inglés.
Ver la guíaConnecting WhatsApp to Bird: from buying a number to a live channelComprender el conceptoWhat is the 24-hour customer service window on WhatsApp?Usar la herramientaWhatsApp message builderExplorar la funcionalidadWhatsApp
Prueba el ejercicio y obtén un resumen de implementación