Saltar al contenido principal
POST
Send Individual HSM
WhatsApp API permite a las compañías automatizar y personalizar la comunicación con sus clientes, facilitando interacciones eficientes, escalables y enriquecidas con contenido multimedia. Es ideal para gestionar consultas, enviar notificaciones y ofrecer respuestas inmediatas a través de AI Agents.

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.
Asegúrate de cumplir con las políticas de WhatsApp para evitar restricciones.

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


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.
Si el nombre de una plantilla o un botón dentro del JSON es distinto a la plantilla ya aprobada, incluso por una tilde, el envío fallará. La precisión es clave para garantizar la funcionalidad.

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.
Para usuarios de Ecuador: Se debe omitir el signo ”+” y el primer 0 del número telefónico para poder ser ingresado de manera correcta.

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

Puedes usar la siguiente estructura en el campo buttonPayloads cuando tu plantilla incluya botones de respuesta rápida usando workflows; esto te permitirá activar workflows adicionales dentro de la conversación según la acción seleccionada por el usuario.
En este caso, cada botón debe tener las claves type, action y skillId. La clave action define el texto que aparecerá en el botón, mientras que skillId indica el ID del flujo que el botón activará.
Para obtener el skillId de un workflow, pasa el cursor sobre el nombre del workflow en Brain Studio. Se mostrará un tooltip con el ID correspondiente.
Redirigen a los usuarios a workflows específicos según su elección o interacción.Las plantillas permiten las siguientes configuraciones:
Para obtener el skillId del workflow, pasa el cursor sobre el nombre del workflow en Brain Studio. Se mostrará un tooltip con el ID correspondiente.

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 en setMemoryParams con sus respectivos campos clave-valor.
Esta configuración será válida durante 3 meses.

Respuestas de la API


Herramientas recomendadas para pruebas

Para facilitar las pruebas y envío de solicitudes, te recomendamos usar herramientas como:
  • Postman
  • Insomnia
Estas herramientas permiten realizar solicitudes HTTP de manera sencilla, probar diferentes configuraciones y revisar las respuestas de la API.

Preguntas frecuentes

No existe un límite actual definido para el número de caracteres por mensaje; sin embargo hay que estar pendientes sobre el tamaño de los archivos que forman parte del mensaje; tales como: imagen, video o documento. Estos se comparten en mediaUrl.En Jelou, tenemos las siguientes limitaciones de tamaño y formato a seguir:
  • DOCUMENTO: Hasta 15MB - Formato: .pdf
  • VIDEO: Hasta 15MB - Formato: .mp4
  • IMAGEN: Hasta 5MB - Formatos: .jpg, .jpeg, .png
Los cURLs tanto de envío masivo como de envío 1-1 pueden ser consumidos en cualquier cliente HTTPS como Insomnia o Postman. Basta con crear una petición HTTPS a través del cURL (simplemente pegándolo), luego cambiamos los datos y ejecutamos.Este es un ejemplo con basic-auth:

Autorizaciones

Authorization
string
header
requerido

Basic authentication using Base64 encoded clientId:clientSecret

Parámetros de ruta

botId
string
requerido

The unique identifier of the bot

Cuerpo

application/json
elementName
string
requerido

Approved template name

destinations
string[]
requerido

Phone numbers with country code, no + sign

mediaUrl
string<uri>

Public URL for media (required for image/video/document templates)

filename
string

Filename for document templates

type
enum<string>
predeterminado:text
Opciones disponibles:
text,
hsm,
image,
document,
video,
catalog,
carousel
language
enum<string>
Opciones disponibles:
en,
es,
pt
parameters
string[]

Template parameter values

buttonPayloads
object[]
actions
object
headerParameters
string[]
Maximum array length: 1
buttonParameters
object[]
ltoParams
object
cards
object[]
expirationTime
string

Expiration timestamp in milliseconds

campaignId
string

Respuesta

HSM sent successfully

id
string
destination
string