API - Agente
Disponível a partir da versão 6.15.0
Operações básicas para manipulação do agente.
Nos cabeçalhos dos requests, é necessário incluir uma chave "token" cujo valor seja um token de API.
Listar agentes
Endpoint | /api/v1/agents |
---|---|
Method | GET |
Query String
Nome | Valor Padrão | Valor Máximo |
---|---|---|
limit | 50 | 50 |
page | 1 | - |
Exemplo de requisição
curl -X GET \ 'https://example.evolux.net.br/api/v1/agents?page=1&limit=2' \ -H 'Content-Type: application/json' \ -H 'token: <EVOLUX_TOKEN>'
Exemplo de resposta
{ "pagination": { "max_limit": 2, "limit": 2, "first_url": "http://example.evolux.net.br/api/v1/agents/?limit=2&page=1", "next_url": "http://example.evolux.net.br/api/v1/agents/?limit=2&page=2", "items": 2, "last_url": "http://example.evolux.net.br/api/v1/agents/?limit=2&page=31", "total": 62, "current_url": "http://example.evolux.net.br/api/v1/agents/?limit=2&page=1", "prev_url": null }, "meta": { "status": 200, "message": "OK" }, "data": [ { "archived": true, "enable": false, "name": "Agent 1", "queues": [], "current_extension": null, "last_pause": null, "last_login": null, "current_pause": null, "login": "agent1", "current_outbound_queue": null, "id": 53 }, { "archived": true, "enable": false, "name": "Agent 2", "queues": [ 4 ], "current_extension": null, "last_pause": { "max_duration": null, "time_start": "2018-07-07T16:40:11+00:00", "reason_id": 18, "time_end": "2018-07-07T17:06:38+00:00", "reason": { "system": false, "productive": true, "type": "", "id": 18, "description": "Pausa Cadastro" }, "id": 46983 }, "last_login": { "exten": "sip/3012", "time_logoff": "2018-07-07T17:06:38+00:00", "id": 4591, "time_login": "2018-07-07T12:27:42+00:00" }, "current_pause": null, "login": "agent.2", "current_outbound_queue": null, "id": 40 } ] }
Criar um agente
Endpoint | /api/v1/agents |
---|---|
Method | POST |
Corpo do JSON
Campo | Descrição |
---|---|
name | Nome do agente |
login | Login do agente |
password | Senha do agente |
queues | Lista de ids de filas que o agente atende |
Exemplo de requisição
curl --X POST \ https://example.evolux.net.br/api/v1/agents \ -H 'Content-Type: application/json' \ -H 'token: <EVOLUX_TOKEN>' \ -d '{"name": "Agent 1", "login": "agent.1", "password": "agent_pass", "queues": [1, 3]}'
Exemplos de resposta
{ "meta": { "status": 201, "message": "Created" }, "data": { "archived": false, "enable": true, "name": "Agent 1", "queues": [ 1, 3 ], "current_extension": null, "last_pause": null, "last_login": null, "current_pause": null, "login": "agent.1", "current_outbound_queue": null, "id": 1 } }
{ "meta": { "status": 400, "message": "Bad request" }, "errors": [ "Agent not created, queues list must contains only integer ids." ] }
{ "meta": { "status": 400, "message": "Bad request" }, "errors": [ "Agente não foi criado, esse login já está sendo usado." ] }
Editar um agente
Endpoint | /api/v1/agents/{agent_id} |
---|---|
Method | PUT |
Corpo do JSON (Todos os campos são opcionais)
Campo | Descrição |
---|---|
name | Nome do agente |
password | Senha do agente |
queues | Lista de ids de filas que o agente atende |
levels | Lista de objetos que contém as propriedades "queue_id" e "priority" |
O campo levels está disponível a partir da versão 6.32.0
Exemplo de requisição
curl --X PUT \ https://example.evolux.net.br/api/v1/agents/1 \ -H 'Content-Type: application/json' \ -H 'token: <EVOLUX_TOKEN>' \ -d '{"levels": [{"queue_id": 1, "priority": 3}]}'
Exemplos de resposta
{ "meta": { "status": 200, "message": "OK" } }
{ "meta": { "status": 400, "message": { "password": "password must not be empty or contain only spaces" } }, "errors": [ "password": "password must not be empty or contain only spaces" ] }
Listar pausas do agente
Endpoint | /api/v1/agents/{agent_id}/pauses |
---|---|
Method | GET |
Query String
Nome | Valor Padrão | Valor Máximo |
---|---|---|
limit | 50 | 50 |
page | 1 | - |
Exemplo de requisição
curl -X POST \ https://example.evolux.net.br/api/v1/agents/1/pauses?page=1&limit=2 \ -H 'Content-Type: application/json' \ -H 'token: <EVOLUX_TOKEN>'
Exemplo de respostas
{ "pagination": { "max_limit": 50, "limit": 50, "first_url": "https://example.evolux.net.br/api/v1/agents/1/pauses?page=1", "next_url": null, "items": 2, "last_url": "https://example.evolux.net.br/api/v1/agents/1/pauses?page=1", "total": 2, "current_url": "https://example.evolux.net.br/api/v1/agents/1/pauses?page=1", "prev_url": null }, "meta": { "status": 200, "message": "OK" }, "data": [ { "pause": { "system": false, "productive": true, "type": "nr17rest10", "id": 49, "description": "10 minutos/NR17" }, "automatic_unpause": false, "queue_id": 13, "disable_unpause": false, "limit_duration": 5, "id": 3 }, { "pause": { "system": false, "productive": true, "type": null, "id": 50, "description": "Almoço" }, "automatic_unpause": false, "queue_id": 20, "disable_unpause": false, "limit_duration": 3600, "id": 4 } ] }
Pausar um agente
Endpoint | /api/v1/agents/{agent_id}/pause |
---|---|
Method | POST |
Corpo do JSON
Campo | Descrição |
---|---|
pause_id | ID da pausa |
Exemplo de requisição
curl -X POST \ https://example.evolux.net.br/api/v1/agents/1/pause \ -H 'Content-Type: application/json' \ -H 'token: <EVOLUX_TOKEN>' \ -d '{"pause_id": 49}'
Exemplos de resposta
{ "meta": { "status": 200, "message": "OK" } }
{ "meta": { "status": 404, "message": "Agent not found" } }
{ "meta": { "status": 422, "message": "Agent already paused" }, "errors": [ "Request well-formed but has a semantic impossibility." ] }
Despausar um agente
Endpoint | /api/v1/agents/{agent_id}/unpause |
---|---|
Method | POST |
Exemplo de requisição
curl -X POST \ https://example.evolux.net.br/api/v1/agents/1/unpause \ -H 'token: <EVOLUX_TOKEN>'
Exemplos de resposta
{ "meta": { "status": 200, "message": "OK" } }
{ "meta": { "status": 422, "message": "Agent is unpaused" }, "errors": [ "Request well-formed but has a semantic impossibility." ] }
Deslogar um agente
Endpoint | /api/v1/agents/{agent_id}/logoff |
---|---|
Method | POST |
Exemplo de requisição
curl -X POST \ https://example.evolux.net.br/api/v1/agents/1/logoff \ -H 'token: <EVOLUX_TOKEN>'
Exemplos de resposta
{ "meta": { "status": 200, "message": "OK" } }
{ "meta": { "status": 400, "message": "Agent is not logged" } }
{ "meta": { "status": 400, "message": "Não é possível sair enquanto está em uma chamada." } }