API de gestión del bot
Consulta y ajusta la configuración de tu EasyChatBot desde tu propia plataforma: nombre, temperatura, estado, idiomas, WhatsApp, emociones, instrucciones e intenciones.
Volver al índice de documentación
Introducción
La API de gestión del bot te permite, desde tu propia plataforma o backend:
- Consultar el estado y la configuración de tu bot: nombre, estado, temperatura, emociones, idiomas, WhatsApp, instrucciones e intenciones con sus acciones.
- Ajustar un conjunto mínimo de opciones: nombre, temperatura, estado (apagar/encender/pendiente), idiomas y conversaciones de WhatsApp.
Esta API vive en el frontend de EasyChatBot (CodeIgniter) y usa su propia clave (ecb_mgmt_…), totalmente independiente de las claves del chat (ecb_sk_dev_… / ecb_sk_live_…). No consume tokens de chat.
Base URL:
https://www.easychatbot.app/api/v1/bot
Cada petición se autentica con la clave de gestión del bot. La clave funciona con el bot en INACTIVE, PENDING o RUNNING.
Cómo obtener la clave
- Inicia sesión en el dashboard de EasyChatBot.
- Ve a Mis Chatbots → bot correspondiente → Instalar.
- En la sección «API de gestión del bot (clientes)» pulsa Generar clave.
- La clave se muestra una sola vez (formato
ecb_mgmt_…). Cópiala y guárdala en tu gestor de secretos. - Si la pierdes, puedes regenerarla desde el mismo modal; la regeneración revoca la clave anterior.
Autenticación y headers
| Aspecto | Detalle |
|---|---|
| Autenticación | Header Authorization: Bearer ecb_mgmt_… |
| Alternativa | Header X-Api-Key: ecb_mgmt_… |
| Contenido | Content-Type: application/json en todas las peticiones con body (PATCH) |
| CORS | Habilitado para peticiones desde otros orígenes (integración servidor o frontend de tu plataforma) |
| Método | GET para consultar; PATCH para actualizar (parcial) |
Si la clave es inválida o está ausente obtendrás un 401 con {"success": false, "message": "…"}.
GET /api/v1/bot
https://www.easychatbot.app/api/v1/bot
Devuelve un snapshot de solo lectura con la configuración actual del bot.
Respuesta — éxito
{
"success": true,
"data": {
"bot": {
"id": 123,
"name": "Mi bot de soporte",
"status": "PENDING",
"temperature": 0.7,
"emotions": [
{ "code": "friendly", "label": "Amigable" }
],
"languages": {
"enabled": true,
"all_languages": false,
"languages": ["es", "en"],
"catalog": [
{ "code": "es", "name": "Español" },
{ "code": "en", "name": "Inglés" }
]
},
"whatsapp": {
"whatsapp_enabled": true
}
},
"instructions": [
{ "text": "Responde siempre en tono cordial.", "channels": ["all"] }
],
"intents": [
{
"id": 456,
"title": "Consultar horarios",
"detection_description": "Detecta preguntas sobre horarios",
"enabled": true,
"approved": false,
"priority": 0,
"action_type": "query_rewriting",
"action_name": "query_rewriting",
"config": null,
"welcome_message": "¡Claro! Te ayudo con los horarios.",
"completion_message": null,
"allowed_channels": ["all"],
"form_data": null
}
]
}
}
Los campos emotions, instructions e intents son de solo lectura: no se modifican con esta API.
PATCH /api/v1/bot
https://www.easychatbot.app/api/v1/bot
Actualización parcial: envía solo los campos que quieres cambiar. Se ignoran los que no se envían.
| Campo | Tipo | Requerido | Valores válidos | Descripción |
|---|---|---|---|---|
name | string | No | 3–255 caracteres | Nombre del bot |
temperature | number | No | 0 – 2 | Creatividad de las respuestas |
status | string | No | INACTIVE · PENDING · RUNNING | Estado del bot (apagado, pendiente, encendido) |
languages | object | No | ver abajo | Detección de idiomas del bot |
whatsapp_enabled | boolean | No | true · false | Conversaciones por WhatsApp (toggle de la pestaña IA) |
Sub-campos de languages
| Campo | Tipo | Descripción |
|---|---|---|
enabled | boolean | Activa/desactiva la detección automática de idioma |
all_languages | boolean | true: todos los idiomas del catálogo; false: solo languages |
languages | string[] | Códigos del catálogo, p. ej. ["es","en"] (se usa cuando all_languages es false) |
Respuesta — éxito tras actualizar
{
"success": true,
"message": "Bot actualizado correctamente",
"data": {
"bot": {
"id": 123,
"name": "Mi bot de soporte",
"status": "RUNNING",
"temperature": 0.5,
"emotions": [
{ "code": "friendly", "label": "Amigable" }
],
"languages": {
"enabled": true,
"all_languages": false,
"languages": ["es", "en"],
"catalog": []
},
"whatsapp": {
"whatsapp_enabled": true
}
},
"instructions": [],
"intents": []
}
}
Tras un status a INACTIVE, las intenciones MCP se desactivan automáticamente (mismo comportamiento que el dashboard).
Errores
Todos los errores usan el formato {"success": false, "message": "…"}.
| Código | Significado típico |
|---|---|
| 400 | Body vacío o malformado |
| 401 | Clave ausente o inválida |
| 404 | Bot no encontrado |
| 422 | Validación de campos (mensaje específico por campo) |
| 500 | Error interno del servidor |
Ejemplo de error de validación
{
"success": false,
"message": "El campo temperature debe ser un número entre 0 y 2."
}
Ejemplo de error de autenticación
{
"success": false,
"message": "Clave de gestión inválida o ausente."
}
Ejemplos con curl
Sustituye ecb_mgmt_xxxxxxxx por tu clave real.
1. Consultar el bot (lectura)
curl -H "Authorization: Bearer ecb_mgmt_xxxxxxxx" \
https://www.easychatbot.app/api/v1/bot
2. Actualizar nombre, temperatura y estado
curl -X PATCH -H "Authorization: Bearer ecb_mgmt_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"name":"Mi bot de soporte","temperature":0.5,"status":"RUNNING"}' \
https://www.easychatbot.app/api/v1/bot
3. Activar detección de idiomas (solo español e inglés)
curl -X PATCH -H "Authorization: Bearer ecb_mgmt_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"languages":{"enabled":true,"all_languages":false,"languages":["es","en"]}}' \
https://www.easychatbot.app/api/v1/bot
4. Apagar las conversaciones por WhatsApp
curl -X PATCH -H "Authorization: Bearer ecb_mgmt_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"whatsapp_enabled":false}' \
https://www.easychatbot.app/api/v1/bot
Guía de instalación paso a paso
-
Genera la clave de gestión.
Dashboard → Mis Chatbots → bot → Instalar → sección «API de gestión del bot (clientes)» → Generar clave. Guarda la claveecb_mgmt_…en tu gestor de secretos (solo se muestra una vez). -
Prueba con curl.
Ejecuta elGETdel paso 1 de la sección anterior. Deberías recibir{"success": true, "data": {…}}con el snapshot del bot. -
Integra en tu backend.
Almacena la clave en una variable de entorno (EASYCHATBOT_MGMT_API_KEY, por ejemplo). Al cargar tu plataforma, consulta elGETpara mostrar el estado y la configuración de tu bot. Cuando el usuario guarde cambios, envía unPATCHcon solo los campos modificados. -
Gestiona la clave.
Si sospechas que se filtró, regenérala en el dashboard: la clave anterior queda revocada inmediatamente.
Traza de cambios
Cada escritura con esta API queda registrada en la página de Uso del bot (tipo Configuración) con el origen API de gestión, indicando qué campo cambió y de qué valor a cuál. Esto te permite auditar quién (o qué sistema) modificó la configuración del bot.
Los cambios hechos desde el dashboard también se registran, identificando el usuario de la sesión.