L'endpoint degli agenti di forzatura dell'uscita consente di forzare l'uscita degli agenti online. Gli agenti impegnati in chiamate o chat attive vengono disconnessi automaticamente al termine delle interazioni correnti. Gli agenti inattivi vengono disconnessi immediatamente. Questo endpoint supporta le disconnessioni forzate di agenti specifici, di interi team o di agenti identificati da indirizzi IP con notazione CIDR, da un elenco di indirizzi IPv4/IPv6 o da intervalli IP. Per un numero elevato di agenti, viene creato un job in background per gestire in modo efficiente la procedura di disconnessione.
Di seguito sono riportati gli endpoint API di forzatura della disconnessione degli agenti:
Forza la disconnessione degli agenti
Questo endpoint consente la disconnessione di agenti specifici. Gli agenti possono essere identificati in base a:
ID agente.
ID team.
Indirizzo IP.
Endpoint:
Method: POST
Type: RAW
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout
Intestazioni:
| Chiave | Valore | Descrizione |
|---|---|---|
| Content-Type | application/json | |
| Accetta | application/json |
Corpo:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
],
"ip_addrs": [
"34.211.11.0/24"
]
}
Esempio di richiesta e risposte
Le seguenti sezioni forniscono esempi di richieste all'endpoint.
Disconnessione degli agenti
Questo esempio mostra come disconnettere agenti specifici in base all'ID agente e all'ID team. In questo caso, gli ID agente sono 11 e 12, mentre l'ID team è 1.
Richiesta
Intestazioni:
| Chiave | Valore | Descrizione |
|---|---|---|
| Content-Type | application/json |
Corpo:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
]
}
Risposta
[
{
"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"
}
]
Codice di stato: 200
Disconnessione degli agenti utilizzando l'indirizzo IP
Questo esempio mostra come disconnettere gli agenti specificando un intervallo di indirizzi IP.
In questo caso, l'intervallo di indirizzi IP fornito è 34.211.11.0/24.
Richiesta
Intestazioni:
| Chiave | Valore | Descrizione |
|---|---|---|
| Content-Type | application/json |
Corpo:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
],
"ip_addrs": [
"34.211.11.0/24"
]
}
Codice di stato: 200
Job di disconnessione degli agenti creato
Questo esempio mostra come richiedere la disconnessione degli agenti e il job risultante che viene creato.
Richiesta
Intestazioni:
| Chiave | Valore | Descrizione |
|---|---|---|
| Content-Type | application/json |
Corpo:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
],
"ip_addrs": [
"34.211.11.0/24"
]
}
Risposta
{
"ip_addrs": [
"34.211.11.0/16"
]
}
Codice di stato: 200
Gli agenti in chiamata o in chat verranno disconnessi in un secondo momento
Questo esempio mostra come gli agenti in chiamata o in chat verranno disconnessi in un secondo momento, al termine della chat o della chiamata.
Richiesta
Intestazioni:
| Chiave | Valore | Descrizione |
|---|---|---|
| Content-Type | application/json |
Corpo:
{
"agent_ids": [
11,
12
],
"team_ids": []
}
Risposta
[
{
"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"
}
]
Codice di stato: 400
Errore: impossibile trovare gli agenti
Questo esempio mostra lo scenario di errore in cui non è stato possibile trovare gli agenti forniti.
Richiesta
Intestazioni:
| Chiave | Valore | Descrizione |
|---|---|---|
| Content-Type | application/json |
Corpo:
{
"ip_addrs": [
"34.211.11.0/24"
]
}
Risposta: Errore : impossibile trovare agenti con i parametri di input
{
"message": "cannot find any agent by input params"
}
Codice di stato: 400
Job di forzatura della disconnessione degli agenti
Questo endpoint consente di ottenere lo stato della richiesta di disconnessione forzata per 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
Intestazioni:
| Chiave | Valore | Descrizione |
|---|---|---|
| id | L'ID job di una richiesta di disconnessione forzata inviata. |
Esempio di richiesta e risposte
Le seguenti sezioni forniscono esempi di richieste all'endpoint.
Completato
Questo esempio mostra come recuperare un job completato correttamente.
Richiesta
Intestazioni:
| Chiave | Valore | Descrizione |
|---|---|---|
| Content-Type | application/json |
Query:
Method: GET
Type:
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout/jobs/105
Risposta
{
"id": 105,
"status": "completed"
}
Codice di stato: 200