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

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

Voici les points de terminaison de l'API de déconnexion forcée de l'agent :

Forcer la déconnexion des 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 d'équipe.

  • avec une adresse IP externe.

Point de terminaison :

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

En-têtes

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"
    ]
}

Exemple de requête 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 celui de leur équipe. Dans ce cas, il s'agissait des ID d'agent 11 et 12, ainsi que de l'ID d'équipe 1.

Requête

En-têtes

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éconnexion des agents à l'aide de l'adresse IP réussie

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

En-têtes

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 des agents et le job créé.

Requête

En-têtes

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 cours d'appel ou de discussion se déconnecteront plus tard

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

Requête

En-têtes

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 illustre le scénario d'échec dans lequel les agents fournis n'ont pas pu être trouvés.

Requête

En-têtes

Clé Valeur Description
Content-Type application/json

Corps :

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

Code d'état : 400

Forcer la déconnexion des agents

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

En-têtes

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

Exemple de requête 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 un job qui a été effectué avec succès.

Requête

En-têtes

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