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