Skip to content

Stats API

Este endpoint es el núcleo del sistema de estadísticas de uContact. Permite obtener datos históricos y agregados sobre el rendimiento de agentes y campañas. Es configurable a través de parámetros para agrupar, filtrar y personalizar las métricas devueltas.

  • Método: POST
  • URL: https://<dominio>.ucontactcloud.com/api/stats

Descripción General

El endpoint consulta una base de datos de telemetría (ccrepo) para recuperar métricas. La petición se realiza mediante POST, enviando los parámetros de configuración en la URL (Query Params) y los filtros de recursos (agentes o campañas) en el cuerpo de la petición (Request Body).

Query Params

Estos son los parámetros que se envían en la URL.

Parámetros Obligatorios

ParámetroTipoDescripciónEjemplo
typeStringEl tipo de recurso sobre el cual se desea obtener estadísticas.agent, campaign
initialdateStringLa fecha y hora de inicio del rango de consulta, incluyendo la zona horaria. El formato debe ser "AAAA-MM-DD HH:mm:ss ZonaHoraria".2025-09-01 00:00:00 America/Chicago
finaldateStringLa fecha y hora de fin del rango de consulta, incluyendo la zona horaria. Mismo formato que initialdate.2025-09-07 23:59:59 America/Chicago
groupnumStringDefine el intervalo de agrupación. Puede ser un número en minutos o una cadena predefinida.Numérico: 15, 30, 60
Texto: mth (mes), bim (bimestre), tri (trimestre), sem (semestre), yer (año)
channelsStringLista de canales separados por coma. Es obligatorio únicamente si type es campaign.telephony,sms,email,whatsapp,messenger,instagram

Parámetros opcionales

ParámetroTipoDescripciónEjemplo
metricsStringUna lista separada por comas de las métricas específicas que se desean obtener. Si no se envía, se devuelven todas las métricas por defecto. La lista de métricas se puede encontrar acá: campañas y agentes.connected,inboundAnswered
byResourceBooleanSi es true, los resultados se agruparán por cada recurso individual (ej. se retornará una fila por cada agente). Por defecto es false.true
byChannelBooleanSi es true, los resultados se agruparán por canal. Útil principalmente cuando type es campaign. Por defecto es false.true

Request Body

El cuerpo de la petición se utiliza para especificar los recursos exactos que se desean consultar.

  • Content-Type: application/json
  • Cuerpo (Body): Un objeto JSON que contiene una clave stats. El valor de stats es una cadena de texto con identificadores de los recursos separados por comas.

Para filtrar usuarios

json
{
   "stats": "Agent1,Agent2,Agent3"
}

Para filtrar campañas

json
{
   "stats": "Sales,Support"
}

Códigos de respuesta

  • 200 OK: La solicitud fue exitosa y la respuesta contiene los datos.
  • 400 Bad Request: Faltan parámetros obligatorios o alguno tiene un formato incorrecto.
  • 408 Request Timeout: La consulta a la base de datos tardó demasiado en ejecutarse.
  • 500 Internal Server Error: Ocurrió un error inesperado en el servidor.

Ejemplos de Uso

Estadísticas de agentes por recurso

Obtener las métricas específicas de los agentes Agent1, Agent2 y Agent3 para un dia específico, agrupadas cada hora y desglosadas por cada agente.

URL

/api/stats
?type=agent
&initialdate=2025-09-08 00:00:00 America/Mexico_City
&finaldate=2025-09-08 23:59:59 America/Mexico_City
&groupnum=60
&metrics=inInteractions,outInteractions,connected
&byResource=true

Body

json
{
   "stats": "Agent1,Agent2,Agent3"
}

Respuesta de Ejemplo

json
[
    {
        "date": "Sep 8, 2025, 9:00:00 AM",
        "resource": "Agent1",
        "inInteractions": 10,
        "outInteractions": 5,
        "connected": 3540
    },
    {
        "date": "Sep 8, 2025, 9:00:00 AM",
        "resource": "Agent2",
        "inInteractions": 12,
        "outInteractions": 3,
        "connected": 3480
    },
    {
        "date": "Sep 8, 2025, 9:00:00 AM",
        "resource": "Agent3",
        "inInteractions": 4,
        "outInteractions": 3,
        "connected": 3440
    },
    {
        "date": "Sep 8, 2025, 10:00:00 AM",
        "resource": "Agent1",
        "inInteractions": 8,
        "outInteractions": 6,
        "connected": 3510
    },
    {
        "date": "Sep 8, 2025, 10:00:00 AM",
        "resource": "Agent2",
        "inInteractions": 15,
        "outInteractions": 2,
        "connected": 3550
    },
    {
        "date": "Sep 8, 2025, 10:00:00 AM",
        "resource": "Agent3",
        "inInteractions": 9,
        "outInteractions": 4,
        "connected": 3490
    }
]

Métricas específicas de una campaña por canal

Obtener solo las métricas de cantidad de interacciones entrantes y salientes para la campaña Ventas en los canales de telephony y whatsapp, con los resultados desglosados por canal.

URL

/api/stats
?type=campaign
&initialdate=2025-09-01 00:00:00 UTC
&finaldate=2025-09-30 23:59:59 UTC
&groupnum=mth
&channels=telephony,whatsapp
&metrics=inInteractions,outInteractions
&byChannel=true

Body

json
{
   "stats": "Ventas"
}

Respuesta de Ejemplo

json
[
    {
        "date": "Sep 1, 2025, 12:00:00 AM",
        "resource": "Ventas",
        "channel": "telephony",
        "inInteractions": 1500,
        "outInteractions": 350
    },
    {
        "date": "Sep 1, 2025, 12:00:00 AM",
        "resource": "Ventas",
        "channel": "whatsapp",
        "inInteractions": 2200,
        "outInteractions": 150
    }
]

uContact by net2phone