/api/calls/:callIdObtiene el detalle completo de una llamada, incluyendo transcripción, respuestas, tokens y costos.
curl http://HOST:3000/api/calls/CALL_ID
| Cliente | Activas | En espera | ETA espera |
|---|---|---|---|
| Sin actividad de concurrencia. | |||
| Posición | ID llamada | Cliente | Despacho | Novedad | En espera desde | Estado |
|---|---|---|---|---|---|---|
| No hay llamadas esperando. | ||||||
| ID llamada | Cliente | Novedad | Estado | Telefono | Duracion | Tokens | Costo (USD/COP) | Detalle |
|---|---|---|---|---|---|---|---|---|
| Sin llamadas registradas. | ||||||||
Usa estos endpoints para consultar llamadas, filtrar por cliente y revisar concurrencia desde tus propios sistemas.
/api/calls/:callIdObtiene el detalle completo de una llamada, incluyendo transcripción, respuestas, tokens y costos.
curl http://HOST:3000/api/calls/CALL_ID
/api/clients/:clientId/callsLista las llamadas de un cliente específico.
curl "http://HOST:3000/api/clients/CLIENT_ID/calls?limit=100"
/api/callsConsulta todas las llamadas con filtros por cliente, estado, novedad y límite.
curl "http://HOST:3000/api/calls?clientId=CLIENT_ID&status=completed"
/api/concurrencyConsulta llamadas activas, despachos en cola y límites globales.
curl http://HOST:3000/api/concurrency
/api/auth/loginAutentica un usuario y entrega un JWT válido durante 30 minutos.
curl -X POST http://HOST:3000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"admin@example.com","password":"..."}'/api/auth/tokenValida el token actual y devuelve usuario, expiración y segundos restantes. Requiere JWT.
curl http://HOST:3000/api/auth/token \ -H "Authorization: Bearer TOKEN"
/api/auth/usersCrea el primer usuario. Después del bootstrap requiere JWT.
curl -X POST http://HOST:3000/api/auth/users \ -H "Content-Type: application/json"
/api/clientsLista clientes registrados, incluyendo nombre, NIT, razón social, plan, estado y límite.
curl http://HOST:3000/api/clients \ -H "Authorization: Bearer TOKEN"
/api/clients/searchBusca clientes por nombre, razón social, NIT o identificación usando q, name, legalName o nit.
curl "http://HOST:3000/api/clients/search?q=900123456" \
-H "Authorization: Bearer TOKEN"/api/clients/:identifierConsulta un cliente específico usando el clientId retornado al crearlo o su NIT/número de identificación.
curl "http://HOST:3000/api/clients/900123456-7" \
-H "Authorization: Bearer TOKEN"/api/clientsRegistra un cliente. El nombre y NIT/identificación son obligatorios; la razón social es opcional. La API genera y retorna el clientId.
{"name":"Cliente Demo","nit":"900123456-7","legalName":"Cliente Demo S.A.S.","plan":"basic","maxConcurrentCalls":2}/api/plansLista los planes y límites de concurrencia disponibles.
curl http://HOST:3000/api/plans \ -H "Authorization: Bearer TOKEN"
/api/plansCrea un plan configurable para asignarlo a clientes.
{"id":"premium","name":"Plan Premium","description":"Alto volumen","maxConcurrentCalls":20}/api/promptsLista prompts y reglas de conversación disponibles.
curl http://HOST:3000/api/prompts \ -H "Authorization: Bearer TOKEN"
/api/integrationsConsulta estado de Twilio, saldo, consumo Nova Sonic y facturación AWS.
curl http://HOST:3000/api/integrations \ -H "Authorization: Bearer TOKEN"
/api/settingsConsulta configuración operativa y reglas editables. Requiere JWT.
curl "http://HOST:3000/api/settings?category=conversation" \ -H "Authorization: Bearer TOKEN"
/api/toolsLista las herramientas habilitadas para el agente de voz.
curl http://HOST:3000/api/tools \ -H "Authorization: Bearer TOKEN"
/healthHealth check público para load balancer y monitoreo.
curl http://HOST:3000/health
Cada elemento de dispatches representa una llamada. El cliente debe estar registrado y su plan controla la cola.
{
"clients": [
{
"clientId": "clt_7f2a9c4e",
"clientInfo": {
"legalName": "Transportes del Caribe S.A.S.",
"plan": "standard",
"contact": "Operaciones Cartagena"
},
"dispatches": [
{
"dispatchId": "d-001",
"novelty": "desvio",
"priority": "high",
"route": { "origin": "Bogotá", "destination": "Cartagena" },
"cargo": { "description": "Carga refrigerada", "weight": "1200 kg", "reference": "REF-8842" },
"vehicle": { "plate": "ELK123", "type": "Camión", "model": "2022" },
"driver": { "name": "Juan Pérez", "phone": "+573162543022", "document": "CC-10203040" },
"metadata": { "customerOrder": "OC-45001", "estimatedArrival": "2026-08-12T16:00:00-05:00" }
}
]
},
{
"clientId": "clt_4b81de20",
"clientInfo": { "legalName": "Movilidad Urbana Cartagena", "plan": "basic" },
"dispatches": [
{
"dispatchId": "d-002",
"novelty": "retraso",
"route": { "origin": "Barranquilla", "destination": "Cartagena" },
"cargo": { "description": "Repuestos automotrices", "reference": "REP-2207" },
"vehicle": { "plate": "XYZ987", "type": "Furgón" },
"driver": { "name": "Rosa Martínez", "phone": "+573022207277" }
},
{
"dispatchId": "d-003",
"novelty": "actividad_nocturna",
"vehicle": { "plate": "LMN456", "type": "Tractocamión" },
"driver": { "name": "Yeferson Gómez", "phone": "+573022360722" },
"cargo": { "description": "Alimentos secos", "weight": "8000 kg" }
}
]
},
{
"clientId": "cliente-b",
"dispatches": [{
"dispatchId": "d-004",
"novelty": "desvio",
"vehicle": { "plate": "NO-REG-01" },
"driver": { "name": "Cliente rechazado", "phone": "+573001112233" }
}]
}
]
}Administra quién puede acceder a las APIs protegidas. Las contraseñas nunca se muestran.
| Nombre | Estado | Acción | |
|---|---|---|---|
| Cargando usuarios... | |||
Todo cliente que envíe despachos debe estar registrado. Su plan define cuántas llamadas puede ejecutar en paralelo.
| Cliente / razón social | NIT / identificación | Plan | Concurrencia en uso | Estado | |
|---|---|---|---|---|---|
| Cargando clientes... | |||||
| ID llamada | Cliente | Novedad | Inicio | Duración | Tokens Nova | Costo Nova | Costo Twilio | Estado | Detalle |
|---|---|---|---|---|---|---|---|---|---|
| Cargando llamadas reales de EC2... | |||||||||
Gestiona las plantillas de conversación que usa el agente. Puedes editar o crear nuevas.
Configura las credenciales de los proveedores externos. Los valores se guardan de forma persistente.
Llamadas telefónicas salientes
Motor de voz / IA
Llamadas salientes (opcional)
Valores generales de referencia
Se guardan como parámetros generales de la plataforma para reportes y operación. No modifican automáticamente los precios publicados por AWS o Twilio.
Configura y guarda sin reiniciar servidor.
Envía llamadas multi-cliente al endpoint /api/orchestrator/calls.
Agrega o elimina campos desde el editor visual. Los cambios se aplican en nuevas llamadas.
Enable or disable tools for the assistant to use during conversations.
Estos valores solo afectan la estimación de costos que ves en la conversación actual del navegador.
These values are used for the cost estimate displayed in the conversation summary.