Forçar endpoints de logout do agente

O endpoint "force logout agents" permite forçar a saída 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 a seguir 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 fazer logout mais tarde

Este exemplo demonstra como os agentes que estão em uma chamada ou em um chat serão desconectados mais tarde, depois que o chat ou a chamada terminar.

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 do agente

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