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)
📣 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
| Parámetro | Requerido | Descripción |
|---|---|---|
access_key | Sí | Tu clave de acceso única a la API. |
unflatten | No | Si se establece en true, el cuerpo debe contener variables planas (sin objetos anidados). Si se establece en false u omite, el cuerpo puede contener objetos anidados. |
Encabezados
| Clave | Valor | Requerido | Descripción |
|---|---|---|---|
| Content-Type | application/json | Sí | Indica que el cuerpo de la solicitud está en formato JSON. |
📋 Parámetros de la Solicitud
Parámetros Requeridos
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
contact O contacts | Objeto O Array | Elige uno: Contacto único (objeto) O Múltiples contactos (array, máx. 100) | Ver más abajo |
language_template | String | Código de idioma para la plantilla | "es_ES", "en_US" |
name_template | String | Nombre de la plantilla aprobada | "welcome_user" |
recipient_id | String | ID o número de teléfono del destinatario | "34666033135" |
notification_type | String | Tipo para analíticas | "marketing", "transactional", "utility" |
campaign_name | String | Nombre identificador de la campaña | "Black Friday 2024" |
Parámetros Opcionales
| Parámetro | Tipo | Descripción | Cuándo usarlo | Ejemplo |
|---|---|---|---|---|
contact.name | String | Nombre del contacto para personalización | Para mensajes personalizados | "Juan Pérez" |
contact.email | String | Email del contacto | Para datos de contacto adicionales | "juan@email.com" |
name_event | String | Evento para activar flujos de conversación | Cuando quieres iniciar un flujo específico | "intent-general-push" |
datetime_sending | DateTime | Hora de entrega programada (ISO 8601) | Cuando quieres programar el mensaje para más tarde | "2024-12-25T10:30:00" |
timezone | String | Zona horaria para la entrega programada | Al usar datetime_sending | "Europe/Madrid" |
👥 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)
Respuestas de Error
400 Bad Request - Parámetros Inválidos
401 Unauthorized - Clave de Acceso Inválida
404 Not Found - Plantilla No Encontrada
429 Too Many Requests - Límite de Tasa
📚 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
