Forçar endpoints de logout do agente

O endpoint "force logout agents" permite fazer logout forçado de agentes on-line. Os agentes envolvidos em chamadas ou chats ativos são desconectados automaticamente quando concluem as interações atuais. Os agentes inativos são desconectados imediatamente. Esse endpoint oferece suporte a encerramentos forçados de agentes específicos, equipes inteiras ou agentes identificados por endereços IP com notação CIDR, uma lista de endereços IPv4/IPv6 ou intervalos de IP. Para um grande número de agentes, um job em segundo plano é criado para gerenciar o processo de logout de maneira eficiente.

Confira abaixo os endpoints da API para forçar o logout do agente:

Forçar agentes a sair

Esse endpoint permite fazer logout de agentes específicos. Os agentes podem ser identificados pelo seguinte:

  • ID do agente.

  • ID da equipe.

  • sem precisar de endereço IP externo.

Endpoint:

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

Cabeçalhos:

Chave Valor Descrição
Content-Type application/json
Aceitar application/json

Corpo:

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

Exemplo de solicitação e respostas

As seções a seguir fornecem exemplos de solicitações ao endpoint.

Encerrar a sessão dos agentes

Este exemplo demonstra como fazer logout de agentes específicos com base no ID do agente e no ID da equipe. Nesse caso, os IDs dos agentes eram 11 e 12, e o ID da equipe era 1.

Solicitação

Cabeçalhos:

Chave Valor Descrição
Content-Type application/json

Corpo:

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

Código de status:200

Agentes desconectados usando o endereço IP

Este exemplo demonstra como fazer logout de agentes especificando um intervalo de endereços IP. Neste caso, o intervalo de endereços IP fornecido é 34.211.11.0/24.

Solicitação

Cabeçalhos:

Chave Valor Descrição
Content-Type application/json

Corpo:

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

Código de status:200

Job de logout do agente criado

Este exemplo demonstra como solicitar o logout do agente e o job resultante que é criado.

Solicitação

Cabeçalhos:

Chave Valor Descrição
Content-Type application/json

Corpo:

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

Código de status:200

Os agentes em chamadas ou chats vão sair depois

Este exemplo demonstra como os agentes que estão em uma chamada ou em um chat serão desconectados mais tarde, após o término do chat ou da chamada.

Solicitação

Cabeçalhos:

Chave Valor Descrição
Content-Type application/json

Corpo:

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

Código de status:400

Erro: não foi possível encontrar agentes

Este exemplo demonstra o cenário de falha em que os agentes fornecidos não puderam ser encontrados.

Solicitação

Cabeçalhos:

Chave Valor Descrição
Content-Type application/json

Corpo:

{
    "ip_addrs": [
        "34.211.11.0/24"
    ]
}
Resposta: erro : não foi possível encontrar nenhum agente com os parâmetros de entrada
{
    "message": "cannot find any agent by input params"
}

Código de status:400

Forçar jobs de logout de agentes

Esse endpoint permite que você receba o status de uma solicitação de logout forçado de um 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

Cabeçalhos:

Chave Valor Descrição
ID O ID de um pedido de encerramento de sessão forçado enviado.

Exemplo de solicitação e respostas

As seções a seguir fornecem exemplos de solicitações ao endpoint.

Concluído com sucesso

Este exemplo demonstra como recuperar um job que foi concluído com sucesso.

Solicitação

Cabeçalhos:

Chave Valor Descrição
Content-Type application/json

Consulta

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

Código de status:200