Usa el nodo messages
para enviar a los clientes mensajes que contengan audio, documentos, imágenes, stickers o videos.
Básicamente, cuando envías un mensaje que incluye contenido multimedia, debes proporcionar en el cuerpo de la solicitud el identificador del contenido multimedia que se subió o un enlace al contenido multimedia. Además, debes especificar el tipo de contenido multimedia que estás enviando: audio
, image
, document
, sticker
o video
. Cuando se recibe la solicitud, el contenido multimedia se sube al servidor de WhatsApp y se envía al usuario indicado en el campo to
.
En este momento, existen dos formas de enviar mensajes multimedia con la API de WhatsApp Business:
media
a fin de obtener el identificador que hace falta para la llamada a la API messages
.Necesitas lo siguiente:
POST
a /messages
Una vez que hayas subido el contenido multimedia, usa el identificador devuelto para el campo id
en la llamada a la API que envía el mensaje multimedia. También puedes proporcionar un parámetro link
que apunte al contenido multimedia que quieres enviar (por el momento, solo se admiten enlaces HTTP y HTTPS).
El parámetro id
o link
es obligatorio y no es posible usar ambos al mismo tiempo.
En el ejemplo anterior, se muestran distintos objetos, como audio
, document
, image
, sticker
y video
, solo con fines ilustrativos. Un cuerpo de solicitud válido contiene solo uno de esos objetos.
POST /v1/messages { "recipient_type": "individual", "to": "whatsapp-id", "type": "audio" | "contact" | "document" | "image" | "location" | "sticker" | "text" | "video", "audio": { "id": "your-media-id" } "document": { "id": "your-media-id", "filename": "your-document-filename" } "document": { "link": "the-provider-name/protocol://the-url", "provider": { "name" : "provider-name" } } "document": { "link": "http(s)://the-url.pdf" } "video": { "id": "your-media-id" } "image": { "link": "http(s)://the-url", "provider": { "name" : "provider-name" } } "image": { "id": "your-media-id" } "sticker": { "id": "your-media-id" } "sticker": { "link": "http(s)://the-url", "provider": { "name" : "provider-name" } } }
Para obtener más información sobre los parámetros, consulta lo siguiente:
Una respuesta exitosa incluye un objeto messages
con un identificador de mensaje.
{ "messages": [{ "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU" }] }
Si la respuesta no funciona correctamente, se envía una devolución de llamada a tu URL del webhook, aunque la respuesta arrojará un identificador de mensaje similar al envío correcto de un mensaje. Por eso es importante configurar un servidor de Webhook.
Para obtener más información sobre errores, consulta Códigos de error y de estado.