El constructor de MaviBot también admite la API oficial de WhatsApp Business.
Cómo conectar WhatsApp Business
Para conectar la API de WhatsApp Business (WABA) a tu proyecto, ve a la sección Mensajeros y selecciona API de WhatsApp Business.

Conexión de la API de WhatsApp Business

En la ventana que se abre, inicia sesión con tu cuenta de Facebook. Luego haz clic en el botón "Conectar a través de Facebook".
Si es necesario, ingresa tu contraseña de Facebook para continuar.

La configuración ahora está completa. No necesitas mantener tu teléfono en línea en todo momento; el bot funcionará de manera estable y autónoma.
Plantillas de mensajes para la API de WhatsApp Business
Al usar la API de WhatsApp Business, los usuarios no pueden escribir a los clientes en cualquier momento del día ni enviar mensajes ilimitados al crear un bot, similar al WhatsApp gris, fuera de la ventana de servicio al cliente de 24 horas.
Fuera de la ventana de 24 horas, solo se pueden usar plantillas de mensajes de WhatsApp (o mensajes de plantilla de WhatsApp), durante las cuales la comunicación se realiza de forma gratuita dentro de la categoría seleccionada.
Esta funcionalidad se usa en WhatsApp para prevenir el envío masivo de spam limitando la cantidad de mensajes permitidos en un intervalo de tiempo determinado, así como asignando una categoría a las plantillas.
Meta ha instalado las siguientes categorías de mensajes para la API de WhatsApp Business:
-
Plantillas útiles (contienen información específica sobre transacciones, facturas, pagos, etc.);
-
Plantillas para marketing (información sobre la empresa, organización, estrategias, publicidad y promoción);
-
Plantillas para verificación y autenticación.

Las plantillas creadas para WABA están siendo moderadas.
Las principales razones para el rechazo de plantillas
Un número significativo de plantillas falla la moderación de WhatsApp por varias razones:
- Publicidad excesiva: WhatsApp Business rechaza plantillas sobrecargadas con anuncios y contenido promocional. Si los moderadores o la IA de la plataforma determinan que la publicidad eclipsa el mensaje central, la plantilla será bloqueada.
- Violación de la Política de Producto: las plantillas que promueven artículos prohibidos como narcóticos, sustancias psicotrópicas, alcohol, tabaco, servicios íntimos o cualquier contenido considerado degradante para la dignidad humana serán rechazadas.
- Ambigüedad, omisión o falsedad: si los moderadores de WhatsApp detectan algún subtexto oculto, información engañosa o falta de detalles claros sobre tu empresa o servicio, la plantilla no será aprobada.
- Recopilación de información confidencial: las plantillas diseñadas para recopilar datos sensibles del usuario (por ejemplo, números de pasaporte, detalles de tarjetas bancarias, números de identificación personal, direcciones de casa) fallarán la moderación.
- Contenido ofensivo: cualquier mensaje que contenga información que pueda ofender a los usuarios según raza, nacionalidad, género, identidad u otros criterios será rechazado.
- Rechazo discrecional: los moderadores de WhatsApp se reservan el derecho de rechazar plantillas sin proporcionar una razón específica.
Cómo instalar plantillas de mensajes
Dado que las plantillas se crean a partir de bloques, primero debes crear un bloque en tu flujo antes de usarlo para una plantilla de la API de WhatsApp Business.
- Costo y primer mensaje: el envío de mensajes de plantilla es gratuito dentro de la ventana de conversación de 24 horas. El primer mensaje a un cliente solo puede ser una plantilla que haya sido aprobada por Meta (Facebook).
- Después de 24 horas: una vez que hayan pasado 24 horas desde que se abrió el chat, solo puedes enviar otra plantilla aprobada para volver a involucrar al usuario.
- Nota de moderación: las plantillas pueden fallar la moderación si contienen variables (en escritura cirílica o latina).
Creación de plantillas en MaviBot
- Ve a la sección Canales, selecciona API de WhatsApp Business y luego elige Plantillas de mensajes.

- Haz clic en el botón "Crear plantilla". Esto abre la página de creación de plantillas.
- Las plantillas están vinculadas a bloques en tu flujo. Por defecto, el contenido de la plantilla se extrae del bloque, pero puedes especificar texto y botones personalizados.



- La plantilla de mensaje se enviará para moderación al crearse. Solo puedes usar plantillas aprobadas. La moderación generalmente toma alrededor de 8 horas, con un máximo de 48 horas.
Tipos de plantillas
Hay 3 tipos de plantillas disponibles para elegir.
Puedes adjuntar una imagen a la plantilla MARKETING en los siguientes formatos: SVG, PNG, JPG y GIF.
Cómo pasar variables en plantillas
Las variables en las plantillas se manejan de la misma manera que en todo MaviBot, no según el formato nativo de WhatsApp.
Nuestro sistema está adaptado para variables de MaviBot y no admite variables en el formato
{{1}}
Uso de variables en mensajes de plantilla de WhatsApp
Si necesitas usar variables en plantillas de mensajes, sigue esta regla: siempre escribe los nombres de las variables usando solo letras latinas, por ejemplo, #{example}. Después de enviar, verifica que las variables se procesen correctamente revisando el mensaje a través del enlace proporcionado.
Si una plantilla contiene una variable, pero el bot no le asigna un valor o el valor falta, ¡el mensaje no se enviará!
Cómo funcionan los botones en las plantillas
Las plantillas de mensajes admiten botones. En MaviBot, los botones se configuran de manera similar a la sintaxis de la API de Facebook. Puedes familiarizarte con ella siguiendo el enlace:
Los botones se configuran en formato de matriz JSON.
Parámetros de creación de botones:
| Parámetro | Requerido | Descripción |
|---|---|---|
| type | Sí | Valores: PHONE_NUMBER, URL y QUICK_REPLY |
| text | Sí | Texto del botón |
| url | No |
La URL que se abrirá cuando se haga clic en el botón. Puedes usar variables para crear enlaces dinámicos. |
| phone_number | No |
El número de teléfono al que se llamará cuando se presione el botón |
| example | No |
Proporciona un ejemplo de posibles datos para tu plantilla. Esto ayuda con el proceso de revisión y aprobación para que puedas entender qué mensaje planeas enviar. Asegúrate de que estos sean ejemplos y no contengan información confidencial o personal. |
Por ejemplo: Mensaje con dos botones: [{"type":"QUICK_REPLY", "text": "Sí, conveniente"}, {"type":"QUICK_REPLY", "text": "Inconveniente"}]
Características de los botones en plantillas
Hay dos tipos de botones disponibles en mensajes de plantilla:
- Llamada a la acción (CTA): un botón para un enlace o número de teléfono (mostrado con un icono de enlace o auricular junto a su texto).
- Respuesta rápida: botones de texto estándar con un límite de 20 caracteres.
Limitaciones:
- Una sola plantilla puede contener hasta 3 botones de Respuesta rápida y hasta 2 botones de Llamada a la acción. Sin embargo, no puedes usar dos enlaces o dos números de teléfono simultáneamente.
- Los botones no pueden incluir variables, saltos de línea, emojis o símbolos de formato.
Comportamiento:
- Hacer clic en un botón de Respuesta rápida envía su texto como mensaje de respuesta del usuario.
- Un botón de Llamada a la acción puede abrir un enlace a un archivo.
- Hacer clic en un botón de Llamada a la acción para una llamada telefónica abre el marcador estándar. En WhatsApp Web, aparecerá una notificación indicando que no se pueden hacer llamadas desde la versión de escritorio.
¿Cómo funciona la moderación de plantillas?
Cada plantilla se envía para moderación inmediatamente después de su creación. El proceso generalmente toma alrededor de 8 horas, con un tiempo máximo de revisión de 48 horas.
Puedes rastrear el estado de moderación en tu lista de plantillas.
Si una plantilla es rechazada, se proporcionará la razón del rechazo.
Las plantillas con alta probabilidad de aprobación típicamente:
- Usan un lenguaje claro y profesional.
- Sirven para un caso de uso específico y legítimo (por ejemplo, recordatorios de citas, actualizaciones de pedidos).
Importante: El texto en cursiva puede ser variable y personalizado.
Hola, no hemos podido contactarte. ¿Sería conveniente para ti continuar comunicándonos aquí?
Hola, dejaste un mensaje en el sitio web y me pediste que te contactara. (sujeto a cambios)
Hola, soy John Smith de MaviBot. Anteriormente solicitaste la creación de un chatbot. Nos complace informarte que tenemos algunas noticias para ti.
Plantillas que no pasarán la moderación:
cualquier texto publicitario
Cómo verificar si estás dentro de la ventana de 24 horas
Puedes determinar cuántos días han pasado desde el último mensaje del cliente usando la función days_from_last_message() en tu condición de disparador.
Ejemplo de verificación de la ventana de 24 horas:
days_from_last_message() == 0
Restricciones para cuentas no verificadas
Las cuentas de Facebook Business no verificadas enfrentan los siguientes límites:
- 50 mensajes de plantilla por día (incluidos en la tarifa mensual).
- Sin restricciones en mensajes entrantes.
Para levantar estas restricciones, tu empresa debe completar el proceso de Verificación de Negocio, que generalmente toma 2–3 semanas.
Sistemas de pago
Consulta con tu revendedor los precios de mensajes entrantes y salientes para cuentas no verificadas.
El pago se realiza directamente a 360dialog.
Errores de envío de mensajes
Posibles razones para fallos de entrega:
- El número de teléfono del destinatario no está registrado en WhatsApp.
- Intento de enviar una plantilla de la categoría "Autenticación" a un usuario de WhatsApp con el código de país +91 (India). Actualmente, las plantillas de la categoría Autenticación no se pueden entregar a usuarios en India.
- El destinatario no ha aceptado los Términos de Servicio y la Política de Privacidad actualizados.
- El mensaje no se entregó para mantener una experiencia de usuario de alta calidad (esto es un bloqueo de política general).
Conversiones de anuncios Click-to-WhatsApp
Una adición a la documentación para la función fb_pixel_event().
Meta* marca cada clic de un anuncio Click-to-WhatsApp con un identificador de clic ctwa_clid. Se recibe junto con el primer mensaje de WhatsApp del cliente y se usa para atribuir una conversión de la conversación a un anuncio específico, de manera similar a cómo se atribuyen los eventos de píxel a un clic en el sitio web.
Firma
fb_pixel_event(
event_name,
pixel_id,
access_token,
event_source_url,
action_source,
fbc,
test_event_code,
data,
ctwa_clid,
messaging_channel
)
Nuevos parámetros
| Parámetro | Descripción |
|---|---|
ctwa_clid |
Identificador de clic para un anuncio de Click-to-WhatsApp. Si no se proporciona este parámetro, se utiliza la variable de cliente ctwa_clid, que el bot guarda automáticamente. Opcional. |
messaging_channel |
El canal de mensajería donde ocurrió la conversión. Por defecto es whatsapp. Opcional. |
Nuevo valor para action_source
Se añade la siguiente fila a la tabla de valores de action_source:
| Valor | Descripción |
|---|---|
business_messaging |
La conversión ocurrió en una conversación después de que el cliente hiciera clic en un anuncio de Click-to-WhatsApp. |
Un evento se envía como conversión de mensajería si se cumple al menos una de las siguientes condiciones:
- Se proporciona
action_source="business_messaging"; - Se proporciona
ctwa_clid; - Se proporciona
messaging_channel.
En este caso, Meta* recibe la combinación action_source + messaging_channel + ctwa_clid. Sin esta combinación, el clic en el anuncio no se atribuirá a la conversión.
El valor website no debe usarse para conversiones de mensajería: el evento llegará al píxel, pero no se atribuirá al anuncio.
Variables de cliente
Cuando un cliente envía un mensaje de WhatsApp después de hacer clic en un anuncio, el bot guarda los datos del clic en las variables de cliente del cliente. No es necesario completar estas variables manualmente.
| Variable | Descripción |
|---|---|
ctwa_clid |
Identificador de clic. Se añade automáticamente al evento. |
ctwa_clid_time |
Hora en que se recibió el identificador, en formato de tiempo Unix. Se puede usar para determinar cuánto tiempo ha pasado desde el clic. |
wa_ads_data |
Datos del anuncio en formato JSON: URL del anuncio, ID del anuncio (source_id), título, descripción, tipo de creativo y URL del creativo. |
El identificador de clic se toma automáticamente de la variable de cliente, por lo que no es necesario pasarlo explícitamente a la función.
El número de teléfono del cliente se añade automáticamente al evento si no se proporciona en data.
El parámetro event_source_url no se usa para conversiones de mensajería.
Limitaciones
El identificador de clic se recibe solo con el primer mensaje del cliente después de que haga clic en el botón del anuncio. No se incluye en mensajes posteriores. Por lo tanto, el evento se puede enviar en cualquier punto de la conversación, pero solo si el primer mensaje se originó desde el anuncio.
Meta* proporciona ctwa_clid para clics desde las aplicaciones de Facebook* e Instagram* en Android e iOS.
El identificador no se proporciona cuando el cliente hace clic desde un navegador o hace clic en una publicación normal en lugar del botón del anuncio. Las conversiones de tales interacciones no se pueden atribuir al anuncio.
Si el cliente hace clic en otro anuncio más tarde, las variables se sobrescriben. La conversión se atribuye al anuncio más reciente del que provino el cliente.
whatsapp_send_list()
whatsapp_send_list(text, rows, button, header, footer)
Envía un mensaje de lista interactivo de WhatsApp Business API al cliente actual.
El mensaje muestra un solo botón debajo del texto. Cuando el cliente toca el botón, se abre una lista de opciones. Después de que el cliente selecciona una opción, su título (title) se envía al bot como un mensaje de texto normal.
La función solo funciona para bots de WhatsApp Business API y solo dentro de la ventana de mensajería de 24 horas.
Parámetros
-
text— texto del mensaje. Obligatorio. -
rows— opciones de la lista como una cadena JSON. Se pueden incluir un máximo de 10 opciones. Obligatorio. -
button— texto del botón que abre la lista. Máximo 20 caracteres. Por defecto:Menu. -
header— encabezado que se muestra encima del texto del mensaje. Máximo 60 caracteres. Opcional. -
footer— texto que se muestra debajo del mensaje. Máximo 60 caracteres. Opcional.
Formato de rows
Solo títulos:
'["Sí", "No"]'
Títulos con descripciones:
'[{"title": "Cliente existente", "description": "Discutir mi contrato"}, {"title": "Nuevo cliente"}]'
Para cada opción:
-
title— título de la opción, máximo 24 caracteres; -
description— descripción de la opción, máximo 72 caracteres.
Las opciones también se pueden dividir en varias secciones:
'[{"title": "Soporte", "rows": [...]}, {"title": "Planes", "rows": [...]}]'
Cada sección debe tener un title.
Ejemplo
result = whatsapp_send_list(
"¡Hola! Por favor, selecciona una opción:",
'[{"title": "Cliente existente", "description": "Discutir mi contrato"}, {"title": "Nuevo cliente", "description": "Conocer nuestros servicios"}]',
"Opciones"
)
Después de tocar el botón "Opciones", el cliente verá la lista. Si selecciona "Cliente existente", el texto Cliente existente se enviará al bot como un mensaje de cliente y se puede usar para activar el siguiente paso en el embudo.
Valor de retorno
Si el mensaje se envía correctamente, la función devuelve el ID del mensaje enviado.
Si el mensaje no se puede enviar, la función devuelve el texto del error.
Limitaciones
- La función solo funciona para bots de WhatsApp Business API.
- El mensaje solo se puede enviar dentro de la ventana de mensajería de 24 horas.
- Una lista puede contener no más de 10 opciones.
- Un
titlede opción puede contener no más de 24 caracteres. - Una
descriptionde opción puede contener no más de 72 caracteres. - El texto de
buttonpuede contener no más de 20 caracteres. -
headeryfooterpueden contener no más de 60 caracteres cada uno.
Si el identificador de clic falta tanto en los parámetros de la función como en las variables de cliente, la función devuelve el error No ctwa_clid variable in client variables y el evento no se envía.