Points de terminaison de déconnexion forcée de l'agent

Le point de terminaison "Force logout agents" (Forcer la déconnexion des agents) vous permet de déconnecter de force les agents en ligne. Les agents engagés dans des appels ou des chats actifs sont automatiquement déconnectés lorsqu'ils terminent leurs interactions en cours. Les agents inactifs sont déconnectés immédiatement. Ce point de terminaison permet de forcer la déconnexion d'agents spécifiques, d'équipes entières ou d'agents identifiés par des adresses IP avec une notation CIDR, une liste d'adresses IPv4/IPv6 ou des plages d'adresses IP. Pour un grand nombre d'agents, une tâche en arrière-plan est créée pour gérer efficacement le processus de déconnexion.

Voici les points de terminaison de l'API "Force agent logout" (Forcer la déconnexion des agents) :

Force logout agents

Ce point de terminaison permet de déconnecter des agents spécifiques. Les agents peuvent être identifiés par les éléments suivants :

  • ID de l'agent.

  • ID de l'équipe.

  • Adresse IP.

Point de terminaison :

Method: POST
Type: RAW
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout

Titres :

Clé Valeur Description
Content-Type application/json
Accepter application/json

Corps :

{
    "agent_ids": [
        11,
        12
    ],
    "team_ids": [
        1
    ],
    "ip_addrs": [
        "34.211.11.0/24"
    ]
}

Exemples de requêtes et de réponses

Les sections suivantes fournissent des exemples de requêtes au point de terminaison.

Déconnecter les agents

Cet exemple montre comment déconnecter des agents spécifiques en fonction de leur ID et de l'ID de leur équipe. Dans ce cas, il s'agit des ID d'agent 11 et 12, ainsi que de l'ID d'équipe 1.

Requête

Titres :

Clé Valeur Description
Content-Type application/json

Corps :

{
    "agent_ids": [
        11,
        12
    ],
    "team_ids": [
        1
    ]
}
Réponse
[
    {
        "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"
    }
]

Code d'état : 200

Déconnecter les agents à l'aide d'une adresse IP

Cet exemple montre comment déconnecter des agents en spécifiant une plage d'adresses IP. Dans ce cas, la plage d'adresses IP fournie est 34.211.11.0/24.

Requête

Titres :

Clé Valeur Description
Content-Type application/json

Corps :

{
    "agent_ids": [
        11,
        12
    ],
    "team_ids": [
        1
    ],
    "ip_addrs": [
        "34.211.11.0/24"
    ]
}

Code d'état : 200

Tâche de déconnexion de l'agent créée

Cet exemple montre comment demander la déconnexion de l'agent et la tâche résultante qui est créée.

Requête

Titres :

Clé Valeur Description
Content-Type application/json

Corps :

{
    "agent_ids": [
        11,
        12
    ],
    "team_ids": [
        1
    ],
    "ip_addrs": [
        "34.211.11.0/24"
    ]
}
Réponse
{
    "ip_addrs": [
        "34.211.11.0/16"
    ]
}

Code d'état : 200

Les agents en appel ou en chat seront déconnectés ultérieurement

Cet exemple montre comment les agents qui sont en appel ou en chat seront déconnectés ultérieurement, une fois le chat ou l'appel terminé.

Requête

Titres :

Clé Valeur Description
Content-Type application/json

Corps :

{
    "agent_ids": [
        11,
        12
    ],
    "team_ids": []
}
Réponse
[
    {
        "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"
    }
]

Code d'état : 400

Erreur : impossible de trouver les agents

Cet exemple montre le scénario d'échec dans lequel les agents fournis n'ont pas pu être trouvés.

Requête

Titres :

Clé Valeur Description
Content-Type application/json

Corps :

{
    "ip_addrs": [
        "34.211.11.0/24"
    ]
}
Réponse : Erreur : impossible de trouver un agent avec les paramètres d'entrée
{
    "message": "cannot find any agent by input params"
}

Code d'état : 400

Tâches de déconnexion de l'agent

Ce point de terminaison vous permet d'obtenir l'état d'une demande de déconnexion forcée pour un agent.

{
    "identifier": "string",
    "email": "string",
    "name": "string",
    "phone": "string"
}

Point de terminaison :

Method: GET
Type: 
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout/jobs/:id

Titres :

Clé Valeur Description
id ID de tâche d'une demande de déconnexion forcée envoyée.

Exemples de requêtes et de réponses

Les sections suivantes fournissent des exemples de requêtes au point de terminaison.

Tâche exécutée

Cet exemple montre comment récupérer une tâche qui a été exécutée.

Requête

Titres :

Clé Valeur Description
Content-Type application/json

Requête :

Method: GET
Type: 
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout/jobs/105
Réponse
{
    "id": 105,
    "status": "completed"
}

Code d'état : 200