Forza gli endpoint di disconnessione dell'agente

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