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