Skip to main content
Recuperas las conversaciones que atendió un asesor humano para analizar tiempos de respuesta, estados de cierre y asignaciones. Recibes metadatos de operadores, usuarios y bots involucrados dentro de un rango de fechas definido.

Endpoint

POST https://api.jelou.ai/v1/metrics/conversations/attended/external

Autenticación

CampoUbicaciónTipoRequeridoDescripción
AuthorizationHeaderstringCredenciales en formato clientId:clientSecret.

Parámetros de consulta

CampoUbicaciónTipoRequeridoValor por defectoDescripción
limitQueryintegerNo10Número máximo de conversaciones por página.
pageQueryintegerNo1Número de página para paginación.

Cuerpo de la solicitud

CampoTipoRequeridoDescripción
startAtstringFecha de inicio del rango en formato ISO 8601. Ejemplo: 2025-01-01T00:00:00-05:00
endAtstringFecha de fin del rango en formato ISO 8601. Ejemplo: 2025-01-01T23:59:59-05:00
getJsonbooleanDebe ser true para recibir la respuesta en formato JSON.
Usa ventanas de tiempo acotadas para optimizar la consulta y evita rangos demasiado amplios si manejas altos volúmenes de conversaciones.

Ejemplos de solicitud

curl -X POST 'https://api.jelou.ai/v1/metrics/conversations/attended/external?limit=10' \
  -H 'Authorization: <clientId>:<clientSecret>' \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -d '{
    "startAt": "2025-01-01T00:00:00-05:00",
    "endAt": "2025-01-01T23:59:59-05:00",
    "getJson": true
  }'

Respuestas

{
  "message": ["Retrieving conversations succeeded"],
  "status": "success",
  "results": [
    {
      "_id": "CONVERSATION_ID",
      "operator": {
        "names": "OPERATOR_NAME"
      },
      "user": {
        "id": "ID"
      },
      "bot": {
        "name": "BOT_NAME"
      },
      "company": {
        "id": "COMPANY_ID"
      },
      "assignationMethod": {
        "teamName": "TEAM_NAME"
      },
      "state": "expired",
      "endedReason": "expired",
      "startAt": "2023-06-08 15:52:41",
      "endAt": "2023-06-08 23:07:56",
      "origin": "ticket",
      "timeRepliedOperator": 795880,
      "conversationDuration": 26115953
    }
  ],
  "pagination": {
    "limit": 1,
    "total": 61,
    "offset": 0,
    "totalPages": 61
  },
  "links": [
    {
      "number": 1,
      "url": "/v1/metrics/conversations/attended/external?limit=1&page=1"
    },
    {
      "number": 2,
      "url": "/v1/metrics/conversations/attended/external?limit=1&page=2"
    }
  ]
}
{
  "message": "Authentication failed"
}
{
  "message": ["Los valores ingresados no son correctos."],
  "statusMessage": "failed",
  "status": 0,
  "error": {
    "code": "E0422",
    "key": "VALIDATOR_ERROR"
  }
}
{
  "message": "Rate limit exceeded"
}
{
  "message": ["We are having trouble processing your request. Please try again later."],
  "statusMessage": "failed",
  "status": 0
}

Detalle de la respuesta

Objeto results

CampoTipoDescripción
_idstringIdentificador único de la conversación.
operatorobjectInformación del operador que atendió la conversación (names).
userobjectInformación del usuario (id).
botobjectInformación del bot asociado (name).
companyobjectInformación de la empresa (id).
assignationMethodobjectMétodo de asignación y equipo (teamName).
statestringEstado de la conversación: active, closed, resolved, expired.
endedReasonstringMotivo por el cual terminó la conversación.
startAtstringFecha y hora de inicio de la conversación.
endAtstringFecha y hora de finalización de la conversación.
originstringFuente de la conversación (ej: ticket).
timeRepliedOperatornumberTiempo de respuesta del operador en milisegundos.
conversationDurationnumberDuración total de la conversación en milisegundos.

Objeto pagination

CampoTipoDescripción
limitintegerConversaciones retornadas por página.
totalintegerTotal de conversaciones que cumplen con los filtros.
offsetintegerConversaciones omitidas según la página solicitada.
totalPagesintegerCantidad total de páginas disponibles.
CampoTipoDescripción
numberintegerNúmero de página.
urlstringURL relativa para acceder a esa página.

Métricas de rendimiento

Usa los campos timeRepliedOperator y conversationDuration para analizar la eficiencia de tu equipo de soporte:
  • timeRepliedOperator: Mide el tiempo que tarda un asesor en dar la primera respuesta (en milisegundos).
  • conversationDuration: Mide la duración total desde el inicio hasta el cierre de la conversación (en milisegundos).