Mensajes con plantilla
Los mensajes con plantilla son plantillas de mensaje reutilizables y previamente aprobadas con marcadores de posición para variables, y son el único medio para iniciar una conversación con un cliente.
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)- Respuesta: la misma para todos los mensajes (ver respuesta) En los mensajes con plantilla:
- Las plantillas son mensajes que pueden contener texto y recursos multimedia (imagen, documento, video).
- Se pueden sustituir variables en la plantilla (placeholders), para personalizar un mensaje.
- Es el único medio para iniciar una conversación con su cliente.
- Para utilizarlas, deben ser aprobadas por Whatsapp. Le pedimos que se acerque a nuestro equipo de Operaciones para que lo oriente en el proceso de aprobación.
Todos los mensajes con plantilla se envían con POST /v1/messaging; los encabezados, los campos comunes y la respuesta están en Conexión HTTP.
En esta sección:
- Texto, moneda y fecha: Parámetros de texto, moneda y fecha y hora que se sustituyen en los componentes header y body de la plantilla.
- Multimedia y ubicación: Parámetros de imagen, documento, video y ubicación para el componente header de la plantilla.
- Botones: Plantillas con botones: respuesta rápida, contraseña de un solo uso, realizar llamada y abrir URL.
- WhatsApp Flows: Plantillas que abren un WhatsApp Flow.
- Secuencia: Plantillas de secuencia (carrusel) con tarjetas desplazables.
- Cupones y ofertas por tiempo limitado: Plantillas con códigos de cupón y ofertas por tiempo limitado.
Estructura general
El campo type debe ser "template". Los campos from y to se describen en Campos comunes.
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| template | Objeto que contiene las propiedades de la plantilla | Objeto | Obligatorio |
Objeto template
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| language | Lenguaje local, Ejemplo: es_ES, es_MX, es_US | String | Oblicatorio |
| name | Nombre de la plantilla | String | Obligatorio |
| components | Arreglo de objetos que contiene la configuración de la plantilla | Array | Opcional |
Objeto components
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| type | Tipo de componente. Los valores pueden ser:
| String | Obligatorio |
| subtype |
| String | Es obligatorio cuando se utiliza con el tipo button. |
| index | Indice para los parametros de tipo payload. | Integer |
|
| parameters | Arreglo de tipos de Plantilla. Los valores pueden ser:
| Array | Opcional (obligatorio para componentes limited_time_offer) |
Relación de Tipos de Parámetros vs Tipos de Componente
WABA ID (derivado por el servidor)
La cuenta de WhatsApp Business (WABA) de destino para el envío de una plantilla no se lee del cuerpo de la petición. Se deriva del encabezado Authorization: Bearer {token}: el token de mensajería se vincula a una sola WABA al emitirse, y esa WABA se utiliza para cada envío realizado con el token.
- No necesitas enviar
wba_id/waba_iden el cuerpo del mensaje. Cualquier campo de este tipo se ignora para el enrutamiento. - Para enviar desde otra WABA, genera un nuevo token de mensajería para esa WABA.
- Los endpoints de administración (gestión de plantillas, grupos, etc.) siguen recibiendo
{{waba_id}}en la ruta de la URL, porque un token de administración puede pertenecer a un usuario que gestiona varias WABAs.
