Multimedia y ubicación
Resumen para integración
- Endpoint:
POST https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging- Token: de mensajería, en el encabezado
Authorization: Bearer {{wa-msg-api-token}}(cómo generarlo)- Campos comunes:
from,to(teléfono o BSUID) ytype(detalle)- Valores de
typeen esta página:"template"- Respuesta: la misma para todos los mensajes (ver respuesta)
Parámetros de imagen, documento, video y ubicación para el componente header de la plantilla. Todos se envían con POST /v1/messaging; los encabezados, los campos comunes y la respuesta están en Conexión HTTP. La estructura general de la plantilla (objetos template y components) está en Mensajes con plantilla.
Nota: se debe enviar exactamente un parámetro multimedia en el componente header.
Imagen
Parámetro de imagen para el componente header. En el objeto del parámetro, type debe ser "image".
Cuerpo
Campos de Imagen:
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| type | El valor es “image”. | String | Obligatorio |
| link | URL de la imagen. | String | Se requiere link o media_id (uno de los dos). |
| media_id | ID del recurso en WhatsApp. | String | Se requiere link o media_id (uno de los dos). |
Ejemplo
Ejemplo completo de Imagen (petición HTTP y cuerpo JSON):
Petición HTTP imagen
curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \-H 'Authorization: Bearer {{wa-msg-api-token}}' \-H 'Content-Type: application/json' \-d '{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "bienvenida","components": [{"type": "header","parameters": [{"link": "https://www.ejemplo.com/ejemplo.jpg","type": "image"}]},{"type": "body","parameters": [{"text": "ejemplo de texto","type": "text"}]}]}}'
Body imagen
{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "bienvenida","components": [{"type": "header","parameters": [{"link": "https://www.ejemplo.com/ejemplo.jpg","type": "image"}]},{"type": "body","parameters": [{"text": "ejemplo de texto","type": "text"}]}]}}
Documento
Parámetro de documento para el componente header. En el objeto del parámetro, type debe ser "document".
Cuerpo
Campos de Documento:
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| type | El valor es “document”. | String | Obligatorio |
| link | URL del documento. | String | Se requiere link o media_id (uno de los dos). |
| media_id | ID del recurso en WhatsApp. | String | Se requiere link o media_id (uno de los dos). |
| filename | Nombre del archivo del documento. | String | Opcional |
Ejemplo
Ejemplo completo de Documento (petición HTTP y cuerpo JSON):
Petición HTTP documento
curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \-H 'Authorization: Bearer {{wa-msg-api-token}}' \-H 'Content-Type: application/json' \-d '{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "bienvenida","components": [{"type": "header","parameters": [{"link": "http://victormoran.me/leo/Broadcaster-RCS_API_v1.0.pdf","type": "document","filename": "RCS Documentation"}]},{"type": "body","parameters": [{"text": "ejemplo de texto","type": "text"}]}]}}'
Body documento
{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "bienvenida","components": [{"type": "header","parameters": [{"link": "http://victormoran.me/leo/Broadcaster-RCS_API_v1.0.pdf","type": "document","filename": "RCS Documentation"}]},{"type": "body","parameters": [{"text": "ejemplo de texto","type": "text"}]}]}}
Video
Parámetro de video para el componente header. En el objeto del parámetro, type debe ser "video".
Cuerpo
Campos de Video:
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| type | El valor es “video”. | String | Obligatorio |
| link | URL del video. | String | Se requiere link o media_id (uno de los dos). |
| media_id | ID del recurso en WhatsApp. | String | Se requiere link o media_id (uno de los dos). |
Ejemplo
Ejemplo completo de Video (petición HTTP y cuerpo JSON):
Petición HTTP video
curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \-H 'Authorization: Bearer {{wa-msg-api-token}}' \-H 'Content-Type: application/json' \-d '{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "bienvenida","components": [{"type": "header","parameters": [{"link": "https://victormoran.me/leo/PruebasWhatsApp/video_3.7_MB.mp4","type": "video","filename": "video"}]},{"type": "body","parameters": [{"text": "ejemplo de texto","type": "text"}]}]}}'
Body video
{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "bienvenida","components": [{"type": "header","parameters": [{"link": "https://victormoran.me/leo/PruebasWhatsApp/video_3.7_MB.mp4","type": "video","filename": "video"}]},{"type": "body","parameters": [{"text": "ejemplo de texto","type": "text"}]}]}}
GIF
Parámetro GIF para el componente header. En el objeto del parámetro, type debe ser "gif". La plantilla debe haberse creado con un encabezado GIF.
Nota: Los GIF son archivos MP4 (el
linkdebe apuntar a un MP4), con un tamaño máximo de 3.5 MB. Los encabezados GIF solo están disponibles para plantillas de MARKETING enviadas desde WABAs con Marketing Messages Lite (MM Lite) habilitado; en cualquier otro caso WhatsApp muestra el archivo como un mensaje de video. A diferencia de los otros tipos de multimedia, el parámetro GIF solo aceptalink(nomedia_id).
Cuerpo
Campos de GIF:
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| type | El valor es “gif”. | String | Obligatorio |
| link | URL del archivo MP4. Máximo 3.5 MB. | String | Obligatorio |
Ejemplo
Ejemplo completo de GIF (petición HTTP y cuerpo JSON):
Petición HTTP de GIF
curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \-H 'Authorization: Bearer {{wa-msg-api-token}}' \-H 'Content-Type: application/json' \-d '{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "bienvenida","components": [{"type": "header","parameters": [{"type": "gif","link": "https://www.ejemplo.com/ejemplo.mp4"}]},{"type": "body","parameters": [{"text": "sample text","type": "text"}]}]}}'
Cuerpo de GIF
{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "bienvenida","components": [{"type": "header","parameters": [{"type": "gif","link": "https://www.ejemplo.com/ejemplo.mp4"}]},{"type": "body","parameters": [{"text": "sample text","type": "text"}]}]}}
Ubicación
Parámetro de ubicación para el componente header. En el objeto del parámetro, type debe ser "location".
Cuerpo
Campos de Ubicación:
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| type | El valor es “location”. | String | Obligatorio |
| location | Objeto con los datos de ubicación. | Objeto | Obligatorio |
Campos del objeto location:
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| longitude | Valor de la Longitud. | Number | Obligatorio |
| latitude | Valor de la Latitud. | Number | Obligatorio |
| name | Nombre de la ubicación. | String | Obligatorio |
| address | Dirección de la ubicación. | String | Obligatorio |
Ejemplo
Ejemplo completo de Ubicación (petición HTTP y cuerpo JSON):
Petición HTTP ubicación
curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \-H 'Authorization: Bearer {{wa-msg-api-token}}' \-H 'Content-Type: application/json' \-d '{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "bienvenida","components": [{"type": "header","parameters": [{"type": "location","location": {"longitude": -99.1841566,"latitude": 19.4260393,"name": "Concepto Móvil","address": "Shakespeare 39-piso 3, Anzures, Miguel Hidalgo, 11590 Ciudad de México, CDMX"}}]},{"type": "body","parameters": [{"text": "ejemplo de texto","type": "text"}]}]}}'
Body ubicación
{"from": "5215500000001","to": "5215500000002","type": "template","template": {"language": "es","name": "bienvenida","components": [{"type": "header","parameters": [{"type": "location","location": {"longitude": -99.1841566,"latitude": 19.4260393,"name": "Concepto Móvil","address": "Shakespeare 39-piso 3, Anzures, Miguel Hidalgo, 11590 Ciudad de México, CDMX"}}]},{"type": "body","parameters": [{"text": "ejemplo de texto","type": "text"}]}]}}
