Saltar al contenido principal

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=true con contacts
  • ⚠️ No se puede usar tanto contact como contacts en 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}!”
Respuesta:

Ejemplo 2: Notificación con Encabezado de Imagen


📊 Códigos de Respuesta

Respuesta Exitosa (200 OK)

Los errores de esta API usan el cuerpo { "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

Falta access_key, el cuerpo es inválido, o (en status) falta campaign_id.

403 Forbidden — Crear sin permiso

La clave no tiene whatsapp_notifications (o voice_notifications en POST /notify/voice).

404 Not Found — Clave inválida o recurso inexistente

Una access_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 con GET. 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:
Host verificado: 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