Saltar al contenido principal

Analiticas

La API de Analiticas proporciona metricas agregadas, datos de series temporales e histogramas de distribucion para tus operaciones de llamadas. Todos los endpoints de analiticas comparten un conjunto comun de parametros de filtro.

Parametros de Consulta Comunes​

Cada endpoint de analiticas acepta estos parametros de consulta opcionales:

ParametroTipoDescripcion
start_datedatetimeFiltrar llamadas desde esta marca de tiempo (ISO 8601)
end_datedatetimeFiltrar llamadas hasta esta marca de tiempo (ISO 8601)
agent_iduuidFiltrar por un agente especifico

Ejemplo:

GET /analytics/overview?start_date=2026-02-01T00:00:00Z&end_date=2026-02-28T23:59:59Z&agent_id=550e8400-...

Resumen General​

GET /analytics/overview

Estadisticas resumidas de todas las llamadas.

Respuesta​

{
"total_calls": 1250,
"total_duration": 45230.5,
"avg_duration": 36.2,
"completed_calls": 1100,
"failed_calls": 50
}
CampoTipoDescripcion
total_callsintegerNumero total de llamadas
total_durationfloatSuma de todas las duraciones de llamadas (segundos)
avg_durationfloatDuracion promedio de llamada (segundos)
completed_callsintegerLlamadas con estado completed
failed_callsintegerLlamadas con estado failed

Volumen de Llamadas​

GET /analytics/call-volume

Serie temporal diaria del conteo de llamadas.

Respuesta​

[
{ "date": "2026-02-01", "count": 45 },
{ "date": "2026-02-02", "count": 52 }
]

Latencia​

GET /analytics/latency

Latencias promedio del pipeline y tendencia diaria. Las latencias se miden en milisegundos para cada etapa del pipeline: STT, LLM, TTS y la latencia total de extremo a extremo.

Respuesta​

{
"avg_stt_latency_ms": 120.5,
"avg_llm_latency_ms": 450.2,
"avg_tts_latency_ms": 85.3,
"avg_total_latency_ms": 655.0,
"daily_trend": [
{
"date": "2026-02-01",
"stt_latency_ms": 115.0,
"llm_latency_ms": 440.0,
"tts_latency_ms": 80.0,
"total_latency_ms": 635.0
}
]
}

Resumen de Costos​

GET /analytics/cost-overview

Metricas de costos agregadas. Si una llamada tiene un total_cost explicito registrado, se usa ese valor. De lo contrario, el costo se estima a partir de la duracion de la llamada.

Respuesta​

{
"total_spend": 125.50,
"avg_cost_per_call": 0.10,
"stt_cost_total": 0.0,
"llm_cost_total": 0.0,
"tts_cost_total": 0.0
}

Tendencia de Costos​

GET /analytics/cost-trend

Serie temporal diaria del costo total.

Respuesta​

[
{ "date": "2026-02-01", "total_cost": 4.25 },
{ "date": "2026-02-02", "total_cost": 5.10 }
]

Costo por Agente​

GET /analytics/cost-by-agent

Costo total agrupado por agente, ordenado por mayor costo primero.

Respuesta​

[
{
"agent_id": "550e8400-...",
"agent_name": "Support Agent",
"total_cost": 75.00
},
{
"agent_id": "660e8400-...",
"agent_name": "Sales Agent",
"total_cost": 50.50
}
]

Distribucion de Duracion​

GET /analytics/duration-distribution

Histograma de duraciones de llamadas en rangos predefinidos en segundos.

Respuesta​

{
"buckets": [
{ "bucket": "0-30", "count": 200 },
{ "bucket": "30-60", "count": 350 },
{ "bucket": "60-120", "count": 400 },
{ "bucket": "120-300", "count": 250 },
{ "bucket": "300+", "count": 50 }
]
}

Distribucion de Latencia​

GET /analytics/latency-distribution

Histograma de la latencia total de extremo a extremo en rangos basados en milisegundos.

Respuesta​

{
"buckets": [
{ "bucket": "0-500", "count": 100 },
{ "bucket": "500-1000", "count": 500 },
{ "bucket": "1000-2000", "count": 400 },
{ "bucket": "2000-3000", "count": 150 },
{ "bucket": "3000+", "count": 50 }
]
}

Turnos de Conversacion​

GET /analytics/conversation-turns

Numero promedio de turnos de conversacion (intercambios de ida y vuelta) por llamada, con tendencia diaria.

Respuesta​

{
"avg_turns": 8.5,
"daily_trend": [
{ "date": "2026-02-01", "avg_turns": 7.2 },
{ "date": "2026-02-02", "avg_turns": 9.1 }
]
}

Barge-In​

GET /analytics/barge-in

Tasa de barge-in (porcentaje de llamadas donde el llamante interrumpio al agente al menos una vez) y tendencia diaria.

Respuesta​

{
"barge_in_rate": 0.35,
"daily_trend": [
{ "date": "2026-02-01", "barge_in_rate": 0.32 },
{ "date": "2026-02-02", "barge_in_rate": 0.38 }
]
}

La tasa es un decimal entre 0 y 1 (ej. 0.35 = 35% de las llamadas tuvieron barge-in).

Errores de Proveedor​

GET /analytics/provider-errors

Conteo de errores y tasa de error por proveedor.

Respuesta​

[
{
"provider_name": "deepgram",
"error_count": 3,
"total_calls": 500,
"error_rate": 0.006
}
]

Horas Pico​

GET /analytics/peak-hours

Conteo de llamadas agrupado por dia de la semana y hora. Usa la convencion ISO de dias de la semana (0 = Lunes, 6 = Domingo).

Respuesta​

[
{ "day_of_week": 0, "hour": 9, "count": 25 },
{ "day_of_week": 0, "hour": 10, "count": 42 },
{ "day_of_week": 1, "hour": 14, "count": 38 }
]

Resultados​

GET /analytics/outcomes

Conteo de llamadas agrupado por resultado. Recurre a la agrupacion basada en estado para llamadas sin un campo de resultado explicito.

Respuesta​

[
{ "outcome": "completed", "count": 800 },
{ "outcome": "voicemail", "count": 150 },
{ "outcome": "caller_hangup", "count": 100 },
{ "outcome": "failed", "count": 50 }
]

Comparacion de Agentes​

GET /analytics/agent-comparison

Metricas de rendimiento comparativas para multiples agentes. Util para comparar configuraciones de agentes.

Parametros de Consulta Adicionales​

ParametroTipoDescripcion
agent_idsstringUUIDs de agentes separados por comas para comparar

Nota: Este endpoint usa agent_ids (separados por comas) en lugar del filtro estandar agent_id.

Respuesta​

[
{
"agent_id": "550e8400-...",
"agent_name": "Support Agent",
"total_calls": 500,
"avg_duration": 45.2,
"completion_rate": 0.92,
"avg_stt_latency_ms": 115.0,
"avg_llm_latency_ms": 420.0,
"avg_tts_latency_ms": 80.0,
"avg_total_latency_ms": 615.0,
"avg_cost": 0.12,
"barge_in_rate": 0.30,
"avg_turns": 8.5,
"error_count": 5
}
]
CampoTipoDescripcion
agent_iduuidID del agente
agent_namestringNombre visible del agente
total_callsintegerNumero de llamadas atendidas
avg_durationfloatDuracion promedio de llamada (segundos)
completion_ratefloatProporcion de llamadas completadas respecto al total
avg_stt_latency_msfloatLatencia STT promedio (ms)
avg_llm_latency_msfloatLatencia LLM promedio (ms)
avg_tts_latency_msfloatLatencia TTS promedio (ms)
avg_total_latency_msfloatLatencia total promedio del pipeline (ms)
avg_costfloatCosto promedio por llamada
barge_in_ratefloatFraccion de llamadas con barge-in
avg_turnsfloatTurnos de conversacion promedio
error_countintegerNumero de llamadas con errores

Eventos STT​

GET /analytics/stt-events

Eventos del ciclo de vida de conexion STT por llamada. Registra cuando las conexiones STT se abren, cierran, rechazan o expiran.

Parametros de Consulta​

ParametroTipoDescripcion
call_sidstringFiltrar por Twilio Call SID
event_typestringFiltrar por tipo de evento (ver abajo)
start_datedatetimeFiltrar eventos desde esta marca de tiempo
end_datedatetimeFiltrar eventos hasta esta marca de tiempo
limitintegerResultados maximos (por defecto 100, maximo 500)

Tipos de Evento​

TipoDescripcion
connection_openedConexion WebSocket STT establecida
connection_closedConexion STT cerrada normalmente
connection_rejectedConexion STT rechazada por el proveedor
timeoutTimeout de conexion STT
errorError de conexion STT
utterance_end_fallbackRecurrio a la deteccion de fin de enunciado

Respuesta​

[
{
"id": "...",
"call_sid": "CA1234567890abcdef",
"event_type": "connection_opened",
"provider_name": "deepgram",
"model": "nova-2",
"detail": { "language": "en" },
"created_at": "2026-03-01T14:30:00Z"
}
]

Resumen de Eventos STT​

GET /analytics/stt-events/summary

Estadisticas agregadas de eventos STT en un rango de tiempo. Util para monitorear la salud de las conexiones STT.

Parametros de Consulta​

ParametroTipoDescripcion
start_datedatetimeFiltrar eventos desde esta marca de tiempo
end_datedatetimeFiltrar eventos hasta esta marca de tiempo

Respuesta​

{
"total_events": 2500,
"connections_opened": 1200,
"connections_closed": 1180,
"connections_rejected": 15,
"timeouts": 5,
"errors": 3,
"utterance_end_fallbacks": 42,
"avg_connection_duration_s": 35.2,
"rejection_rate": 0.012,
"timeout_rate": 0.004
}
CampoTipoDescripcion
total_eventsintegerTotal de eventos STT registrados
connections_openedintegerAperturas de conexion exitosas
connections_closedintegerCierres de conexion normales
connections_rejectedintegerConexiones rechazadas por el proveedor
timeoutsintegerTimeouts de conexion
errorsintegerErrores de conexion
utterance_end_fallbacksintegerRecurso a deteccion de fin de enunciado
avg_connection_duration_sfloat | nullDuracion promedio de conexion (segundos)
rejection_ratefloatRechazadas / (abiertas + rechazadas)
timeout_ratefloatTimeouts / abiertas