El extremo de agentes de cierre de sesión forzado te permite cerrar la sesión de agentes en línea de forma forzada. Los agentes que participan en llamadas o chats activos cierran sesión automáticamente cuando completan sus interacciones actuales. Los agentes inactivos cierran sesión de inmediato. Este extremo admite cierres de sesión forzados de agentes específicos, equipos completos o agentes identificados por direcciones IP con notación CIDR, una lista de direcciones IPv4 o IPv6, o rangos de IP. Para una gran cantidad de agentes, se crea un trabajo en segundo plano para administrar el proceso de cierre de sesión de manera eficiente.
Los siguientes son los extremos de la API de cierre de sesión forzado del agente:
Agentes de cierre de sesión forzado
Este extremo proporciona la capacidad de cerrar la sesión de agentes específicos. Los agentes se pueden identificar de las siguientes maneras:
ID del agente
ID del equipo
Dirección IP
Extremo:
Method: POST
Type: RAW
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json | |
| Aceptar | application/json |
Cuerpo:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
],
"ip_addrs": [
"34.211.11.0/24"
]
}
Ejemplo de solicitud y respuestas
En las siguientes secciones, se proporcionan ejemplos de solicitudes al extremo.
Cerrar la sesión de los agentes correctamente
En este ejemplo, se muestra cómo cerrar la sesión de agentes específicos según el ID del agente y el ID del equipo. En este caso, fueron los IDs de agente 11 y 12, así como el ID de equipo 1.
Solicitud
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
]
}
Respuesta
[
{
"agent_id": 11,
"name": "Darth Vader",
"email": "notanakinskywalker@empire.com",
"agent_number": "Agent No.111",
"previous_status": "lunch",
"current_status": "Offline"
},
{
"agent_id": 12,
"name": "Craig T",
"email": "craigT@nelson.com",
"agent_number": "Agent No.112",
"previous_status": "Unavailable",
"current_status": "Offline"
},
{
"agent_id": 13,
"name": "Raymond D",
"email": "rayd@nelson.com",
"agent_number": "Agent No.113",
"previous_status": "Break",
"current_status": "Offline"
}
]
Código de estado: 200
Cerrar la sesión de los agentes con la dirección IP correctamente
En este ejemplo, se muestra cómo cerrar la sesión de los agentes especificando un rango de direcciones IP.
En este caso, el rango de direcciones IP proporcionado es 34.211.11.0/24.
Solicitud
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
],
"ip_addrs": [
"34.211.11.0/24"
]
}
Código de estado: 200
Se creó el trabajo de cierre de sesión del agente
En este ejemplo, se muestra cómo solicitar los cierres de sesión del agente y el trabajo resultante que se crea.
Solicitud
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
],
"ip_addrs": [
"34.211.11.0/24"
]
}
Respuesta
{
"ip_addrs": [
"34.211.11.0/16"
]
}
Código de estado: 200
Los agentes que están en una llamada o en un chat cerrarán sesión más tarde
En este ejemplo, se muestra cómo los agentes que están en una llamada o en un chat cerrarán sesión más tarde, después de que finalice el chat o la llamada.
Solicitud
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
{
"agent_ids": [
11,
12
],
"team_ids": []
}
Respuesta
[
{
"agent_id": 11,
"name": "Darth Vader",
"email": "notanakinskywalker@empire.com",
"agent_number": "Agent No.111",
"previous_status": "In-call",
"current_status": "In-call",
"message": "will force logout as soon as the ongoing call/chat is completed"
},
{
"agent_id": 12,
"name": "Craig T",
"email": "craigT@nelson.com",
"agent_number": "Agent No.112",
"previous_status": "In-chat",
"current_status": "In-chat",
"message": "will force logout as soon as the ongoing call/chat is completed"
}
]
Código de estado: 400
Error: No se pueden encontrar agentes
En este ejemplo, se muestra la situación de falla en la que no se pudieron encontrar los agentes proporcionados.
Solicitud
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
{
"ip_addrs": [
"34.211.11.0/24"
]
}
Respuesta: Error : No se puede encontrar ningún agente con los parámetros de entrada
{
"message": "cannot find any agent by input params"
}
Código de estado: 400
Trabajos de cierre de sesión forzado del agente
Este extremo te permite obtener el estado de la solicitud de cierre de sesión forzado de un agente.
{
"identifier": "string",
"email": "string",
"name": "string",
"phone": "string"
}
Extremo:
Method: GET
Type:
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout/jobs/:id
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| id | El ID de trabajo de una solicitud de cierre de sesión forzado enviada. |
Ejemplo de solicitud y respuestas
En las siguientes secciones, se proporcionan ejemplos de solicitudes al extremo.
Se completó correctamente
En este ejemplo, se muestra cómo recuperar un trabajo que se completó correctamente.
Solicitud
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Consulta:
Method: GET
Type:
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout/jobs/105
Respuesta
{
"id": 105,
"status": "completed"
}
Código de estado: 200