Introducción
Esta sección proporciona la documentación oficial para usar la API de Lovi con WhatsApp. Incluye instrucciones detalladas sobre cómo configurar y probar las solicitudes de API para la integración con WhatsApp. La autenticación se realiza mediante tokens que habilitan la autenticación básica para los servicios de la API. Para más detalles sobre cómo autenticarse, consulta la página de Autenticación. La API de Lovi admite notificaciones de WhatsApp con contenido multimedia, marcadores de posición dinámicos, entrega programada e integración de flujo de conversación.Características Principales:
- Notificaciones de WhatsApp con soporte multimedia
- Personalización dinámica de contenido con marcadores de posición
- Entrega de mensajes programada con soporte de zona horaria
- Integración de flujo de conversación
- Dos formatos de estructura de datos (anidado y plano)
- Consulta del estado y resultados de una campaña
📣 Enviar Notificación de WhatsApp
Para enviar una notificación a través de la API de Lovi, realiza una solicitud POST al endpoint con los parámetros necesarios y la autenticación.Método: POST Formato: JSON
Endpoint
Parámetros de Consulta
URLs de Ejemplo:
Encabezados
📋 Parámetros de la Solicitud
Parámetros Requeridos
Parámetros Opcionales
👥 Destinatario Único vs. Múltiples Destinatarios
Usando contact - Enviar a Una Persona
Usa contact cuando quieras enviar una notificación a un destinatario.
Usando contacts - Enviar a Múltiples Personas (Envío Masivo)
Usa contacts cuando quieras enviar la misma notificación a múltiples destinatarios a la vez.
- Máximo: 100 contactos por solicitud
- ⚠️ No se puede usar
unflatten=trueconcontacts - ⚠️ No se puede usar tanto
contactcomocontactsen la misma solicitud
🎨 Componentes y Multimedia
Reglas de Nomenclatura de Componentes
- Multimedia de encabezado:
header_image,header_video,header_document(SIN número de sufijo) - Variables de cuerpo:
body_text_0,body_text_1,body_text_2, etc. (con número de índice para cada marcador) - Pie y Botones: Son ESTÁTICOS en la definición de la plantilla y NO se pueden enviar dinámicamente
Ejemplos de Componentes
Ejemplo 1: Plantilla con Encabezado de Imagen
Ejemplo 2: Plantilla con Variables de Cuerpo
📋 Ejemplos Completos
Ejemplo 1: Destinatario Único con Variables de Cuerpo
Plantilla: “Hola{1}, ¡gracias por tu interés en {2}!”
Ejemplo 2: Notificación con Encabezado de Imagen
📊 Códigos de Respuesta
Respuesta Exitosa (200 OK)
{ "success": false, "message": "…" }. No uses Authorization: la autenticación es el access_key de la query.
Para crear (POST /notify) la clave necesita el permiso whatsapp_notifications. Para consultar estado no hace falta un permiso extra: vale cualquier access_key válida de la misma compañía.
Máximo 100 contactos por solicitud. No hay rate limit HTTP ni paginación en el estado.
Si envías el array contacts (varios destinatarios), el message de éxito es "Processing completed" y la respuesta incluye total, processed, failed y errors. Con un solo contact, el message es "Registration successful".
Respuestas de Error
400 Bad Request
Faltaaccess_key, el cuerpo es inválido, o (en status) falta campaign_id.
403 Forbidden — Crear sin permiso
La clave no tienewhatsapp_notifications (o voice_notifications en POST /notify/voice).
404 Not Found — Clave inválida o recurso inexistente
Unaaccess_key inválida no devuelve 401. Devuelve 404 (Invalid access_key). El mismo 404 aparece si la campaña no existe o es de otra compañía (Campaign not found).
500 Internal Server Error
Consultar el estado de una campaña
Después de crear una campaña puedes consultar su progreso conGET. Usa como campaign_id el inquiry_set_id de la respuesta de creación. El mismo endpoint vale para WhatsApp y para voz (POST /notify/voice): no hay un status distinto. No existe el campo notification_id en esta API.
Endpoint
Producción:https://cloud.lovi.ai/functions/v1/…. https://app.lovi.ai/functions/... no es esta API (devuelve el frontend). No documentamos app-dev.lovi.ai como host de functions: no está en este backend.
Parámetros de consulta
Cualquier clave válida de la compañía puede consultar estado. El permiso
whatsapp_notifications / voice_notifications solo se exige al crear.
Ejemplo de respuesta exitosa
Significado de los campos
Los contadores se calculan con los datos actuales de la campaña, por lo que pueden cambiar mientras el envío sigue en curso.
Errores posibles
📚 Documentación Relacionada
- Autenticación - Cómo obtener tokens de acceso y claves API
- Notificaciones de Voz - Enviar llamadas de voz automatizadas
- Gestión de Plantillas - Crear y gestionar plantillas de WhatsApp
- Programación - Gestión avanzada de programación y zonas horarias
- Manejo de Errores - Códigos de error completos y estrategias de manejo
- Mejores Prácticas - Directrices de seguridad y rendimiento
