Download OpenAPI specification:
Bienvenido a la API Reference de Lia System.
Lia System es una plataforma SaaS multi-tenant para crear y operar agentes conversacionales con IA en canales como WhatsApp, Instagram, Telegram, Facebook y más. Esta API te permite integrar y automatizar todas las capacidades de la plataforma desde tu propio sistema o aplicación.
La API utiliza Bearer Token (JWT) en cada petición. Obtén el token al autenticar al usuario en el frontend de Lia System.
Authorization: Bearer <tu_token>
Todos los endpoints están protegidos excepto los receptores de webhooks inbound, que validan la fuente por otros mecanismos.
HTTP 2xx con un cuerpo JSON.HTTP 4xx o 5xx con el campo error en el
cuerpo:{ "error": "Descripción del error" }
Los endpoints de listado que soportan paginación usan los parámetros page y
limit.
El límite máximo por página es 100 registros.
La API está en versión v1. Los cambios que rompan compatibilidad se comunicarán con al menos 30 días de anticipación.
Los agentes son las entidades de IA conversacional de Lia System. Cada agente tiene su propio prompt, modelo, base de conocimiento y permisos (imágenes, voz, herramientas).
Usa estos endpoints para crear, listar, actualizar y eliminar agentes, así como para activarlos o marcarlos como primarios. Un mismo usuario puede tener múltiples agentes asignados a diferentes canales.
Devuelve la lista mínima de agentes del usuario autenticado, ordenados
alfabéticamente. Útil para llenar selectores y dropdowns en la UI.
Si necesitas todos los campos del agente, usa /agents/full.
curl -s https://api.liasystem.co/agents \ -H "Authorization: Bearer $TOKEN"
[- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "name": "Soporte Ventas"
}
]
Crea un nuevo agente conversacional. Solo name es obligatorio; el
resto de campos toman valores por defecto sensatos (modelo gpt-4o-mini,
ventana de memoria de 10 mensajes, sin permisos de imagen ni voz).
Puedes asignar canales al momento de la creación pasando un array
de IDs en assigned_channels.
| name
required
|
string
|
| role |
string
|
| system_prompt |
string
|
| whatsapp_number |
string
|
| memory_window |
integer
Default: 10
|
| allow_images |
boolean
Default: false
|
| allow_voice |
boolean
Default: false
|
| knowledge_base_id |
string <uuid>
|
| model |
string
Default: "gpt-4o-mini"
|
| channel_type |
string
Default: "ycloud"
|
| actions_config |
object
|
| assigned_channels |
Array of strings
|
{- "name": "Soporte Ventas",
- "role": "Asesor de ventas",
- "system_prompt": "Eres un agente amable...",
- "model": "gpt-4o-mini",
- "memory_window": 10,
- "allow_images": false,
- "allow_voice": false
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "role": "string",
- "system_prompt": "string",
- "whatsapp_number": "string",
- "memory_window": 10,
- "allow_images": true,
- "allow_voice": true,
- "knowledge_base_id": "7f7aee98-aff7-4ac1-b5ab-74100459287d",
- "model": "gpt-4o-mini",
- "channel_type": "ycloud",
- "actions_config": { },
- "created_at": "2019-08-24T14:15:22Z",
- "is_primary": true
}
Devuelve la lista completa de agentes del usuario con todos sus campos (prompt, modelo, configuración de acciones, etc.), ordenados por fecha de creación descendente. Úsalo en la página de gestión de agentes.
curl -s https://api.liasystem.co/agents/full \ -H "Authorization: Bearer $TOKEN"
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "role": "string",
- "system_prompt": "string",
- "whatsapp_number": "string",
- "memory_window": 10,
- "allow_images": true,
- "allow_voice": true,
- "knowledge_base_id": "7f7aee98-aff7-4ac1-b5ab-74100459287d",
- "model": "gpt-4o-mini",
- "channel_type": "ycloud",
- "actions_config": { },
- "created_at": "2019-08-24T14:15:22Z",
- "is_primary": true
}
]
Actualiza parcialmente un agente. Solo se modifican los campos enviados
en el body (PATCH). Si pasas assigned_channels, se reemplaza la
asignación completa de canales del agente.
| id
required
|
string <uuid>
|
| name |
string
|
| role |
string
|
| system_prompt |
string
|
| model |
string
|
| memory_window |
integer
|
| allow_images |
boolean
|
| allow_voice |
boolean
|
| knowledge_base_id |
string <uuid>
|
| actions_config |
object
|
| assigned_channels |
Array of strings
|
{- "name": "string",
- "role": "string",
- "system_prompt": "string",
- "model": "string",
- "memory_window": 0,
- "allow_images": true,
- "allow_voice": true,
- "knowledge_base_id": "7f7aee98-aff7-4ac1-b5ab-74100459287d",
- "actions_config": { },
- "assigned_channels": [
- "string"
]
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "role": "string",
- "system_prompt": "string",
- "whatsapp_number": "string",
- "memory_window": 10,
- "allow_images": true,
- "allow_voice": true,
- "knowledge_base_id": "7f7aee98-aff7-4ac1-b5ab-74100459287d",
- "model": "gpt-4o-mini",
- "channel_type": "ycloud",
- "actions_config": { },
- "created_at": "2019-08-24T14:15:22Z",
- "is_primary": true
}
Elimina permanentemente un agente y desasigna sus canales. Las conversaciones existentes quedan huérfanas (sin agente) y dejarán de recibir respuestas automáticas.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/agents/$AGENT_ID \ -H "Authorization: Bearer $TOKEN"
{- "error": "string"
}
Activa o pausa un agente sin eliminarlo. Cuando un agente está inactivo deja de responder mensajes entrantes, pero conserva su configuración y conversaciones.
| id
required
|
string <uuid>
|
| is_active
required
|
boolean
|
{- "is_active": true
}
Marca este agente como el principal del usuario. El agente primario se usa por defecto cuando una conversación no tiene un agente asignado explícitamente. Solo puede haber un primario a la vez.
| id
required
|
string <uuid>
|
curl -s -X PATCH https://api.liasystem.co/agents/$AGENT_ID/primary \ -H "Authorization: Bearer $TOKEN"
Los contactos representan a las personas con las que tus agentes conversan. Cada contacto está asociado a un agente y a un número de teléfono único.
Estos endpoints permiten gestión completa: búsqueda con filtros avanzados (por plataforma, tags, fechas, custom fields), creación individual o masiva hasta 100 a la vez, y actualización de información personal.
Lista paginada de contactos del usuario. Soporta búsqueda por nombre o teléfono y múltiples filtros combinables: plataforma, agente, tags, rangos de fecha y custom fields.
Las peticiones sin filtros están cacheadas en Redis por 30 segundos
para mejorar el rendimiento. Usa DELETE /contacts/cache para forzar
invalidación tras una mutación masiva externa.
| search |
string
Full-text search on name or phone |
| page |
integer
Default: 1
|
| limit |
integer <= 100
Default: 15
|
| platform |
string
Filter by channel platform |
| agentId |
string <uuid>
|
| tagIds |
string
Comma-separated tag UUIDs |
| noConversations |
string
Enum: "true" "false"
Filter contacts with no conversations |
| dateFrom |
string <date>
|
| dateTo |
string <date>
|
| customFields |
string
JSON array of |
curl -s "https://api.liasystem.co/contacts?page=1&limit=20&search=Juan" \ -H "Authorization: Bearer $TOKEN"
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "phone_number": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "city": "string",
- "address": "string",
- "birth_date": "2019-08-24",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "total": 0,
- "page": 0,
- "limit": 0
}
Crea un nuevo contacto asociado a un agente. El par
(agent_id, phone_number) debe ser único — si ya existe se devuelve
un 409 Conflict.
Esta acción dispara automáticamente las automatizaciones con trigger
contact_created configuradas para ese agente.
| agent_id
required
|
string <uuid>
|
| phone_number
required
|
string
|
| first_name |
string
|
| last_name |
string
|
|
string <email>
|
|
| city |
string
|
| address |
string
|
| birth_date |
string <date>
|
{- "agent_id": "550e8400-e29b-41d4-a716-446655440000",
- "phone_number": "+5215512345678",
- "first_name": "Juan",
- "last_name": "Pérez",
- "email": "juan@email.com"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "phone_number": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "city": "string",
- "address": "string",
- "birth_date": "2019-08-24",
- "created_at": "2019-08-24T14:15:22Z"
}
Importa hasta 100 contactos en una sola petición. Por defecto, los
teléfonos duplicados se omiten silenciosamente (skip_duplicates: true)
y las automatizaciones de contact_created se disparan
(fire_automations: true).
La respuesta incluye conteos de insertados, omitidos y errores individuales para que puedas reconciliar lotes grandes.
|
required
|
Array of objects <= 100 items
|
| skip_duplicates |
boolean
Default: true
|
| fire_automations |
boolean
Default: true
|
{- "contacts": [
- {
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "phone_number": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string"
}
], - "skip_duplicates": true,
- "fire_automations": true
}
{- "inserted": 0,
- "skipped": 0,
- "errors": [
- "string"
]
}
Invalida el caché Redis de listados de contactos del usuario. Útil después de mutaciones realizadas fuera de la API (por ejemplo, importaciones desde la base de datos directamente).
curl -s -X DELETE https://api.liasystem.co/contacts/cache \ -H "Authorization: Bearer $TOKEN"
Actualiza parcialmente la información personal de un contacto (nombre, email, ciudad, dirección, fecha de nacimiento). El número de teléfono y el agente asociado no son modificables por esta vía.
| id
required
|
string <uuid>
|
| first_name |
string
|
| last_name |
string
|
|
string
|
|
| city |
string
|
| address |
string
|
| birth_date |
string <date>
|
{- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "city": "string",
- "address": "string",
- "birth_date": "2019-08-24"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "phone_number": "string",
- "first_name": "string",
- "last_name": "string",
- "email": "string",
- "city": "string",
- "address": "string",
- "birth_date": "2019-08-24",
- "created_at": "2019-08-24T14:15:22Z"
}
Elimina permanentemente un contacto y todas sus conversaciones, mensajes y tags asociados. Esta acción no se puede deshacer.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/contacts/$CONTACT_ID \ -H "Authorization: Bearer $TOKEN"
Las conversaciones son los hilos de mensajes entre un agente y un contacto. Cada conversación tiene su propio historial, estado de IA (activa/pausada) y tags.
Aquí puedes listar conversaciones con su último mensaje, leer el historial completo, enviar mensajes manuales (sobrescribiendo a la IA), pausar la IA en hilos específicos, o resetear el contexto cuando necesites empezar "limpio" sin borrar el historial.
Devuelve todas las conversaciones del usuario con datos enriquecidos: información del contacto, tags asignados, último mensaje y timestamp. Pensado para alimentar la lista lateral del inbox.
El resultado se cachea en Redis por 5 segundos para reducir carga en peticiones frecuentes.
curl -s https://api.liasystem.co/conversations \ -H "Authorization: Bearer $TOKEN"
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "contact_phone": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "ai_enabled": true,
- "last_message": "string",
- "last_message_at": "2019-08-24T14:15:22Z",
- "tags": [
- { }
], - "created_at": "2019-08-24T14:15:22Z"
}
]
Devuelve los últimos 100 mensajes de una conversación ordenados
cronológicamente (más antiguo primero). Incluye contenido, multimedia,
rol (user o assistant) y metadata.
| id
required
|
string <uuid>
|
curl -s https://api.liasystem.co/conversations/$CONV_ID/messages \ -H "Authorization: Bearer $TOKEN"
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role": "user",
- "content": "string",
- "media_url": "string",
- "media_type": "string",
- "metadata": { },
- "created_at": "2019-08-24T14:15:22Z"
}
]
Envía un mensaje manual al contacto desde la cuenta del agente. Permite texto plano, multimedia (imagen, video, documento, audio) o ambos combinados.
Los mensajes manuales se guardan en el historial pero no se consideran respuestas de la IA. Útil para intervención humana en hilos donde la IA está pausada.
| id
required
|
string <uuid>
|
| text |
string
|
|
object
|
{- "text": "Hola, ¿en qué te puedo ayudar?"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role": "user",
- "content": "string",
- "media_url": "string",
- "media_type": "string",
- "metadata": { },
- "created_at": "2019-08-24T14:15:22Z"
}
Activa o pausa la IA para una conversación específica. Cuando está pausada, los mensajes entrantes se siguen guardando pero no generan respuestas automáticas — ideal para tomar control humano de un hilo.
| id
required
|
string <uuid>
|
| ai_enabled
required
|
boolean
|
{- "ai_enabled": true
}
Realiza un corte de contexto: el historial sigue visible en el inbox pero la IA olvidará todos los mensajes anteriores al corte para sus próximas respuestas. Útil cuando el contacto cambia de tema o sesión sin necesidad de borrar la conversación.
| id
required
|
string <uuid>
|
curl -s -X PATCH https://api.liasystem.co/conversations/$CONV_ID/context-cut \ -H "Authorization: Bearer $TOKEN"
Elimina permanentemente la conversación y todos sus mensajes. El contacto y sus tags permanecen. Esta acción no se puede deshacer.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/conversations/$CONV_ID \ -H "Authorization: Bearer $TOKEN"
{- "error": "string"
}
Los canales son las conexiones entre Lia System y las plataformas de mensajería. Soportamos WhatsApp (oficial y manual por API key), Telegram, Instagram, Facebook, Twitter, Reddit, YouTube, LinkedIn y Threads.
Estos endpoints listan los canales conectados, agregan números de WhatsApp manuales y conectan/desconectan bots de Telegram. Para OAuth de redes sociales usa el grupo Connect.
Devuelve todos los canales conectados del usuario, incluyendo plataforma, nombre visible, estado de conexión y fecha de creación. Cubre todas las plataformas soportadas en una sola respuesta.
curl -s https://api.liasystem.co/channels \ -H "Authorization: Bearer $TOKEN"
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "platform": "whatsapp",
- "display_name": "string",
- "status": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
]
Conecta un bot de Telegram a Lia System usando el token que obtienes al crear el bot con @BotFather. El sistema valida el token contra la API de Telegram antes de guardarlo.
| bot_token
required
|
string
|
{- "bot_token": "123456:ABC-DEF..."
}
{- "error": "string"
}
Desconecta un bot de Telegram. El bot deja de recibir mensajes en Lia System pero sigue activo en Telegram — debes desactivarlo desde BotFather si quieres apagarlo del todo.
| channel_id
required
|
string <uuid>
|
{- "channel_id": "bbe8aa76-a4bb-46f6-a785-df8e831cc459"
}
Lista los números de WhatsApp conectados manualmente vía API key (en lugar de OAuth/Embedded Signup). Cada número incluye su estado y nombre visible.
curl -s https://api.liasystem.co/channels/whatsapp-numbers \ -H "Authorization: Bearer $TOKEN"
[- { }
]
Conecta un número de WhatsApp Business API usando una API key manual. Útil cuando ya tienes un proveedor de WhatsApp Business y quieres integrarlo sin pasar por el flujo de Embedded Signup.
| phone_number
required
|
string
|
| api_key
required
|
string
|
| display_name |
string
|
{- "phone_number": "string",
- "api_key": "string",
- "display_name": "string"
}
Elimina un número de WhatsApp manual. El número deja de procesar mensajes inmediatamente.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/channels/whatsapp-numbers/$ID \ -H "Authorization: Bearer $TOKEN"
Las automatizaciones son flujos no-code que ejecutan acciones en respuesta a triggers (mensaje recibido, contacto creado, etc.). Cada automatización es un grafo de nodos y aristas.
Aquí puedes crear flujos, activarlos/desactivarlos, dispararlos manualmente con datos custom, o ejecutar acciones aisladas como envío de mensajes, multimedia o templates desde dentro de un nodo.
Endpoint consolidado que devuelve todo lo necesario para renderizar la página de automatizaciones: lista de flujos, agentes disponibles y metadatos relacionados. Reduce el número de round-trips desde el frontend.
curl -s https://api.liasystem.co/automations/page-data \ -H "Authorization: Bearer $TOKEN"
{- "automations": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "trigger_type": "string",
- "is_active": true,
- "nodes": [
- { }
], - "edges": [
- { }
], - "created_at": "2019-08-24T14:15:22Z"
}
], - "agents": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
}
]
}
Devuelve el detalle completo de una automatización: nodos, aristas, trigger y configuración. Úsalo al abrir el editor de flujos.
| id
required
|
string <uuid>
|
curl -s https://api.liasystem.co/automations/$AUTO_ID \ -H "Authorization: Bearer $TOKEN"
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "trigger_type": "string",
- "is_active": true,
- "nodes": [
- { }
], - "edges": [
- { }
], - "created_at": "2019-08-24T14:15:22Z"
}
Crea una nueva automatización en estado inactivo por defecto. El cuerpo acepta los nodos y aristas iniciales del flujo, o puedes crearla vacía y editarla después.
| name
required
|
string
|
| trigger_type |
string
|
| is_active |
boolean
Default: false
|
| nodes |
Array of objects
|
| edges |
Array of objects
|
{- "name": "string",
- "trigger_type": "string",
- "is_active": false,
- "nodes": [
- { }
], - "edges": [
- { }
]
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "trigger_type": "string",
- "is_active": true,
- "nodes": [
- { }
], - "edges": [
- { }
], - "created_at": "2019-08-24T14:15:22Z"
}
Actualiza parcialmente una automatización. Usa este endpoint para guardar cambios desde el editor visual o para activar/desactivar flujos sin reescribir su estructura.
| id
required
|
string <uuid>
|
| name |
string
|
| is_active |
boolean
|
| nodes |
Array of objects
|
| edges |
Array of objects
|
{- "name": "string",
- "is_active": true,
- "nodes": [
- { }
], - "edges": [
- { }
]
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "trigger_type": "string",
- "is_active": true,
- "nodes": [
- { }
], - "edges": [
- { }
], - "created_at": "2019-08-24T14:15:22Z"
}
Elimina permanentemente una automatización. Las ejecuciones en curso se cancelan; las ejecuciones futuras no se dispararán.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/automations/crud/$AUTO_ID \ -H "Authorization: Bearer $TOKEN"
Dispara una automatización manualmente con datos custom en lugar de esperar a su trigger natural. Útil para pruebas o para ejecuciones programadas desde sistemas externos.
| automationId
required
|
string <uuid>
|
| triggerData
required
|
object
|
{- "automationId": "de580a02-68f2-4f04-b675-19968bf358e1",
- "triggerData": { }
}
Envía un mensaje de texto desde un nodo de automatización al número especificado, usando la cuenta del agente indicado. Es la acción base de los nodos "Enviar mensaje".
| to
required
|
string
|
| text
required
|
string
|
| agentId
required
|
string <uuid>
|
{- "to": "string",
- "text": "string",
- "agentId": "bc309ecf-5f66-4057-93c5-6611cc9cb7b2"
}
Los templates de WhatsApp son plantillas de mensaje pre-aprobadas por Meta para enviar comunicaciones fuera de la ventana de 24 horas (marketing, utility, authentication).
Estos endpoints permiten crear, listar, actualizar, duplicar y sincronizar templates con el proveedor de WhatsApp. Recuerda que los templates deben pasar por revisión antes de poder usarse.
Devuelve todos los templates de WhatsApp del usuario con su estado de
aprobación (PENDING, APPROVED, REJECTED), categoría e idioma.
curl -s https://api.liasystem.co/templates \ -H "Authorization: Bearer $TOKEN"
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "category": "string",
- "language": "string",
- "status": "string",
- "components": [
- { }
], - "created_at": "2019-08-24T14:15:22Z"
}
]
Crea un nuevo template y lo envía a Meta para revisión. La aprobación toma típicamente de minutos a 24 horas. El template no se puede usar hasta que Meta lo apruebe.
Categorías válidas:
MARKETING — promocionalUTILITY — transaccional / actualizacionesAUTHENTICATION — códigos OTP| name
required
|
string
|
| category
required
|
string
Enum: "MARKETING" "UTILITY" "AUTHENTICATION"
|
| language
required
|
string
|
| components
required
|
Array of objects
|
{- "name": "string",
- "category": "MARKETING",
- "language": "es_MX",
- "components": [
- { }
]
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "category": "string",
- "language": "string",
- "status": "string",
- "components": [
- { }
], - "created_at": "2019-08-24T14:15:22Z"
}
Devuelve el detalle completo de un template, incluyendo sus componentes (header, body, footer, buttons) y estado actual.
| id
required
|
string <uuid>
|
curl -s https://api.liasystem.co/templates/$TEMPLATE_ID \ -H "Authorization: Bearer $TOKEN"
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "category": "string",
- "language": "string",
- "status": "string",
- "components": [
- { }
], - "created_at": "2019-08-24T14:15:22Z"
}
Actualiza un template existente. Cualquier cambio significativo re-envía el template a Meta para nueva aprobación, durante la cual el template no se puede usar.
| id
required
|
string <uuid>
|
| name |
string
|
| components |
Array of objects
|
{- "name": "string",
- "components": [
- { }
]
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "category": "string",
- "language": "string",
- "status": "string",
- "components": [
- { }
], - "created_at": "2019-08-24T14:15:22Z"
}
Elimina un template tanto en Lia System como en Meta. Una vez eliminado, no se puede recuperar; tendrías que crear uno nuevo y volver a pasar por revisión.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/templates/$TEMPLATE_ID \ -H "Authorization: Bearer $TOKEN"
Crea una copia de un template existente con un nuevo nombre. La copia se envía a Meta para nueva aprobación de forma independiente.
| id
required
|
string <uuid>
|
curl -s -X POST https://api.liasystem.co/templates/$TEMPLATE_ID/duplicate \ -H "Authorization: Bearer $TOKEN"
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "category": "string",
- "language": "string",
- "status": "string",
- "components": [
- { }
], - "created_at": "2019-08-24T14:15:22Z"
}
Sincroniza los templates con el proveedor de WhatsApp. Útil cuando Meta cambia el estado de un template (aprobado/rechazado) y quieres reflejar el cambio inmediatamente sin esperar al webhook.
curl -s -X POST https://api.liasystem.co/templates/sync \ -H "Authorization: Bearer $TOKEN"
Las bases de conocimiento alimentan el sistema RAG (Retrieval-Augmented Generation) de Lia System. Una base contiene fuentes (texto, URLs, archivos) que se procesan en embeddings para que los agentes puedan responder con contexto relevante.
Estos endpoints permiten gestionar bases completas, agregar y editar fuentes individuales, y forzar el reprocesamiento de embeddings cuando cambia el contenido.
Lista todas las bases de conocimiento del usuario. Una base de conocimiento puede asignarse a uno o varios agentes.
curl -s https://api.liasystem.co/knowledge-bases \ -H "Authorization: Bearer $TOKEN"
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
]
Crea una base de conocimiento vacía. Después debes agregarle fuentes
(texto, URLs o archivos) usando POST /knowledge-bases/{id}/sources.
| name
required
|
string
|
| description |
string
|
{- "name": "string",
- "description": "string"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
Devuelve los metadatos de una base de conocimiento. Para obtener sus fuentes usa el endpoint
/sources.
| id
required
|
string <uuid>
|
curl -s https://api.liasystem.co/knowledge-bases/$KB_ID \ -H "Authorization: Bearer $TOKEN"
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
Actualiza nombre y descripción de una base de conocimiento. No afecta sus fuentes ni embeddings ya generados.
| id
required
|
string <uuid>
|
| name |
string
|
| description |
string
|
{- "name": "string",
- "description": "string"
}
Elimina permanentemente una base de conocimiento, sus fuentes y todos los embeddings asociados. Los agentes que la usaban pierden el acceso a ese contexto.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/knowledge-bases/$KB_ID \ -H "Authorization: Bearer $TOKEN"
Lista todas las fuentes de una base de conocimiento, con su tipo
(text, url, file) y estado de procesamiento (pendiente,
embeddeado, error).
| id
required
|
string <uuid>
|
curl -s https://api.liasystem.co/knowledge-bases/$KB_ID/sources \ -H "Authorization: Bearer $TOKEN"
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "knowledge_base_id": "7f7aee98-aff7-4ac1-b5ab-74100459287d",
- "type": "text",
- "content": "string",
- "url": "string",
- "status": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
]
Agrega una nueva fuente a la base. El procesamiento de embeddings se
encola en segundo plano — la fuente queda disponible para los agentes
cuando su estado pasa a embedded.
| id
required
|
string <uuid>
|
| type
required
|
string
Enum: "text" "url" "file"
|
| content |
string
|
| url |
string
|
{- "type": "text",
- "content": "string",
- "url": "string"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "knowledge_base_id": "7f7aee98-aff7-4ac1-b5ab-74100459287d",
- "type": "text",
- "content": "string",
- "url": "string",
- "status": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
Actualiza el contenido o URL de una fuente. Modificar el contenido re-encola los embeddings; durante el reprocesamiento la fuente queda marcada como pendiente.
| id
required
|
string <uuid>
|
| sourceId
required
|
string <uuid>
|
| content |
string
|
| url |
string
|
{- "content": "string",
- "url": "string"
}
Elimina una fuente y sus embeddings asociados. Los agentes ya no podrán recuperar contexto desde esa fuente en sus respuestas.
| id
required
|
string <uuid>
|
| sourceId
required
|
string <uuid>
|
curl -s -X DELETE "https://api.liasystem.co/knowledge-bases/$KB_ID/sources/$SOURCE_ID" \ -H "Authorization: Bearer $TOKEN"
Encola el reprocesamiento completo de todas las fuentes de la base. Útil cuando cambias de modelo de embeddings o detectas inconsistencias en las respuestas del agente.
| id
required
|
string <uuid>
|
curl -s -X POST https://api.liasystem.co/knowledge-bases/$KB_ID/reprocess \ -H "Authorization: Bearer $TOKEN"
La media library es el almacenamiento privado de archivos del usuario (imágenes, videos, documentos, audios) que pueden enviarse desde automatizaciones o conversaciones manuales.
Los archivos viven en un bucket privado y siempre se acceden mediante signed URLs temporales. Estos endpoints permiten subir, listar, eliminar y generar signed URLs bajo demanda.
Devuelve todos los archivos de la media library del usuario con sus
metadatos. Las URLs no incluyen acceso directo — usa el endpoint
/signed-url para obtener un link temporal cuando necesites
descargar o enviar el archivo.
curl -s https://api.liasystem.co/media-library \ -H "Authorization: Bearer $TOKEN"
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "file_type": "string",
- "size": 0,
- "signed_url": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
]
Sube un archivo a la media library privada del usuario.
Usa multipart/form-data con el campo file. El archivo se almacena
en un bucket privado y es accesible solo mediante signed URLs
temporales.
| file
required
|
string <binary>
|
| name |
string
|
curl -s -X POST https://api.liasystem.co/media-library \ -H "Authorization: Bearer $TOKEN" \ -F "file=@/path/to/file.pdf" \ -F "name=Catálogo 2025"
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "file_type": "string",
- "size": 0,
- "signed_url": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
Elimina un archivo de la media library de forma permanente, tanto del bucket de almacenamiento como de la base de datos. Las automatizaciones que referencien este archivo fallarán al ejecutarse.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/media-library/$FILE_ID \ -H "Authorization: Bearer $TOKEN"
Genera una URL firmada temporal (~60 minutos de validez) para acceder a un archivo privado. Las signed URLs no se persisten — debes pedir una nueva cada vez que necesites enviar o mostrar el archivo.
| id
required
|
string <uuid>
|
curl -s https://api.liasystem.co/media-library/$FILE_ID/signed-url \ -H "Authorization: Bearer $TOKEN"
{- "url": "string"
}
Estadísticas agregadas y resumen de actividad de tu cuenta: conversaciones, mensajes, contactos activos y automatizaciones disparadas en el día.
Devuelve métricas agregadas del día actual: número de conversaciones, mensajes enviados/recibidos, contactos activos y automatizaciones ejecutadas. Pensado para alimentar el home del dashboard.
curl -s https://api.liasystem.co/dashboard \ -H "Authorization: Bearer $TOKEN"
{- "conversations_today": 0,
- "messages_today": 0,
- "active_contacts": 0,
- "automations_fired": 0
}
Endpoints de conexión OAuth para canales sociales. El flujo es:
GET /connect/{platform}/url.code.POST /connect/callback con el código para finalizar la conexión.También permite listar cuentas conectadas y desconectar canales.
Genera la URL de autorización OAuth de la plataforma seleccionada.
Redirige al usuario a esta URL para que conecte su cuenta. Al
autorizar, será redirigido de vuelta con un code que debes pasar a
POST /connect/callback para finalizar la conexión.
| platform
required
|
string
Enum: "whatsapp" "instagram" "facebook" "twitter" "reddit" "youtube" "linkedin" "threads"
|
curl -s https://api.liasystem.co/connect/instagram/url \ -H "Authorization: Bearer $TOKEN"
{- "url": "string"
}
Finaliza el flujo OAuth: intercambia el code que devolvió la
plataforma por tokens de acceso y crea el canal en Lia System.
Tras esta llamada el canal queda listo para enviar y recibir mensajes.
| platform
required
|
string
|
| code
required
|
string
|
| state |
string
|
{- "platform": "string",
- "code": "string",
- "state": "string"
}
Sincroniza el estado de las cuentas conectadas con sus respectivos proveedores. Útil después de cambios en la plataforma externa (cuentas removidas, permisos modificados) para mantener Lia System alineado.
curl -s -X POST https://api.liasystem.co/connect/sync \ -H "Authorization: Bearer $TOKEN"
Lista todas las cuentas sociales conectadas del usuario, incluyendo plataforma, identificador remoto y estado de la conexión.
curl -s https://api.liasystem.co/connect/accounts \ -H "Authorization: Bearer $TOKEN"
[- { }
]
Desconecta un canal social y revoca los tokens almacenados. Las conversaciones existentes se preservan pero el canal deja de recibir nuevos mensajes hasta que se reconecte.
| platform
required
|
string
|
| channel_id
required
|
string <uuid>
|
{- "channel_id": "bbe8aa76-a4bb-46f6-a785-df8e831cc459"
}
Receptores de webhooks inbound desde proveedores de mensajería. Estos endpoints son consumidos por los proveedores externos (Meta, canales sociales) para entregar eventos como mensajes recibidos, cambios de estado, etc.
No requieren autenticación con JWT — se validan con firmas/tokens del proveedor. No deberías llamarlos directamente desde tu integración.
Recibe eventos directamente desde Meta para WhatsApp Business oficial e Instagram: mensajes, estados de entrega/lectura, cambios de plantilla, etc. Como con todos los webhooks, el procesamiento es asíncrono.
Meta webhook payload
{ }Sistema CRM de Lia System: pipelines, etapas y oportunidades. Cada pipeline contiene un conjunto ordenado de etapas, y cada oportunidad pertenece a una etapa de un pipeline.
Aquí gestionas la creación de pipelines, el reordenamiento de etapas, y el movimiento de oportunidades entre etapas (drag & drop en la UI).
Devuelve todos los pipelines del usuario con sus etapas y las oportunidades de cada etapa. Endpoint consolidado para renderizar la vista kanban completa en una sola petición.
curl -s https://api.liasystem.co/opportunities \ -H "Authorization: Bearer $TOKEN"
[- { }
]
Crea un nuevo pipeline (embudo). Por defecto puedes generar un set de etapas iniciales o crearlo vacío y agregar etapas después.
| name
required
|
string
|
| description |
string
|
{- "name": "string",
- "description": "string"
}
{ }Actualiza nombre o descripción de un pipeline existente.
| id
required
|
string <uuid>
|
| name |
string
|
| description |
string
|
{- "name": "string",
- "description": "string"
}
Elimina un pipeline junto con todas sus etapas y oportunidades. Esta acción no se puede deshacer.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/opportunities/pipelines/$PIPELINE_ID \ -H "Authorization: Bearer $TOKEN"
Agrega una nueva etapa a un pipeline. Las etapas se ordenan según
su position; usa /stages/reorder para reordenar varias a la vez.
| pipeline_id
required
|
string <uuid>
|
| name
required
|
string
|
| color |
string
|
| position |
integer
|
{- "pipeline_id": "ec036e81-7903-4e4d-bbfa-ac8516341cf0",
- "name": "string",
- "color": "string",
- "position": 0
}
Actualiza el nombre, color o posición de una etapa.
| id
required
|
string <uuid>
|
| name |
string
|
| color |
string
|
| position |
integer
|
{- "name": "string",
- "color": "string",
- "position": 0
}
Elimina una etapa. Las oportunidades que estaban en ella se mueven a la primera etapa del pipeline.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/opportunities/stages/$STAGE_ID \ -H "Authorization: Bearer $TOKEN"
Reordena varias etapas del pipeline en una sola petición.
Pasa un array con {id, position} para cada etapa a reordenar.
|
required
|
Array of objects
|
{- "stages": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "position": 0
}
]
}
Crea una nueva oportunidad asociada a un contacto y a una etapa de un pipeline. Puedes incluir valor monetario, notas y fecha esperada de cierre.
| stage_id
required
|
string <uuid>
|
| contact_id
required
|
string <uuid>
|
| title
required
|
string
|
| value |
number
|
| notes |
string
|
| expected_close_date |
string <date>
|
{- "stage_id": "f38d2b9c-0a0a-4eea-91a8-e974413bb670",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "title": "string",
- "value": 0,
- "notes": "string",
- "expected_close_date": "2019-08-24"
}
Actualiza datos de una oportunidad (no su etapa — usa el endpoint /items/{id}/stage
para mover entre etapas).
| id
required
|
string <uuid>
|
| title |
string
|
| value |
number
|
| notes |
string
|
| expected_close_date |
string <date>
|
{- "title": "string",
- "value": 0,
- "notes": "string",
- "expected_close_date": "2019-08-24"
}
Mueve una oportunidad a otra etapa (acción típica de drag & drop
en la vista kanban). Puede disparar automatizaciones de tipo
opportunity_stage_changed.
| id
required
|
string <uuid>
|
| stage_id
required
|
string <uuid>
|
{- "stage_id": "f38d2b9c-0a0a-4eea-91a8-e974413bb670"
}
Devuelve los contactos del usuario en formato resumido para usar en selectores al crear oportunidades.
curl -s https://api.liasystem.co/opportunities/contacts \ -H "Authorization: Bearer $TOKEN"
[- { }
]
Catálogo de productos del usuario. Los productos pueden mencionarse en automatizaciones, oportunidades y mensajes de los agentes para enriquecer el contexto comercial.
Agrega un producto al catálogo. Los productos pueden referenciarse desde automatizaciones, mensajes de agentes y oportunidades.
| name
required
|
string
|
| description |
string
|
| price |
number
|
| currency |
string
Default: "USD"
|
| sku |
string
|
| image_url |
string
|
{- "name": "string",
- "description": "string",
- "price": 0,
- "currency": "USD",
- "sku": "string",
- "image_url": "string"
}
Actualiza datos de un producto.
| id
required
|
string <uuid>
|
| name |
string
|
| description |
string
|
| price |
number
|
| currency |
string
|
| sku |
string
|
| image_url |
string
|
{- "name": "string",
- "description": "string",
- "price": 0,
- "currency": "string",
- "sku": "string",
- "image_url": "string"
}
Configuración de WhatsApp Business para envíos masivos: perfil de negocio, foto, nombre visible y administración de templates por nombre. Pensado para integraciones que gestionan campañas WhatsApp a escala.
Actualiza los campos públicos del perfil de WhatsApp Business.
| about |
string
|
| description |
string
|
|
string <email>
|
|
| websites |
Array of strings
|
| address |
string
|
| vertical |
string
|
{- "about": "string",
- "description": "string",
- "email": "user@example.com",
- "websites": [
- "string"
], - "address": "string",
- "vertical": "string"
}
Sube y establece la foto de perfil del WhatsApp Business.
| file |
string <binary>
|
curl -s -X POST https://api.liasystem.co/broadcasts/wa-profile/photo \ -H "Authorization: Bearer $TOKEN" \ -F "file=@/path/to/logo.jpg"
Lista de templates disponibles para el módulo de broadcasts, con foco en su nombre para referenciarlos en envíos.
curl -s https://api.liasystem.co/broadcasts/templates \ -H "Authorization: Bearer $TOKEN"
Campañas de mensajes recurrentes y programados. Permite crear lotes de envío, lanzarlos inmediatamente, programarlos a futuro, cancelarlos y consultar el estado de los destinatarios.
Crea una nueva campaña en estado draft. Después puedes agregar destinatarios y
lanzarla o programarla.
| name
required
|
string
|
| template_name |
string
|
| message |
string
|
| agent_id |
string <uuid>
|
{- "name": "string",
- "template_name": "string",
- "message": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978"
}
Actualiza la configuración de una campaña en estado draft o scheduled.
Una vez running no se puede editar.
| id
required
|
string <uuid>
|
| name |
string
|
| template_name |
string
|
| message |
string
|
{- "name": "string",
- "template_name": "string",
- "message": "string"
}
Elimina una campaña. Si la opción correspondiente está activa, también elimina los grupos generados por la campaña.
| id
required
|
string <uuid>
|
curl -s -X DELETE https://api.liasystem.co/campaigns/$CAMPAIGN_ID \ -H "Authorization: Bearer $TOKEN"
Lanza inmediatamente la campaña a todos sus destinatarios. Pasa
a estado running y los envíos se procesan en background.
| id
required
|
string <uuid>
|
curl -s -X POST https://api.liasystem.co/campaigns/$CAMPAIGN_ID/launch \ -H "Authorization: Bearer $TOKEN"
Programa el lanzamiento de la campaña a una fecha y hora específicas (ISO 8601). Pasa a estado
scheduled.
| id
required
|
string <uuid>
|
| scheduled_at
required
|
string <date-time>
|
{- "scheduled_at": "2019-08-24T14:15:22Z"
}
Cancela una campaña programada o en ejecución. Los envíos ya disparados no se pueden recuperar.
| id
required
|
string <uuid>
|
curl -s -X POST https://api.liasystem.co/campaigns/$CAMPAIGN_ID/cancel \ -H "Authorization: Bearer $TOKEN"
Lista los destinatarios de la campaña con estado de envío individual (enviado, entregado, leído, fallido).
| id
required
|
string <uuid>
|
curl -s https://api.liasystem.co/campaigns/$CAMPAIGN_ID/recipients \ -H "Authorization: Bearer $TOKEN"
Sincroniza estado y métricas de la campaña con el proveedor de WhatsApp.
| id
required
|
string <uuid>
|
curl -s -X PATCH https://api.liasystem.co/campaigns/$CAMPAIGN_ID/sync \ -H "Authorization: Bearer $TOKEN"
Integración con Google Calendar y gestión de citas. Soporta crear,
actualizar y eliminar eventos, configurar horarios de atención
(business hours), conectar/desconectar Google y sincronizar.
Crea un nuevo evento. Si Google Calendar está conectado, también se replica al calendario de Google.
| title
required
|
string
|
| description |
string
|
| start_at
required
|
string <date-time>
|
| end_at |
string <date-time>
|
| contact_id |
string <uuid>
|
| agent_id |
string <uuid>
|
{- "title": "string",
- "description": "string",
- "start_at": "2019-08-24T14:15:22Z",
- "end_at": "2019-08-24T14:15:22Z",
- "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978"
}
Actualiza un evento. Los cambios se replican a Google Calendar si está conectado.
| id
required
|
string <uuid>
|
| title |
string
|
| description |
string
|
| start_at |
string <date-time>
|
| end_at |
string <date-time>
|
{- "title": "string",
- "description": "string",
- "start_at": "2019-08-24T14:15:22Z",
- "end_at": "2019-08-24T14:15:22Z"
}
Gestión de comentarios en posts de Instagram y Facebook conectados. Permite listar comentarios, responder pública o privadamente, dar like, ocultar comentarios y generar respuestas con IA.
Genera una respuesta sugerida con IA para un comentario, basada en el contexto del post, el agente seleccionado y su configuración.
| comment_id
required
|
string
|
| agent_id |
string <uuid>
|
| tone |
string
|
{- "comment_id": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "tone": "string"
}
Devuelve todos los comentarios de un post (Instagram o Facebook) ordenados cronológicamente.
| postId
required
|
string
|
curl -s https://api.liasystem.co/comments/$POST_ID \ -H "Authorization: Bearer $TOKEN"
Publica una respuesta a un comentario en el post (visible a todos).
| postId
required
|
string
|
| comment_id
required
|
string
|
| message
required
|
string
|
{- "comment_id": "string",
- "message": "string"
}
Oculta un comentario para otros usuarios. Solo el autor del comentario lo seguirá viendo.
| postId
required
|
string
|
| commentId
required
|
string
|
curl -s -X POST https://api.liasystem.co/comments/$POST_ID/$COMMENT_ID/hide \ -H "Authorization: Bearer $TOKEN"
Restaura visibilidad pública de un comentario oculto.
| postId
required
|
string
|
| commentId
required
|
string
|
curl -s -X POST https://api.liasystem.co/comments/$POST_ID/$COMMENT_ID/unhide \ -H "Authorization: Bearer $TOKEN"
Envía un mensaje privado (DM) al autor del comentario en lugar de responder públicamente. Útil para comentarios que requieren info personal o sensible.
| postId
required
|
string
|
| commentId
required
|
string
|
| message
required
|
string
|
{- "message": "string"
}
Auto-respuestas a comentarios de redes sociales. Cuando alguien comenta un post con palabras clave, Lia System dispara la acción configurada (responder en público, mensaje privado, etc.).
Devuelve las cuentas conectadas (Instagram, Facebook) que pueden tener auto-respuestas a comentarios.
curl -s https://api.liasystem.co/comment-automations/accounts \ -H "Authorization: Bearer $TOKEN"
Crea una auto-respuesta a comentarios. Define las palabras clave a detectar y la acción (responder público, mensaje privado, dar like).
| name
required
|
string
|
| keywords
required
|
Array of strings
|
| action
required
|
string
Enum: "reply" "private_reply" "like" "hide"
|
| response_text |
string
|
| post_id |
string
|
{- "name": "string",
- "keywords": [
- "string"
], - "action": "reply",
- "response_text": "string",
- "post_id": "string"
}
Devuelve el historial de ejecuciones de la auto-respuesta: comentarios detectados, acción tomada y resultado.
| id
required
|
string <uuid>
|
curl -s https://api.liasystem.co/comment-automations/$AUTO_ID/logs \ -H "Authorization: Bearer $TOKEN"
Configuración global de la cuenta del usuario. Incluye reglas de enrutamiento de leads (lead routing) y otras preferencias de comportamiento del sistema.
Devuelve la configuración de enrutamiento de leads: qué agente atiende qué tipo de contacto, reglas de fallback y prioridades.
curl -s https://api.liasystem.co/settings/lead-routing \ -H "Authorization: Bearer $TOKEN"
Gestión de grupos de WhatsApp Business: crear, actualizar, administrar participantes, generar links de invitación y aprobar o rechazar solicitudes de ingreso.
Crea un nuevo grupo de WhatsApp con los participantes iniciales especificados.
| name
required
|
string
|
| description |
string
|
| participants |
Array of strings
|
{- "name": "string",
- "description": "string",
- "participants": [
- "string"
]
}
Devuelve metadatos completos del grupo: nombre, descripción, participantes y configuración.
| groupId
required
|
string
|
curl -s https://api.liasystem.co/whatsapp-groups/$GROUP_ID \ -H "Authorization: Bearer $TOKEN"
Actualiza nombre, descripción o configuración del grupo.
| groupId
required
|
string
|
| name |
string
|
| description |
string
|
{- "name": "string",
- "description": "string"
}
Agrega uno o más participantes al grupo por número de teléfono.
| groupId
required
|
string
|
| phone_numbers
required
|
Array of strings
|
{- "phone_numbers": [
- "string"
]
}
Saca uno o más participantes del grupo.
| groupId
required
|
string
|
| phone_numbers
required
|
Array of strings
|
{- "phone_numbers": [
- "string"
]
}
Genera o regenera el link de invitación del grupo. El link anterior queda invalidado.
| groupId
required
|
string
|
curl -s -X POST https://api.liasystem.co/whatsapp-groups/$GROUP_ID/invite-link \ -H "Authorization: Bearer $TOKEN"
{- "link": "string"
}
Aprueba una o más solicitudes de ingreso al grupo.
| groupId
required
|
string
|
| phone_numbers
required
|
Array of strings
|
{- "phone_numbers": [
- "string"
]
}
Rechaza una o más solicitudes de ingreso al grupo.
| groupId
required
|
string
|
| phone_numbers
required
|
Array of strings
|
{- "phone_numbers": [
- "string"
]
}
Flows interactivos de WhatsApp: experiencias guiadas con formularios, pantallas y CTAs nativas dentro del chat. Permite crear, editar, publicar, deprecar y enviar flows a contactos.
Crea un nuevo Flow en estado DRAFT. Después debes definir su
estructura JSON con PUT /:flowId/json y publicarlo cuando esté listo.
| name
required
|
string
|
| categories
required
|
Array of strings
|
{- "name": "string",
- "categories": [
- "string"
]
}
Actualiza nombre, categorías u otros metadatos del flow.
| flowId
required
|
string
|
| name |
string
|
| categories |
Array of strings
|
{- "name": "string",
- "categories": [
- "string"
]
}
Elimina un Flow. Solo se pueden eliminar flows en estado DRAFT
o DEPRECATED. Los publicados deben deprecarse primero.
| flowId
required
|
string
|
curl -s -X DELETE https://api.liasystem.co/whatsapp-flows/$FLOW_ID \ -H "Authorization: Bearer $TOKEN"
Devuelve la definición completa de pantallas, componentes y lógica del flow en formato JSON.
| flowId
required
|
string
|
curl -s https://api.liasystem.co/whatsapp-flows/$FLOW_ID/json \ -H "Authorization: Bearer $TOKEN"
Publica un Flow en estado DRAFT, dejándolo disponible para enviarse
a contactos. Una vez publicado, su JSON no puede modificarse.
| flowId
required
|
string
|
curl -s -X POST https://api.liasystem.co/whatsapp-flows/$FLOW_ID/publish \ -H "Authorization: Bearer $TOKEN"
Marca un Flow como deprecado. Sigue accesible para los contactos que lo recibieron, pero no se puede enviar a nuevos.
| flowId
required
|
string
|
curl -s -X POST https://api.liasystem.co/whatsapp-flows/$FLOW_ID/deprecate \ -H "Authorization: Bearer $TOKEN"
Envía un Flow publicado a un contacto vía WhatsApp. El contacto recibirá un mensaje interactivo con el botón para abrir el Flow.
| flow_id
required
|
string
|
| to
required
|
string
|
| agent_id
required
|
string <uuid>
|
| header |
string
|
| body |
string
|
| cta_label |
string
|
{- "flow_id": "string",
- "to": "string",
- "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
- "header": "string",
- "body": "string",
- "cta_label": "string"
}