Referencia API
Integra Lia como motor de soporte inteligente en tu producto o tienda online
Ejemplo rápido
Envía un mensaje y recibe una respuesta del chatbot en segundos:
curl -X POST https://api.hellolia.es/api/chat \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "¿Tenéis tallas grandes?"
}'Base URL
Autenticación
Todas las peticiones deben incluir tu API key en el header Authorization:
Authorization: Bearer tu_api_keyObtén tu API key en el dashboard → Configuración → API Keys.
Endpoints
/api/chatEnvía un mensaje al chatbot y recibe una respuesta
Request Body
{
"message": "Hola, necesito ayuda con mi pedido",
"sessionId": "opcional-id-de-sesion",
"metadata": {
"userId": "user_123",
"email": "cliente@ejemplo.com"
}
}Response
{
"success": true,
"response": "¡Hola! Estaré encantado de ayudarte con tu pedido. ¿Podrías proporcionarme el número de pedido?",
"sessionId": "sess_abc123",
"sentiment": "neutral",
"escalated": false
}Campos importantes
escalated - Indica si la conversación debe pasar a un agente humano. Cuando es true, deberías notificar a tu equipo.metadata - Puedes enviar cualquier información del usuario (ID, email, pedido, plan...) para respuestas más contextuales y escalados inteligentes.sentiment - Análisis del sentimiento del cliente: positive, neutral, o negative./api/sessionsLista todas las sesiones de chat
Query Parameters
| limit | Número de resultados (default: 20, max: 100) |
| offset | Offset para paginación |
| status | "active" | "closed" | "escalated" |
Response
{
"success": true,
"sessions": [
{
"id": "sess_abc123",
"status": "active",
"messageCount": 5,
"sentiment": "positive",
"createdAt": "2025-01-28T10:30:00Z",
"lastMessageAt": "2025-01-28T10:35:00Z"
}
],
"total": 150,
"hasMore": true
}/api/sessions/:sessionIdObtiene el detalle de una sesión con todos sus mensajes
Response
{
"success": true,
"session": {
"id": "sess_abc123",
"status": "active",
"sentiment": "positive",
"metadata": { "userId": "user_123" },
"messages": [
{
"role": "user",
"content": "Hola, necesito ayuda",
"timestamp": "2025-01-28T10:30:00Z"
},
{
"role": "assistant",
"content": "¡Hola! ¿En qué puedo ayudarte?",
"timestamp": "2025-01-28T10:30:01Z"
}
],
"createdAt": "2025-01-28T10:30:00Z"
}
}/api/knowledgeAñade contenido a la base de conocimiento
Request Body
{
"type": "faq",
"question": "¿Cuál es el horario de atención?",
"answer": "Nuestro horario es de lunes a viernes de 9:00 a 18:00.",
"tags": ["horario", "atención"]
}Response
{
"success": true,
"item": {
"id": "kb_xyz789",
"type": "faq",
"question": "¿Cuál es el horario de atención?",
"answer": "Nuestro horario es de lunes a viernes de 9:00 a 18:00.",
"createdAt": "2025-01-28T10:30:00Z"
}
}Webhooks
Recibe notificaciones en tiempo real cuando ocurran eventos importantes:
| Evento | Descripción |
|---|---|
| conversation.escalated | Una conversación necesita atención humana |
| conversation.closed | Una conversación ha sido cerrada |
| sentiment.negative | Se detectó sentimiento negativo en un cliente |
Configura tus webhooks desde el panel de control en Configuración → Webhooks.
Códigos de Error
| Código | Descripción |
|---|---|
| 400 | Bad Request - Parámetros inválidos |
| 401 | Unauthorized - API key inválida o faltante |
| 403 | Forbidden - Sin permisos para este recurso |
| 404 | Not Found - Recurso no encontrado |
| 429 | Too Many Requests - Límite de rate excedido |
| 500 | Internal Server Error - Error del servidor |
Rate Limits
Los límites de peticiones dependen de tu plan:
| Plan | Peticiones/minuto | Peticiones/día |
|---|---|---|
| Starter | 60 | 10,000 |
| Pro | 120 | 50,000 |
| Enterprise | Personalizado | Ilimitado |
SDKs y Librerías
SDKs oficiales en desarrollo. Mientras tanto, la API REST funciona con cualquier lenguaje.
¿Necesitas un SDK específico? Cuéntanos tu caso y priorizamos.
JavaScript
En desarrollo
Python
En desarrollo
PHP
Planificado
Ruby
Planificado
¿Preguntas sobre la API?
Nuestro equipo técnico puede ayudarte con la integración