L'endpoint degli agenti di disconnessione forzata ti consente di disconnettere forzatamente gli agenti online. Gli agenti impegnati in chiamate o chat attive vengono disconnessi automaticamente al termine delle interazioni in corso. Gli agenti inattivi vengono disconnessi immediatamente. Questo endpoint supporta la disconnessione forzata di agenti specifici, interi team o agenti identificati da indirizzi IP con notazione CIDR, un elenco di indirizzi IPv4/IPv6 o intervalli IP. Per un numero elevato di agenti, viene creato un job in background per gestire la procedura di disconnessione in modo efficiente.
Di seguito sono riportati gli endpoint API per la disconnessione forzata dell'agente:
Forza disconnessione degli agenti
Questo endpoint consente la disconnessione di agenti specifici. Gli agenti possono essere identificati in base a quanto segue:
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 sezioni seguenti forniscono richieste di esempio all'endpoint.
Disconnettere gli agenti correttamente
Questo esempio mostra come disconnettere agenti specifici in base all'ID agente e all'ID team. In questo caso, gli ID agente erano 11 e 12, mentre l'ID team era 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 tramite indirizzo IP riuscita
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 dell'agente creato
Questo esempio mostra come richiedere le disconnessioni 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 che partecipano a una chiamata o a una chat si disconnetteranno in un secondo momento
Questo esempio mostra come gli agenti che sono in una chiamata o in una chat verranno disconnessi in un secondo momento, dopo la fine 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 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 disconnessione forzata dell'agente
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 sezioni seguenti forniscono richieste di esempio 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