El extremo de agentes de cierre de sesión forzado te permite cerrar la sesión de los agentes en línea de forma forzada. Los agentes que participan en llamadas o chats activos se desconectan automáticamente cuando completan sus interacciones actuales. Los agentes inactivos se desconectan de inmediato. Este extremo admite el cierre de sesión forzado de agentes específicos, equipos completos o agentes identificados por direcciones IP con notación CIDR, una lista de direcciones IPv4/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 endpoints de la API de cierre de sesión forzado del agente:
Forzar el cierre de sesión de los agentes
Este endpoint permite cerrar la sesión de agentes específicos. Los agentes se pueden identificar de las siguientes maneras:
ID del agente
ID del equipo
una dirección IP externa.
Endpoint:
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, eran 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
Se cerró la sesión de los agentes correctamente con la dirección IP
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 del agente de cierre de sesión
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 un chat se desconectará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
Forzar trabajos de cierre de sesión 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"
}
Endpoint:
Method: GET
Type:
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout/jobs/:id
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| id | Es 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