Envío individual (1-1)
Envía mensajes HSM personalizados a destinatarios individuales usando la API de WhatsApp
Configuración del envío de mensajes
Paso 1: Definir el Endpoint
Para enviar mensajes, debes utilizar el siguiente endpoint de la API:Paso 2: Parámetros de la solicitud
Los parámetros clave para la solicitud incluyen:- Texto: El contenido del mensaje.
- Tipo de mensaje (
type): Define el tipo de plantilla que se va a enviar. - Propiedad de plantilla: Plantilla previamente creada y aprobada por META.
- Archivo multimedia: Si la plantilla requiere alguna URL (imagen, documento, etc.).
- Bot ID: Identificador único del bot.
- Parámetros: Datos específicos para cada envío (nombre, número de pedido, etc.).
Paso 3: Enviar la solicitud
Envía el mensaje usando el método POST. Al completar el envío, recibirás una respuesta que te permitirá verificar el estado de la entrega.Restricciones de contenido
Recuerda que, para enviar mensajes a través de WhatsApp, debes usar plantillas previamente aprobadas por META. Cada plantilla tiene limitaciones específicas según su formato y contenido, como la longitud del mensaje o el tipo de información permitida. Asegúrate de revisar estas restricciones antes de utilizarlas para garantizar su correcto envío. Considera que:- No se permiten URLs, emojis ni archivos multimedia dentro de los mensajes de autenticación.
- Los parámetros deben tener un máximo de 15 caracteres.
Request Body
| Propiedad | Tipo | Descripción | Obligatorio |
|---|---|---|---|
| mediaUrl | string | URL pública del archivo multimedia. Obligatoria si tu plantilla es de tipo video, imagen o documento. | Condicional |
| filename | string | Nombre del archivo para plantillas de tipo documento. | Condicional |
| type | string | Tipo de mensaje: text, hsm, image, document, video, catalog, carousel. Por defecto es text. | No |
| language | string | Idioma de la plantilla: en, es, pt | No |
| elementName | string | Nombre de la plantilla aprobada. | Sí |
| parameters | array | Conjunto de strings que reemplazan valores en la plantilla. | Sí |
| destinations | array | Lista de números de teléfono. Formato numérico con código de país, sin + ni espacios. | Sí |
| buttonPayloads | array | Información para los botones de respuesta rápida. | No |
| actions | object | Configuración y acciones de la plantilla en formato payload. | No |
| headerParameters | array | Parámetro del encabezado, máximo 1 parámetro. | No |
| thumbnailProduct | string | URL de imagen en miniatura. Obligatoria para plantillas de catálogo. | Condicional |
| expirationTime | string | Tiempo de expiración en formato timestamp (milisegundos). | No |
| campaignId | string | Identificador único de la campaña asociada. | No |
| buttonParameters | array | Configuración de todos los tipos de botones. | No |
| ltoParams | object | Parámetros de tiempo limitado (LTO). | No |
| cards | array | Tarjetas de contenido para plantillas de carrusel. | No |
Tipos de plantillas
En esta sección, compartimos ejemplos de solicitudes para los diferentes tipos de plantillas. Estos ejemplos proporcionan una guía clara para que puedas sustituir fácilmente los valores con tus propios datos.Mensaje de texto
Mensaje de texto
Mensaje con imagen
Mensaje con imagen
Mensaje con video
Mensaje con video
Mensaje con documento adjunto
Mensaje con documento adjunto
Mensaje de texto con botones de acción de URL estática
Mensaje de texto con botones de acción de URL estática
Mensaje de texto con botones de acción de URL dinámica
Mensaje de texto con botones de acción de URL dinámica
Mensaje de texto con botones de Quick Reply
Mensaje de texto con botones de Quick Reply
Mensaje de texto personalizado con parámetros en el encabezado
Mensaje de texto personalizado con parámetros en el encabezado
Catálogo completo
Catálogo completo
LTO con botón de copiar código
LTO con botón de copiar código
Autenticación
Autenticación
Carrusel con 2 tarjetas
Carrusel con 2 tarjetas
Casos de uso comunes
1. Mensajes personalizados
Usa plantillas con variables para enviar mensajes adaptados a las necesidades de cada usuario (por ejemplo, recordatorios de pagos o actualizaciones de pedidos).2. Automatización con Webhooks
Interacciones personalizadas según las respuestas de los usuarios, permitiendo una conversación más dinámica y eficiente. Ejemplos de campañas:- Promociones personalizadas: Ofertas exclusivas según preferencias del cliente.
- Recordatorios de pagos: Notificaciones automáticas para vencimientos de facturas.
- Cotizaciones de servicios: Consultas rápidas sobre seguros, préstamos, etc.
Configuración avanzada
Número telefónico
Al ser un envío individual, el número de teléfono a quien le llegará el mensaje deberá estar en el formato correcto para que el envío sea exitoso. Se debe omitir el signo+, incluir el código de país, solo pueden ingresar caracteres numéricos. Los guiones o espacios no son aceptados.
| ✅ Forma correcta | ❌ Forma incorrecta | ❌ Forma incorrecta |
|---|---|---|
| PHONE_NUMBER | +PHONE_NUMBER | 09XXXXXXXX |
Parámetros específicos
Dependiendo de la campaña, puedes usar datos personalizados como el tipo de mensaje o información adicional de los clientes.Personalización de mensajes
Vinculación con Workflows
Cada mensaje puede estar asociado a un flujo específico que define cómo se debe manejar la respuesta del usuario. Esto es útil para crear interacciones más complejas y dirigidas, como menús interactivos o encuestas.Configuración de botones
Button Payload
Button Payload
Actions Payload
Actions Payload
Parámetros Cache
Esta función se utiliza para guardar información adicional en la caché para utilizarla posteriormente. Dependerá de la configuración deseada para la plantilla. Si se envía una URL, puede ser utilizada por un flujo para redirigir esa URL con fines de marketing. Todos los parámetros a almacenar en caché deben ir ensetMemoryParams con sus respectivos campos clave-valor.
Respuestas de la API
200 - Respuesta exitosa
200 - Respuesta exitosa
400 - Bad Request
400 - Bad Request
401 - Unauthorized
401 - Unauthorized
404 - Not Found
404 - Not Found
422 - Unprocessable Entity
422 - Unprocessable Entity
500 - Internal Server Error
500 - Internal Server Error
Herramientas recomendadas para pruebas
Para facilitar las pruebas y envío de solicitudes, te recomendamos usar herramientas como:- Postman
- Insomnia
Preguntas frecuentes
¿Cuántos caracteres están permitidos?
¿Cuántos caracteres están permitidos?
- DOCUMENTO: Hasta 15MB - Formato:
.pdf - VIDEO: Hasta 15MB - Formato:
.mp4 - IMAGEN: Hasta 5MB - Formatos:
.jpg,.jpeg,.png
¿Cómo se consume la API?
¿Cómo se consume la API?
Autorizaciones
Basic authentication using Base64 encoded clientId:clientSecret
Parámetros de ruta
The unique identifier of the bot
Cuerpo
Approved template name
Phone numbers with country code, no + sign
Public URL for media (required for image/video/document templates)
Filename for document templates
text, hsm, image, document, video, catalog, carousel en, es, pt Template parameter values
1Expiration timestamp in milliseconds