Forza gli endpoint di disconnessione dell'agente

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