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 .
Muestra hasta 3 botones con opciones rápidas. Ideal para preguntas simples o menús pequeños.
Ejemplo Básico
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.
interactive.action.buttons 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
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.
interactive.action.button Texto del botón que abre la lista. Máximo 20 caracteres.
interactive.action.sections 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
Campos de 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.
interactive.action.parameters.display_text Texto visible del botón. Máximo 30 caracteres.
interactive.action.parameters.url 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 el id seleccionado:
Webhook - Botón seleccionado
Webhook - Lista seleccionada
Webhook - Flow enviado por el usuario
Usa IDs descriptivos como "confirmar_pedido_12345" para facilitar el procesamiento en tu backend.
Respuesta Exitosa
Límites
Comparación: Botones vs Listas vs CTA URL
Casos de Uso
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
interactive.action.parameters.flow_message_version Actualmente debe ser "3".
interactive.action.parameters.flow_id ID único del Flow en Meta. Debes enviar flow_id o flow_name, pero no ambos.
interactive.action.parameters.flow_name Nombre del Flow en Meta. Alternativa a flow_id.
interactive.action.parameters.flow_cta Texto del CTA visible para abrir el Flow. Recomendado: 30 caracteres o menos.
interactive.action.parameters.flow_token Token propio de tu negocio para correlacionar la respuesta del Flow.
interactive.action.parameters.flow_action navigate o data_exchange. Si no lo envías, Meta usa navigate.
interactive.action.parameters.flow_action_payload.screen Pantalla inicial del Flow cuando usas navigate.
interactive.action.parameters.flow_action_payload.data 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