Agentes
Los métodos aquí indicados irán siempre firmados con la cabecera "X-Api-Key" al igual que el resto de métodos.
Obtener los agentes disponibles
GET /agent
Con éste método se obtendrá un array JSON con los agentes dados de alta en el sistema, la respuesta sería así:
[
{
"id": "ff80818168e5d9b70168e5d9eda900c2",
"extension": "100",
"extensionName": "Agente 100",
"name": "a100",
"status": "ON_BREAK",
"breakType": "Aseo"
},
{
"id": "ff80818168e5d9b70168e5d9edb300c3",
"extension": "101",
"extensionName": "Agente 101",
"name": "a101",
"status": "AVAILABLE",
"breakType": null
},
{
"id": "ff80818168e5d9b70168e5d9edbc00c4",
"extension": "102",
"extensionName": "Agente 102",
"name": "a102",
"status": "LOGGED_OUT",
"breakType": null
}
]
Obtener los tipos de descanso disponibles
GET /agent/breaktype
Con éste método se obtendrá un array JSON con los tipos de descanso diponibles en la centralita.
Ejemplo
- Respuesta
[
{
"id": "ff80818168e5d9b70168e5d9edd600ca",
"name": "Test (no usar)"
},
{
"id": "ff80818168e5d9b70168e5d9edd500c9",
"name": "Descanso"
},
{
"id": "ff80818168e5d9b70168e5d9edd400c8",
"name": "Aseo"
},
{
"id": "ff80818168e5d9b70168e5d9edd300c7",
"name": "Comer"
}
]
Cambiar el estado de un agente
POST /agent/{agentId}/status/{newStatus}
Para utilizar este servicio web es necesario conocer el {agentId} y elegir uno de los estados disponibles.
Tipos de status que se pueden elegir
Nombre | Descripción |
---|---|
AVAILABLE | El agente esta disponible para recibir llamadas de las colas |
LOGGED_OUT | El agente NO esta disponible para recibir llamadas de las colas |
ON_BREAK | El agente esta en pausa y no esta disponible para recibir llamadas de las colas |
Además, el estado ON_BREAK permite definir en qué tipo de pausa esta el agente de las que están dadas de alta en el sistema. Cada tipo de pausa tiene un id único que es consultable mediante otro servicio web también descrito previamente.
Para hacer un cambio de estado a un tipo de pausa concreto, hay que hacerlo indicando el cambio de estado ON_BREAK seguido de los carácteres "::" y a continuación el id del tipo de descanso.
Formato: ON_BREAK::{breakTypeId}
Ejemplo para cambiar al agente con id ff80818168e5d9b70168e5d9eda900c2 al estado LOGGED_OUT
- Petición
POST /agent/ff80818168e5d9b70168e5d9eda900c2/status/LOGGED_OUT
- Respuesta
{
"id": "ff80818168e5d9b70168e5d9eda900c2",
"extension": "100",
"extensionName": "Agente 100",
"name": "a100",
"status": "LOGGED_OUT",
"breakType": null
}
Ejemplo para cambiar al agente con id ff80818168e5d9b70168e5d9eda900c2 al estado ON_BREAK y tipo de descanso "Comer"
- Petición
POST /agent/ff80818168e5d9b70168e5d9eda900c2/status/ON_BREAK::ff80818168e5d9b70168e5d9edd300c7
- Respuesta
{
"id": "ff80818168e5d9b70168e5d9eda900c2",
"extension": "100",
"extensionName": "Agente 100",
"name": "a100",
"status": "ON_BREAK",
"breakType": "Comer"
}
Obtener los cambios de estado de una serie de agentes
Para hacer las peticiones de los cambios de estado de uno o varios agentes se deberá enviar con un POST un objeto JSON con el filtro que necesitemos.
Propiedades disponibles en el filtro
Nombre | Tipo | Valor por defecto | Opcional | Descripción |
---|---|---|---|---|
start | numérico | - | No | Fecha de inicio, timestamp en milisengundos |
end | numérico | - | No | Fecha fin, timestamp en milisegundos |
statuses | array de strings | Sí | Sí | Array con los valores que queremos filtrar |
agents | array de strings | Sí | Sí | Array con los agentes que queremos filtrar |
offset | numérico | 0 | No | En el método de count se ignora. De todos los registros existentes, desde dónde se empieza |
limit | numérico | 50 | No | En el método de count se ignora. A partir del offset, cuántos registros queremos |
Los "statuses" posibles son los indicados en Estados de un agente
Contar los registros existentes para un filtro
POST /agent/statuscount
Descripción
Devuelve en JSON la propiedad count indicando cuántos registros existen para el filtro pasado como JSON en el POST para poder paginar los resultados.
Permisos
Obtener los cambios de estado de los agentes de la centralita asignada a la Api Key utilizada.
Ejemplo:
Petición para filtrar el estado "ON_BREAK" en los agentes "201" y "202" el día 19/05/2017 (desde las 00:00 hasta las 23:59 horas)
{
"start":1495144800000,
"end":1495231200000,
"statuses": ["ON_BREAK"],
"agents": ["201","202"],
}
La respuesta sería:
{
"count": 2
}
Obtener los registros existentes para un filtro
POST /agent/status
Descripción
Devuelve en JSON con un array de los cambios de estado registrados para el filtro indicado pasado como JSON en el POST.
Permisos
Obtener los cambios de estado de los agentes de la centralita asignada a la Api Key utilizada.
Ejemplo:
Petición para filtrar el estado "ON_BREAK" en los agentes "201" y "202" el día 19/05/2017 (desde las 00:00 hasta las 23:59 horas)
{
"start":1495144800000,
"end":1495231200000,
"statuses": ["ON_BREAK"],
"agents": ["201","202"],
"offset": 0,
"limit": 2
}
La respuesta sería:
[
{
"agent":"201",
"date":1495189860000,
"status":"ON_BREAK",
"agentBreakType":"Gestión"
}
{
"agent":"202",
"date":1495189860000,
"status":"AVAILABLE",
"agentBreakType":null
}
]