BotDesk

Enviar mensajes

Envía un mensaje a tu bot y recibe una respuesta fundamentada en tu base de conocimiento, con las fuentes citadas.

El endpoint de chat es el corazón de la API: envías el mensaje de un usuario y recibes la respuesta del bot, generada sobre tu propia base de conocimiento (RAG). Junto a la respuesta te devolvemos las fuentes en las que se apoyó y las métricas de la consulta.

Autenticación

Todas las peticiones se autentican con tu API key pública en la cabecera X-API-Key. Cada endpoint está acotado a tu cuenta: solo operas sobre tus propios bots y conversaciones. Genera y gestiona tus claves desde el panel de BotDesk, en Ajustes → API.

Enviar un mensaje

Ruta base: /v1/public/v1/chat

Método Ruta Propósito
POST /chat Enviar un mensaje y recibir la respuesta del bot con sus fuentes.

Parámetros del cuerpo

Campo Tipo Requerido Descripción
message string Sí El mensaje del usuario. Máximo 2000 caracteres.
conversation_id UUID No Continúa una conversación existente. Omítelo para empezar una nueva.
user_ref string No Tu propia referencia del usuario final (email, id, teléfono). Máximo 100 caracteres.

Petición

POST /v1/public/v1/chat
X-API-Key: <tu-api-key>
Content-Type: application/json

{
  "message": "¿Cuál es el horario de atención?",
  "user_ref": "cliente@example.com"
}

Respuesta (200 OK)

{
  "conversation_id": "a3f1c2e0-1b2c-4d5e-8f90-1a2b3c4d5e6f",
  "response": "Atendemos de lunes a viernes de 9 a 18h.",
  "sources": [{ "filename": "horarios.pdf", "score": 0.94 }],
  "tokens_used": 312,
  "latency_ms": 840
}
Campo Tipo Descripción
conversation_id UUID La conversación a la que pertenece esta respuesta. Reutilízalo para continuar el hilo.
response string La respuesta del bot, fundamentada en tu base de conocimiento.
sources lista Fragmentos de conocimiento que respaldan la respuesta, cada uno con filename y un score de relevancia (0–1).
tokens_used entero Tokens consumidos al generar la respuesta.
latency_ms entero Tiempo de procesamiento del servidor, en milisegundos.

Continuar una conversación

Si no envías conversation_id, se crea una conversación nueva y su id llega en la respuesta. Guarda ese id y pásalo en la siguiente petición para que el bot mantenga el contexto del hilo:

{
  "message": "¿Y los fines de semana?",
  "conversation_id": "a3f1c2e0-1b2c-4d5e-8f90-1a2b3c4d5e6f"
}

El campo user_ref es tu identificador del usuario final: úsalo para reconciliar las conversaciones con tu propio sistema. Si lo omites, se genera uno automático.

Errores

Código Significado
401 Falta la cabecera X-API-Key o la clave no es válida.
403 Tu plan no incluye acceso a la API pública.
404 El conversation_id no existe o no pertenece a tu cuenta.
422 El cuerpo no es válido (por ejemplo, message vacío o supera los 2000 caracteres).