Referencia API

Integra Lia como motor de soporte inteligente en tu producto o tienda online

v1.0REST APIJSON

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

https://api.hellolia.es

Autenticación

Todas las peticiones deben incluir tu API key en el header Authorization:

Authorization: Bearer tu_api_key

Obtén tu API key en el dashboard → Configuración → API Keys.

Endpoints

POST/api/chat

Enví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.
GET/api/sessions

Lista todas las sesiones de chat

Query Parameters

limitNúmero de resultados (default: 20, max: 100)
offsetOffset 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
}
GET/api/sessions/:sessionId

Obtiene 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"
  }
}
POST/api/knowledge

Añ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:

EventoDescripción
conversation.escalatedUna conversación necesita atención humana
conversation.closedUna conversación ha sido cerrada
sentiment.negativeSe detectó sentimiento negativo en un cliente

Configura tus webhooks desde el panel de control en Configuración → Webhooks.

Códigos de Error

CódigoDescripción
400Bad Request - Parámetros inválidos
401Unauthorized - API key inválida o faltante
403Forbidden - Sin permisos para este recurso
404Not Found - Recurso no encontrado
429Too Many Requests - Límite de rate excedido
500Internal Server Error - Error del servidor

Rate Limits

Los límites de peticiones dependen de tu plan:

PlanPeticiones/minutoPeticiones/día
Starter6010,000
Pro12050,000
EnterprisePersonalizadoIlimitado

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