Mensajes
Mensajes Interactivos
Envía botones, listas y flows interactivos por WhatsApp
POST
Los mensajes interactivos permiten a los usuarios responder con un tap en lugar de escribir. Whaapy soporta en esta fase:
- Botones: Hasta 3 opciones rápidas
- Listas: Menús desplegables con secciones
- CTA URL: Botón que abre una URL en el navegador
- Flows: Apertura de un Flow de WhatsApp ya creado en Meta
Los mensajes interactivos solo pueden enviarse dentro de la ventana de 24 horas. Fuera de la ventana, usa templates.
Botones (Reply Buttons)
Muestra hasta 3 botones con opciones rápidas. Ideal para preguntas simples o menús pequeños.Ejemplo Básico
Con Header y Footer
Con Header de Imagen
Campos de Botones
Debe ser
"button" para reply buttons.Header opcional. Puede ser
text, image, video, o document.Texto principal del mensaje. Máximo 1024 caracteres.
Texto secundario en gris. Máximo 60 caracteres.
Array de 1-3 botones. Cada botón tiene
type: "reply" y objeto reply con id y title.ID único del botón. Lo recibirás en el webhook cuando el usuario responda. Máximo 256 caracteres.
Texto visible del botón. Máximo 20 caracteres.
Listas (List Messages)
Menús desplegables con hasta 10 opciones organizadas en secciones. Ideal para catálogos, horarios, o menús extensos.Ejemplo Básico
Con Header y Footer
Campos de Listas
Debe ser
"list" para list messages.Header opcional. Solo soporta
type: "text" en listas.Texto principal. Máximo 1024 caracteres.
Texto secundario. Máximo 60 caracteres.
Texto del botón que abre la lista. Máximo 20 caracteres.
Array de secciones. Máximo 10 secciones, máximo 10 rows en total.
Campos de Section
Título de la sección. Máximo 24 caracteres. Requerido si hay más de una sección.
Array de opciones dentro de la sección.
Campos de Row
ID único de la opción. Lo recibirás en el webhook. Máximo 200 caracteres.
Título visible de la opción. Máximo 24 caracteres.
Descripción adicional. Máximo 72 caracteres.
CTA URL (Call-to-Action URL)
Muestra un botón que abre una URL en el navegador del usuario al hacer tap. Ideal para dirigir a páginas de pago, formularios web, catálogos online o cualquier enlace externo.Ejemplo Básico
Con Header, Footer e Imagen
Campos de CTA URL
Debe ser
"cta_url".Header opcional. Puede ser
text, image, video, o document.Texto principal del mensaje. Máximo 1024 caracteres.
Texto secundario en gris. Máximo 60 caracteres.
Debe ser
"cta_url".Texto visible del botón. Máximo 30 caracteres.
URL que se abrirá al hacer tap en el botón. Debe ser una URL válida con
https://.A diferencia de los reply buttons, los CTA URL no generan un webhook de respuesta al ser tocados. El usuario simplemente es redirigido al navegador. Si necesitas trackear clics, usa UTM parameters en la URL.
Respuesta del Usuario
Cuando el usuario selecciona un botón o item de lista, recibirás un webhook con elid seleccionado:
Webhook - Botón seleccionado
Webhook - Lista seleccionada
Webhook - Flow enviado por el usuario
Respuesta Exitosa
Límites
| Elemento | Límite |
|---|---|
| Botones por mensaje | 3 |
| Secciones en lista | 10 |
| Rows totales en lista | 10 |
| Caracteres en body | 1024 |
| Caracteres en título de botón | 20 |
| Caracteres en display_text (CTA URL) | 30 |
| Caracteres en título de row | 24 |
| Caracteres en descripción de row | 72 |
| Caracteres en footer | 60 |
Comparación: Botones vs Listas vs CTA URL
| Aspecto | Botones | Listas | CTA URL |
|---|---|---|---|
| Opciones máximas | 3 | 10 | 1 (un solo botón) |
| Visibilidad | Siempre visibles | Requiere tap para expandir | Siempre visible |
| Header con imagen | Sí | No (solo texto) | Sí |
| Descripciones | No | Sí | No |
| Organización | Flat | Secciones | Botón único |
| Webhook al responder | Sí (button_reply) | Sí (list_reply) | No (abre navegador) |
| Mejor para | Decisiones rápidas | Catálogos, menús | Links externos, pagos |
Casos de Uso
Confirmación de pedido
Confirmación de pedido
Selección de horario
Selección de horario
Encuesta de satisfacción
Encuesta de satisfacción
Link de pago (CTA URL)
Link de pago (CTA URL)
Catálogo web (CTA URL)
Catálogo web (CTA URL)
Flows de WhatsApp
Usa un Flow ya existente en Meta sin necesidad de crearlo desde Whaapy. El contrato sigue el formato nativo de WhatsApp Cloud API:type: "interactive" con interactive.type: "flow".
Ejemplo Básico
Campos de Flow
Debe ser
"flow".Debe ser
"flow".Actualmente debe ser
"3".ID único del Flow en Meta. Debes enviar
flow_id o flow_name, pero no ambos.Nombre del Flow en Meta. Alternativa a
flow_id.Texto del CTA visible para abrir el Flow. Recomendado: 30 caracteres o menos.
Token propio de tu negocio para correlacionar la respuesta del Flow.
navigate o data_exchange. Si no lo envías, Meta usa navigate.Pantalla inicial del Flow cuando usas
navigate.Datos iniciales que quieres inyectar a la primera pantalla del Flow.
Próximos Pasos
Enviar Ubicación
Comparte coordenadas GPS
Enviar Contactos
Comparte tarjetas vCard