Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

You can test API methods on the interactive API browser page and without writing code
Some of the resources described on the page may not be available by default due to the type of application (see Creating and authorizing applications).

Queue configuration

Internal numbers of the queue type are used to implement the functionality of the call center. To configure a new queue is needed to create an extension number, specifying it as the type (parameter type) value queue. After that, it becomes possible to configure the queue and queue agents through the API-interface queue.

Queue agent events (login/logout) are tracked using the resource Queue Agent Events.

The sound files required to configure the queue are uploaded using the resource Sound Files.

Table of Contents

Description of Data Structures

All available agents are called simultaneously
Expand
titleExpand
Expand
titleDescription of the queue strategies

The following parameters can be configured for the queue:

Strategy

Description

ring-all

Parameter

Type

Mandatory

Default value

Description

agent_announce_sound

long

no

0

Sound that will be played to the queue agent when answering to the caller

agent_hangup_action

string

no

 

Can be either 'transfer' or 'quality_rate'

agent_hangup_transfer_dst

string

no

 

After the end of the conversation, if the agent hangs up first, the call will be forwarded to the number specified in agent_hangup_transfer_dst. Only works when agent_hangup_action = 'transfer'

agent_report_wait_time

boolean

no

true

Queue agent when answering the caller, will be told the response time in seconds for the answer by the caller

announce_frequency

long

no

0

The sound frequency announce_sound in seconds

announce_sound

long

no

0

The sound played at a specified time interval at the time the caller is waiting for an answer. The playback frequency is set by the parameter announce_frequency

append_to_cid_name_on_transfer

string

no

 

When forwarding to the name of the caller, a forwarding flag from this queue will be added

exit_key

string

no

 

The button, when pressed exits the queue. Can be a digital button, as well as buttons * and #

exit_transfer_dst

string

no

 

If the caller pressed the button from exit_key, he will be forwarded to this number

exit_with_no_av_agents

boolean

no

true

If this parameter is active, the call will not be queued if there are no agents in the queue

max_wait_time

long

no

0

The maximum time the caller waits in the queue are in seconds. After this time, the queue is exited

max_wait_time_with_no_agent

long

no

0

The maximum time the caller waits in the queue are in seconds. After this time, if there is no available agent in the queue, the queue is exited

no_agent_timeout_transfer_dst

string

no

 

If the caller left after expires max_wait_time_with_no_agent, he will be forwarded to this number

position_announce_frequency

long

no

0

The frequency of announcement of the caller position in the queue in relation to others waiting for an answer. Not used, unless specified, cannot be less than 1 second

quality_rate_finish_sound

long

no

0

The sound that will be played after the selected rating. Works only if agent_hangup_action = 'quality_rate'

quality_rate_max

long

no

0

The maximum rating that can be specified. Works only if agent_hangup_action= 'quality_rate'

quality_rate_sound

long

no

0

If the queue agent hangs up first after the end of the conversation, a sound will be played to the caller, followed by waiting for the evaluation. Works only if agent_hangup_action= 'quality_rate'

record_enabled

boolean

no

true

Enables the conversation recording in the queue

skip_busy_agents

boolean

no

true

The queue will try not to call agents engaged in a conversation not from this queue

sound

long

no

0

The main sound that will be heard by callers in the queue. Needs to specify id of the resource sound

sound_type

string

no

music

The main type of the sound can be set to music or ring. If set to ring then the caller hears normal beeps, while the passed parameter sound is ignored, and the already set sound is reset to null. If the parameter is set to music then the sound specified in the sound parameter will be played

start_sound

long

no

0

The sound played to the caller when he is queued. Played until the agents are called

strategy

string

no

"round-robin"

The strategy for calling queue agents. For details, see Queue Strategies

tier_rule_wait_multiply_level

boolean

no

true

If the parameter is set to true, the time tier_rule_wait_second is multiplied by the agent level

tier_rule_wait_second

long

no

0

Time in seconds from the start of a call to the queue, after which the next level agents are called. If the parameter tier_rule_wait_multiply_levelis isset to true then the specified time is multiplied by the agent level in the queue. If the parameter tier_rule_wait_multiply_level isset to false, then after the time indicated agents at all levels above the minimum are available for the call in accordance with the line strategy

tier_rules_apply

boolean

no

true

Whether the use of parameters are required tier_rule_wait_second and tier_rule_wait_multiply_level

timeout_transfer_dst

string

no

 

If the caller left after the max_wait_time, he will be forwarded to this number

try_same_agent_time

long

no

0

The system will try to connect a specific caller with a specific queue agent, if this agent has already answered to this caller before. If the connection fails or the caller has not communicated with anyone before, the call will follow the dialing queue strategy. The value is in seconds from 1 to 2592000

vm_attach_file

boolean

no

true

In addition to the notification of the incoming voicemail, the voicemail recording itself will be sent

vm_enabled

boolean

no

true

Enable/disable the voicemail in the queue

vm_greeting

long

no

0

Звук, который будет проигран перед включением голосовой почты

The sound that will be played before the voicemail is started

vm_mailto

string

no

 

The mailbox address to which the voicemail notification will be sent

Queue Strategies

At any strategy the agents with the lowest level are called first. If the agents of the current call level are busy or are in a state of temporary unavailability, for example, after no answer or rejection of the previous call (see the agent configuration), then agents of the next level are called. If the parameter tier_rules_apply valueis true, the next-level agents start to be called after the time specified by the parameter tier_rule_wait_second, the report begins when the current level agents start calling. If the parameter tier_rule_wait_multiply_level value is true, then the time tier_rule_wait_second is multiplied by the agent level.

disable_answer

boolean

no

false

By default, the queue answers a call. In case disable_answer=true the queue will just ring with early media. In that case maximum time a call can be held in a queue while waiting for an agent answer is 5 minutes

hide_in_caller_id_number

string

no

null

Hiding caller_id_number for incoming calls to agents

hide_in_caller_id_name

string

no

null

Hiding caller_id_name for incoming calls to agents

Queue Strategies

At any strategy the agents with the lowest level are called first. If the agents of the current call level are busy or are in a state of temporary unavailability, for example, after no answer or rejection of the previous call (see the agent configuration), then agents of the next level are called. If the parameter tier_rules_apply valueis true, the

agents with the lowest level are called first then

next-level agents start to be called after the time specified by the parameter tier_rule_wait_second, the report begins when the

next level agents are called and so on

longest-idle-agent

The agent is called with the longest waiting time since the

current level agents start calling. If the parameter tier_rule_wait_multiply_level value is true, then the time tier_rule_wait_second is multiplied by the agent level.

Expand
titleDescription of the queue strategies

Strategy

Description

ring-all

All available agents are called simultaneously. If the parameter tier_rules_apply is true, the agents with the lowest level are called first then after the time specified by the parameter tier_rule_wait_second, thenext level agents are called and so on

longest-idle-agent

The agent is called with the longest waiting time since the last call

round-robin

Agents are called according to their position (the position parameter when adding the agent to the queue)

top-down

Agents are called in the positions order starting from the first

agent-with-least-talk-time

The agent with the least talk time is called

agent-with-fewest-calls

The agent with the fewest calls is dialed

sequentially-by-agent-order

Agents are called sequentially in such order of their levels and positions. The agent with the lowest level and position is always called first.

random

Agents are called in a random order

Queue Agents

The queue agents can be of two types: local, when the agent is an extension number of the telephone terminal type, and remote, when the specified external number is the queue agent. Both types of agents have the following configurable parameters: 

Expand
titleParameters of the queue agents

Parameter

Type

Mandatory

Default value

Description

busy_delay_time

long

no

0

If the agent was busy

when trying to call,

at a call attempt then no calls will be sent to it, during the time specified in this parameter in seconds

call_timeout 

long

no

0

Time in seconds during which

theagent

the agent is called

extra_

paramscalled

params 

string

no

 

additional

Additional parameters

name

string

No

no

 

Queue agent name

no_answer_delay_time

long

no

0

If the agent did not answer the call, no calls will be sent to it during the time in seconds specified in this parameter

in seconds

number

string

no

 

Queue agent number

reject_delay_time

long

no

0

Time in seconds since the agent's last rejection of the call, during which no calls will be sent to it

status

object

no

 

Agent

The agent status. Accepts one of the values: "logged_out", "available".In

thestatus

the status available theagent is available for calls, in

thestatus

the status logged_outno calls to the agent are not sent

wrap_up_time

long

no

0

Time in seconds since the last conversation of the agent during which no calls will be sent to it

him

agent_sound_id

long

no

0

Sound

Звук, проигрываемый вызывающему абоненту и агенту очереди при ответе этим агентом

The sound played to the caller and the queue agent when

answering

answered by

this

that agent

 

Expand
titleParameters of the queue agents

Parameter

Type

Mandatory

Queue agent management

In order for an agent to receive calls from a queue, the agent must be added there. Adding the agent to the queue, removing it from there, as well as changing its level and position in the queue are carried out through the resources "local agent in the queue"and "external agent in the queue" for local and external agents, respectively.

When adding a local agent to the queue, the following parameters can be configured:

Parameter

Type

Mandatory

Default value

Description

busy

agent_

delay_time

id

long

нетcall_timeout 

yes

0

Если агент при попытке вызова был занят, то в течение указанного в этом параметре времени в секундах ему не будут направляться вызовы

Identifier of the local agent

level 

long

нет

no

0

Время в секундах, в течение которого осуществляется вызов агента

extra_params 

string

нет

 

Дополнительные параметры

name

string

нет

 

Имя агента очереди

no_answer_delay_time

long

нет

0

Если агент не ответил на вызов, то в течение указанного в этом параметре времени в секундах ему не будут направляться вызовы

number

string

нет

 

Номер агента очереди

reject_delay_time

long

нет

0

Время в секундах с момента последнего отклонения вызова агентом, в течение которого ему не будут направляться вызовы

status

object

нет

 

Статус агента. Принимает одно из значений: "logged_out", "available". В статусе available агент доступен для вызовов, в статусе logged_out вызовы агенту не направляются

wrap_up_time

long

нет

0

Время в секундах с момента последнего разговора агента, в течение которого ему не будут направляться вызовы

agent_sound_id

long

нет

0

Звук, проигрываемый вызывающему абоненту и агенту очереди при ответе этим агентом

 

Управление агентом в очереди

Для того, чтобы агент мог принимать вызовы из очереди, он должен быть туда добавлен. Добавление агента в очередь, его удаление оттуда, а также изменение его уровня и позиции в очереди осуществляются через ресурсы "локальный агент в очереди" и "внешний агент в очереди" для локальных и внешних агентов соответственно.

При добавлении локального агента в очередь возможно настроить следующие параметры:

Параметр

Тип

Обязательный

Значение по умолчанию

Описание

agent_id

long

да

0

Идентификатор локального агента

level 

long

нет

0

Уровень агента в очереди

position

long

нет

0

Позиция агента в очереди

При добавлении внешнего агента в очередь возможно настроить следующие параметры:

Параметр

Тип

Обязательный

Значение по умолчанию

Описание

agent_id

long

да

0

Идентификатор внешнего агента

level 

long

нет

0

Уровень агента в очереди

position

long

нет

0

Позиция агента в очереди

Значение счетчика звонящих в очереди (формируется на основании событий dial-in и hangup) можно получить с помощью ресурса
GET /extension/{extension_id}/queue/status/
Данный ресурс возвращает ответы вида:

Code Block
{
  "answered_members": 0,
  "trying_members": 0,
  "waiting_members": 0
}

где параметр trying_members – это количество звонящих и ожидающих ответа агентов очереди.
Т.к. количество запросов лимитировано, рекомендуется запрашивать количество звонящих в очереди именно по событиям очереди, можно добавить события answer самих внутренних номеров (агентов очереди).

Примеры

В качестве примера создадим внутренний номер типа "очередь", настроим его, создадим локальных и внешних агентов и добавим их в очередь.

  1. Используя ресурс "

Внутренний номер", создадим внутренний номер типа "queue":

Ответ системы:

Code Block
{
  "status": "active",
  "domain": "sip.ringme.ru", 
  "create_date": "2020-03-16 12:11:13", 
  "name": "000*370", 
  "dial_rule_limit": null, 
  "extension_group_id": null, 
  "label": "тестовая очередь", 
  "caller_id_name": null, 
  "client_id": 12,
  "extra_params": null, 
  "message_did": null, 
  "dial_rule_id": null, 
  "ani_rfc3325": false, 
  "type": "queue", 
  "id": 208, 
  "did_as_transfer_caller_id": null
}
  1. Настроим очередь следующим образом:

  • Главным звуком очереди должен являться звук с идентификатором 36;

  • Звуком анонса звук с идентификатором 35;

  • Анонс должен проигрываться через каждые 15 секунд;

  • Максимальное время ожидания в очереди – 1800 секунд;

  • Если было превышено максимальное время ожидания, переадресовывать вызывающего абонента на номер 333;

  • Стратегия обзвона агентов очереди – "Звонить всем";

  • Запись разговоров в очереди включена;

  • Агенты вышестоящего уровня должны начинать вызываться, если агенты нижестоящего уровня не отвечают в течение 15 секунд.

Expand
titleОтвет системы:
Code Block
{
  "announce_sound": 35,
  "start_sound": "null",
  "agent_hangup_transfer_dst": null,
  "append_to_cid_name_on_transfer": null,
  "agent_announce_sound": null,
  "position_announce_frequency": 30,
  "agent_hangup_action": null,
  "tier_rule_wait_multiply_level": false,
  "vm_mailto": null,
  "no_agent_timeout_transfer_dst": "0005*103",
  "agent_report_wait_time": false,
  "vm_enabled": false,
  "quality_rate_sound": null,
  "strategy": "ring-all",
  "try_same_agent_time": 259200,
  "record_enabled": true,
  "vm_attach_file": true,
  "skip_busy_agents": true,
  "sound_type": "music",
  "tier_rules_apply": true,
  "vm_greeting": null,
  "quality_rate_finish_sound": null,
  "announce_frequency": 15,
  "exit_transfer_dst": null,
  "tier_rule_wait_second": 5,
  "sound": 36,
  "exit_with_no_av_agents": true,
  "quality_rate_max": null,
  "timeout_transfer_dst": "333",
  "max_wait_time": 1800,
  "exit_key": null,
  "max_wait_time_with_no_agent": null
}
  1. Создадим локального агента очереди:

Ответ системы:

Code Block
{
  "status": "available",
  "name": null,
  "busy_delay_time": 10,
  "no_answer_delay_time": 10,
  "call_timeout": 30,
  "wrap_up_time": 0,
  "extension_id": 117,
  "reject_delay_time": 10,
  "extra_params": null,
  "id": 1
}
  1. Создадим внешнего агента очереди:

Ответ системы:

Code Block
{
  "busy_delay_time": 10,
  "call_timeout": 30,
  "extra_params": "string",
  "id": 9,
  "name": "string",
  "no_answer_delay_time": 10,
  "number": "89876543210",
  "reject_delay_time": 10,
  "status": "available",
  "wrap_up_time": 0
}
  1. Добавим локального агента в очередь с первой позицией и первым уровнем:

Ответ системы:

Code Block
{
  "position": 1,
  "agent_id": 1,
  "level": 1
}
  1. Добавим внешнего агента в очередь с первой позицией и вторым уровнем:

Ответ системы:

Code Block

Agent level in queue

position

long

no

0

Agent position in the queue

When adding an external agent to the queue, the following parameters can be configured:

Parameter

Type

Mandatory

Default value

Description

agent_id

long

yes

0

Identifier of the external agent

level 

long

no

0

Agent level in queue

position

long

no

0

Agent position in the queue

The value of the counter of callers in the queue (generated based on dial-in and hangup events) can be obtained using the resource
GET /extension/{extension_id}/queue/status/

This resource returns the responses in the form:

Code Block
languagejson
{
  "answered_members": 0,
  "trying_members": 0,
  "waiting_members": 0
}

where the parameter trying_members is the number of callers and waiting the queue agents' response. Because the number of requests is limited, it is recommended to request the number of callers in the queue exactly by the queue events. Is possible to add events answer of the extension numbers themselves (the queue agents).

List of callers in the queue

GET /extension/{extension_id}/queue/status/members/

This resource returns the responses in the form:

Code Block
languagejson
{
  "call_api_id": "string",
  "joined_datetime": "string",
  "number": "string",
  "serving_agent": "string",
  "state": "string",
  "wait_time": 0
}

Through the call_api_id parameter, you can transfer or delete a call using Current Calls (/current_calls/)

Examples

As an example, let's create an internal number of the "queue" type, configure it, create local and external agents and add them to the queue.

1. Using the "resource Extension number", create an internal number of the "queue" type:

Tabs
[{"content":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"In the "},{"type":"text","text":"authentication ","marks":[{"type":"strong"}]},{"type":"text","text":"section enter the "},{"type":"text","text":"Application_ID","marks":[{"type":"strong"}]},{"type":"text","text":" and "},{"type":"text","text":"Application_Secret","marks":[{"type":"strong"}]},{"type":"text","text":" values obtained during the application registration in the "},{"type":"text","text":"client_id ","marks":[{"type":"strong"}]},{"type":"text","text":"and "},{"type":"text","text":"client_secret","marks":[{"type":"strong"}]},{"type":"text","text":" fields, then click on the \""},{"type":"text","text":"Try it out!","marks":[{"type":"strong"}]},{"type":"text","text":"\" button. If the application data is correct, an access token ("},{"type":"text","text":"access_token","marks":[{"type":"strong"}]},{"type":"text","text":") will be returned in response. The received access token should be entered into the \""},{"type":"text","text":"Access Token Field","marks":[{"type":"strong"}]},{"type":"text","text":"\" at the top of the page and saved by clicking the \""},{"type":"text","text":"Set Token","marks":[{"type":"strong"}]},{"type":"text","text":"\" button."}]},{"type":"table","attrs":{"isNumberColumnEnabled":false,"layout":"default"},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Method","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Resource","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Data","marks":[{"type":"strong"}]}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"POST"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"/client/@me/extension/"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"{"},{"type":"hardBreak"},{"type":"text","text":"\"status\": \"active\","},{"type":"hardBreak"},{"type":"text","text":"\"name\": \"370\","},{"type":"hardBreak"},{"type":"text","text":"\"label\": \"test queue\","},{"type":"hardBreak"},{"type":"text","text":"\"type\": \"queue\""},{"type":"hardBreak"},{"type":"text","text":"}"}]}]}]}]},{"type":"paragraph","content":[]}]},"id":"05990ccf-3682-45b7-9af4-53738715673b","label":"Interactive API Browser","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"To send requests using the cURL program, set the values of the "},{"type":"text","text":"url ","marks":[{"type":"strong"}]},{"type":"text","text":"and "},{"type":"text","text":"access_token","marks":[{"type":"strong"}]},{"type":"text","text":" variables:"}]},{"type":"paragraph","content":[{"type":"text","text":"export url=\"https://<hostname>/api/ver1.0\"","marks":[{"type":"code"}]},{"type":"text","text":" "},{"type":"hardBreak"},{"type":"text","text":"(where the hostname — is the hostname of the API-server provider of IP-telephony),"}]},{"type":"paragraph","content":[{"type":"text","text":"export access_token=\"8SNsrS0jV35vfmKqKeKtRrHfpbg4UX\"","marks":[{"type":"code"}]},{"type":"text","text":" "},{"type":"hardBreak"},{"type":"text","text":"(the received access token)."}]},{"type":"paragraph","content":[{"type":"text","text":"Send a request:"}]},{"type":"codeBlock","attrs":{"language":"shell"},"content":[{"type":"text","text":"curl \\\n-H \"Authorization: Bearer ${access_token}\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"status\": \"active\",\n  \"name\": \"370\",\n  \"label\": \"test queue\",\n  \"type\": \"queue\"\n}' \\\n-X POST ${url}/client/@me/extension/"}]}]},"id":"9cea3dfd-9b7d-4595-8832-d57c8828065a","label":"cURL Program","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"To send requests in Python, set the values of the variables URL and ACCESS_TOKEN:"}]},{"type":"paragraph","content":[{"type":"text","text":"URL = \"https://<hostname>/api/ver1.0\"","marks":[{"type":"code"}]},{"type":"hardBreak"},{"type":"text","text":"(where the hostname — is the hostname of the API-server provider of IP-telephony),"}]},{"type":"paragraph","content":[{"type":"text","text":"ACCESS_TOKEN = \"8SNsrS0jV35vfmKqKeKtRrHfpbg4UX\"","marks":[{"type":"code"}]},{"type":"hardBreak"},{"type":"text","text":"(the received access token)."}]},{"type":"codeBlock","attrs":{"language":"python"},"content":[{"type":"text","text":"#!/usr/bin/python\n\nimport requests\n\nurl = f\"{URL}/client/@me/extension/\"\nheaders = {\n    'Authorization': f'Bearer {ACCESS_TOKEN}',\n    'Content-Type': 'application/json'\n}\ndata = '''{\n    \"status\": \"active\",\n    \"name\": \"370\",\n    \"label\": \"test queue\",\n    \"type\": \"queue\"\n}'''\nresponse = requests.post(url, headers=headers, data=data)\nprint(response.text)"}]}]},"id":"ad445d19-f68f-49b4-8af5-5a82064683c1","label":"In Python3","type":"tab"}]

System response:

Code Block
languagejson
{
  "status": "active",
  "domain": "sip.ringme.ru", 
  "create_date": "2020-03-16 12:11:13", 
  "name": "000*370", 
  "dial_rule_limit": null, 
  "extension_group_id": null, 
  "label": "test queue", 
  "caller_id_name": null, 
  "client_id": 12,
  "extra_params": null, 
  "message_did": null, 
  "dial_rule_id": null, 
  "ani_rfc3325": false, 
  "type": "queue", 
  "id": 208, 
  "did_as_transfer_caller_id": null
}

2. Set up the queue as follows:

  • The main sound of the queue should be the sound with the ID 36;

  • The sound of the announcement is the sound with the identifier 35;

  • The announcement should be played every 15 seconds;

  • The maximum waiting time in the queue is 1800 seconds;

  • If the maximum waiting time has been exceeded forward the caller to the number 333;

  • Calling strategy of the queue agents - "Call everyone";

  • Recording of conversations in the queue is enabled;

  • Higher-level agents should start to be dialed if the lower-level agents do not respond within 15 seconds.

Tabs
[{"content":{"version":1,"type":"doc","content":[{"type":"table","attrs":{"isNumberColumnEnabled":false,"layout":"default"},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Method","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Resource","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Data","marks":[{"type":"strong"}]}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"PUT"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"/extension/208/queue/"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"{"},{"type":"hardBreak"},{"type":"text","text":"\"announce_frequency\": 15,"},{"type":"hardBreak"},{"type":"text","text":"\"announce_sound\": 35,"},{"type":"hardBreak"},{"type":"text","text":"\"max_wait_time\": 1800,"},{"type":"hardBreak"},{"type":"text","text":"\"record_enabled\": true,"},{"type":"hardBreak"},{"type":"text","text":"\"sound\": 36,"},{"type":"hardBreak"},{"type":"text","text":"\"sound_type\": \"music\","},{"type":"hardBreak"},{"type":"text","text":"\"strategy\": \"ring-all\","},{"type":"hardBreak"},{"type":"text","text":"\"timeout_transfer_dst\": \"333\","},{"type":"hardBreak"},{"type":"text","text":"\"tier_rules_apply\": true,"},{"type":"hardBreak"},{"type":"text","text":"\"tier_rule_wait_second\": 5"},{"type":"hardBreak"},{"type":"text","text":"}"}]}]}]}]},{"type":"paragraph","content":[]}]},"id":"cfa34061-5173-4266-8553-826b99872427","label":"Interactive API Browser","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"shell"},"content":[{"type":"text","text":"curl \\\n-H \"Authorization: Bearer ${access_token}\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"announce_frequency\": 15,\n  \"announce_sound\": 35,\n  \"max_wait_time\": 1800,\n  \"record_enabled\": true,\n  \"sound\": 36,\n  \"sound_type\": \"music\",\n  \"strategy\": \"ring-all\",\n  \"timeout_transfer_dst\": \"333\",\n  \"tier_rules_apply\": true,\n  \"tier_rule_wait_second\": 5\n}' \\\n-X PUT ${url}/extension/208/queue/"}]}]},"id":"d699e743-0596-49b7-a55c-21ed3c0d41b1","label":"cURL Program","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"python"},"content":[{"type":"text","text":"#!/usr/bin/python\n\nimport requests\n\nurl = f\"{URL}/extension/208/queue/\"\nheaders = {\n    'Authorization': f'Bearer {ACCESS_TOKEN}',\n    'Content-Type': 'application/json'\n}\ndata = '''{\n    \"announce_frequency\": 15,\n    \"announce_sound\": 35,\n    \"max_wait_time\": 1800,\n    \"record_enabled\": true,\n    \"sound\": 36,\n    \"sound_type\": \"music\",\n    \"strategy\": \"ring-all\",\n    \"timeout_transfer_dst\": \"333\",\n    \"tier_rules_apply\": true,\n    \"tier_rule_wait_second\": 5\n}'''\nresponse = requests.put(url, headers=headers, data=data)\nprint(response.text)"}]}]},"id":"6c5ca2f5-3eb1-43e9-9601-d2ea90f74621","label":"In Python3","type":"tab"}]
Expand
titleSystem response:
Code Block
languagejson
{
  "announce_sound": 35,
  "start_sound": "null",
  "agent_hangup_transfer_dst": null,
  "append_to_cid_name_on_transfer": null,
  "agent_announce_sound": null,
  "position_announce_frequency": 30,
  "agent_hangup_action": null,
  "tier_rule_wait_multiply_level": false,
  "vm_mailto": null,
  "no_agent_timeout_transfer_dst": "0005*103",
  "agent_report_wait_time": false,
  "vm_enabled": false,
  "quality_rate_sound": null,
  "strategy": "ring-all",
  "try_same_agent_time": 259200,
  "record_enabled": true,
  "vm_attach_file": true,
  "skip_busy_agents": true,
  "sound_type": "music",
  "tier_rules_apply": true,
  "vm_greeting": null,
  "quality_rate_finish_sound": null,
  "announce_frequency": 15,
  "exit_transfer_dst": null,
  "tier_rule_wait_second": 5,
  "sound": 36,
  "exit_with_no_av_agents": true,
  "quality_rate_max": null,
  "timeout_transfer_dst": "333",
  "max_wait_time": 1800,
  "exit_key": null,
  "max_wait_time_with_no_agent": null
}

3. Create a local queue agent:

Tabs
[{"content":{"version":1,"type":"doc","content":[{"type":"table","attrs":{"isNumberColumnEnabled":false,"layout":"default"},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Method","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Resource","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Data","marks":[{"type":"strong"}]}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"POST"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"/client/@me/agent/local/"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"{"},{"type":"hardBreak"},{"type":"text","text":"\"busy_delay_time\": 10,"},{"type":"hardBreak"},{"type":"text","text":"\"call_timeout\": 30,"},{"type":"hardBreak"},{"type":"text","text":"\"extension_id\": 117,"},{"type":"hardBreak"},{"type":"text","text":"\"no_answer_delay_time\": 10,"},{"type":"hardBreak"},{"type":"text","text":"\"reject_delay_time\": 10,"},{"type":"hardBreak"},{"type":"text","text":"\"status\": \"available\","},{"type":"hardBreak"},{"type":"text","text":"\"wrap_up_time\": 0"},{"type":"hardBreak"},{"type":"text","text":"}"}]}]}]}]},{"type":"paragraph","content":[]}]},"id":"b415ac14-64b6-4bcc-bf50-643675a5f497","label":"Interactive API Browser","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"shell"},"content":[{"type":"text","text":"curl \\\n-H \"Authorization: Bearer ${access_token}\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"busy_delay_time\": 10,\n  \"call_timeout\": 30,\n  \"extension_id\": 117,\n  \"no_answer_delay_time\": 10,\n  \"reject_delay_time\": 10,\n  \"status\": \"available\",\n  \"wrap_up_time\": 0\n}' \\\n-X POST ${url}/client/@me/agent/local/"}]}]},"id":"5c948ba1-1d15-4867-951d-60aac7e90488","label":"cURL Program","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"python"},"content":[{"type":"text","text":"#!/usr/bin/python\n\nimport requests\n\nurl = f\"{URL}/client/@me/agent/local/\"\nheaders = {\n    'Authorization': f'Bearer {ACCESS_TOKEN}',\n    'Content-Type': 'application/json'\n}\ndata = '''{\n    \"busy_delay_time\": 10,\n    \"call_timeout\": 30,\n    \"extension_id\": 117,\n    \"no_answer_delay_time\": 10,\n    \"reject_delay_time\": 10,\n    \"status\": \"available\",\n    \"wrap_up_time\": 0\n}'''\nresponse = requests.post(url, headers=headers, data=data)\nprint(response.text)"}]}]},"id":"1b2903ee-b1c4-4910-887b-fe89ea12f48e","label":"In Python3","type":"tab"}]

System response:

Code Block
languagejson
{
  "status": "available",
  "name": null,
  "busy_delay_time": 10,
  "no_answer_delay_time": 10,
  "call_timeout": 30,
  "wrap_up_time": 0,
  "extension_id": 117,
  "reject_delay_time": 10,
  "extra_params": null,
  "id": 1
}

4. Create an external queue agent:

Tabs
[{"content":{"version":1,"type":"doc","content":[{"type":"table","attrs":{"isNumberColumnEnabled":false,"layout":"default"},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Method","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Resource","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Data","marks":[{"type":"strong"}]}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"POST"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"/client/@me/agent/remote/"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"{"},{"type":"hardBreak"},{"type":"text","text":"\"busy_delay_time\": 10,"},{"type":"hardBreak"},{"type":"text","text":"\"call_timeout\": 30,"},{"type":"hardBreak"},{"type":"text","text":"\"no_answer_delay_time\": 10,"},{"type":"hardBreak"},{"type":"text","text":"\"number\": \"89215650644\","},{"type":"hardBreak"},{"type":"text","text":"\"reject_delay_time\": 10,"},{"type":"hardBreak"},{"type":"text","text":"\"status\": \"available\","},{"type":"hardBreak"},{"type":"text","text":"\"wrap_up_time\": 0"},{"type":"hardBreak"},{"type":"text","text":"}"}]}]}]}]},{"type":"paragraph","content":[]}]},"id":"e699b2e4-9f7b-4eb5-a513-20e851f57276","label":"Interactive API Browser","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"shell"},"content":[{"type":"text","text":"curl \\\n-H \"Authorization: Bearer ${access_token}\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"busy_delay_time\": 10,\n  \"call_timeout\": 30,\n  \"no_answer_delay_time\": 10,\n  \"number\": \"89215650644\",\n  \"reject_delay_time\": 10,\n  \"status\": \"available\",\n  \"wrap_up_time\": 0\n}' \\\n-X POST ${url}/client/@me/agent/remote/"}]}]},"id":"a0343619-ad25-4da0-aa27-2251c04fd824","label":"cURL Program","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"python"},"content":[{"type":"text","text":"#!/usr/bin/python\n\nimport requests\n\nurl = f\"{URL}/client/@me/agent/remote/\"\nheaders = {\n    'Authorization': f'Bearer {ACCESS_TOKEN}',\n    'Content-Type': 'application/json'\n}\ndata = '''{\n    \"busy_delay_time\": 10,\n    \"call_timeout\": 30,\n    \"no_answer_delay_time\": 10,\n    \"number\": \"89215650644\",\n    \"reject_delay_time\": 10,\n    \"status\": \"available\",\n    \"wrap_up_time\": 0\n}'''\nresponse = requests.post(url, headers=headers, data=data)\nprint(response.text)"}]}]},"id":"837b5db2-bac4-4c84-ab1f-14027ae64956","label":"In Python3","type":"tab"}]

System response:

Code Block
languagejson
{
  "busy_delay_time": 10,
  "call_timeout": 30,
  "extra_params": "string",
  "id": 9,
  "name": "string",
  "no_answer_delay_time": 10,
  "number": "89876543210",
  "reject_delay_time": 10,
  "status": "available",
  "wrap_up_time": 0
}

5. Add the local agent to the queue with the first position and the first level:

Tabs
[{"content":{"version":1,"type":"doc","content":[{"type":"table","attrs":{"isNumberColumnEnabled":false,"layout":"default"},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Method","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Resource","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Data","marks":[{"type":"strong"}]}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"POST"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"/extension/208/queue/agents/local/"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"{"},{"type":"hardBreak"},{"type":"text","text":"\"agent_id\": 1,"},{"type":"hardBreak"},{"type":"text","text":"\"level\": 1,"},{"type":"hardBreak"},{"type":"text","text":"\"position\": 1"},{"type":"hardBreak"},{"type":"text","text":"}"}]}]}]}]},{"type":"paragraph","content":[]}]},"id":"53d68781-aef2-4d98-95a8-9e4233bc30a8","label":"Interactive API Browser","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"shell"},"content":[{"type":"text","text":"curl \\\n-H \"Authorization: Bearer ${access_token}\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"agent_id\": 1,\n  \"level\": 1,\n  \"position\": 1\n}' \\\n-X POST ${url}/extension/208/queue/agents/local/"}]}]},"id":"227f2a19-2af7-4275-ab1f-cd5bec4e2fcc","label":"cURL Program","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"python"},"content":[{"type":"text","text":"#!/usr/bin/python\n\nimport requests\n\nurl = f\"{URL}/extension/208/queue/agents/local/\"\nheaders = {\n    'Authorization': f'Bearer {ACCESS_TOKEN}',\n    'Content-Type': 'application/json'\n}\ndata = '''{\n    \"agent_id\": 1,\n    \"level\": 1,\n    \"position\": 1\n}'''\nresponse = requests.post(url, headers=headers, data=data)\nprint(response.text)"}]}]},"id":"5bf3e3cf-72ec-4130-907e-428b2f5c1e12","label":"In Python3","type":"tab"}]

System response:

Code Block
languagejson
{
  "position": 1,
  "agent_id": 1,
  "level": 1
}

6. Add an external agent to the queue with the first position and the second level:

Tabs
[{"content":{"version":1,"type":"doc","content":[{"type":"table","attrs":{"isNumberColumnEnabled":false,"layout":"default"},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Method","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Resource","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"Data","marks":[{"type":"strong"}]}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"POST"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"/extension/208/queue/agents/remote/"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"{"},{"type":"hardBreak"},{"type":"text","text":"\"agent_id\": 9,"},{"type":"hardBreak"},{"type":"text","text":"\"level\": 2,"},{"type":"hardBreak"},{"type":"text","text":"\"position\": 1"},{"type":"hardBreak"},{"type":"text","text":"}"}]}]}]}]},{"type":"paragraph","content":[]}]},"id":"73238ffa-5c93-4978-82ef-bd3bd17b5067","label":"Interactive API Browser","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"shell"},"content":[{"type":"text","text":"curl \\\n-H \"Authorization: Bearer ${access_token}\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"agent_id\": 9,\n  \"level\": 2,\n  \"position\": 1\n}' \\\n-X POST ${url}/extension/208/queue/agents/remote/"}]}]},"id":"3ff87e9f-083b-482f-a6c7-e8e13d4a35b2","label":"cURL Program","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"python"},"content":[{"type":"text","text":"#!/usr/bin/python\n\nimport requests\n\nurl = f\"{URL}/extension/208/queue/agents/remote/\"\nheaders = {\n    'Authorization': f'Bearer {ACCESS_TOKEN}',\n    'Content-Type': 'application/json'\n}\ndata = '''{\n    \"agent_id\": 9,\n    \"level\": 2,\n    \"position\": 1\n}'''\nresponse = requests.post(url, headers=headers, data=data)\nprint(response.text)"}]}]},"id":"8c47aca6-b0e2-4698-9525-3827a4982490","label":"In Python3","type":"tab"}]

System response:

Code Block
languagejson
{
  "position": 1,
  "agent_id": 9,
  "level": 2
}

Ресурсы раздела “Внутренний номер”

Конфигурация очереди

Resources of the "Extension number" section

Queue configuration

Тип

Update the queue parameters

URL Parameters

Expand
titlePUT /extension/{extension_id}/queue/

PUT /extension/{extension_id}/queue/

Обновить параметры очереди

Параметры URL

Имя

Name

Type

extension_id

string

Параметры JSON Parameters

Имя

Name

Тип

Type

Обязательный

Mandatory

agent_announce_sound 

long

нет

no

agent_hangup_action 

string

нет

no

agent_hangup_transfer_dst 

string

нет

no

agent_report_wait_time 

boolean

нет

no

announce_frequency

long

нет

no

announce_sound

long

нет

no

append_to_cid_name_on_transfer 

string

нет

no

exit_key

string

нет

no

exit_transfer_dst

string

нет

no

exit_with_no_av_agents 

boolean

нет

no

max_wait_time

long

нет

no

max_wait_time_with_no_agent

long

нет

no

no_agent_timeout_transfer_dst 

string

нет

no

position_announce_frequency 

long

нет

no

quality_rate_finish_sound 

long

нет

no

quality_rate_max 

long

нет

no

quality_rate_sound 

long

нет

no

record_enabled

boolean

нет

no

skip_busy_agents 

boolean

нет

no

sound

long

нет

no

sound_type

string

нет

no

start_sound

long

нет

no

strategy

string

нет

no

tier_rule_wait_multiply_level

boolean

нет

no

tier_rule_wait_second

long

нет

no

tier_rules_apply

boolean

нет

no

timeout_transfer_dst

string

нет

no

try_same_agent_time 

long

нет

no

vm_attach_file 

boolean

нет

no

vm_enabled 

boolean

нет

no

vm_greeting 

long

нет

no

vm_mailto 

string

нет

no

Поля ответаResponse fields

Имя

Name

Тип

Type

agent_announce_sound 

long

agent_hangup_action 

string

agent_hangup_transfer_dst 

string

agent_report_wait_time 

boolean

announce_frequency

long

announce_sound

long

append_to_cid_name_on_transfer 

string

exit_key

string

exit_transfer_dst

string

exit_with_no_av_agents 

boolean

max_wait_time

long

max_wait_time_with_no_agent

long

no_agent_timeout_transfer_dst 

string

position_announce_frequency 

long

quality_rate_finish_sound 

long

quality_rate_max 

long

quality_rate_sound 

long

record_enabled

boolean

skip_busy_agents 

boolean

sound

long

sound_type

string

start_sound

long

strategy

string

tier_rule_wait_multiply_level

boolean

tier_rule_wait_second

long

tier_rules_apply

boolean

timeout_transfer_dst

string

try_same_agent_time 

long

vm_attach_file 

boolean

vm_enabled 

boolean

vm_greeting 

long

vm_mailto 

string

Тип

Get the queue parameters

URL Parameters

Expand
titleGET /extension/{extension_id}/queue/

GET /extension/{extension_id}/queue/

Получить параметры очереди

Параметры URL

Имя

Name

Type

extension_id

string

Поля ответаResponse fields

Имя

Name

Тип

Type

agent_announce_sound 

long

agent_hangup_action 

string

agent_hangup_transfer_dst 

string

agent_report_wait_time 

boolean

announce_frequency

long

announce_sound

long

append_to_cid_name_on_transfer 

string

exit_key

string

exit_transfer_dst

string

exit_with_no_av_agents 

boolean

max_wait_time

long

max_wait_time_with_no_agent

long

no_agent_timeout_transfer_dst 

string

position_announce_frequency 

long

quality_rate_finish_sound 

long

quality_rate_max 

long

quality_rate_sound 

long

record_enabled

boolean

skip_busy_agents 

boolean

sound

long

sound_type

string

start_sound

long

strategy

string

tier_rule_wait_multiply_level

boolean

tier_rule_wait_second

long

tier_rules_apply

boolean

timeout_transfer_dst

string

try_same_agent_time 

long

vm_attach_file 

boolean

vm_enabled 

boolean

vm_greeting 

long

vm_mailto 

boolean

vm_greeting 

long

vm_mailto 

string

string

Expand
titleGET /extension/{extension_id}/queue/status/

GET /extension/{extension_id}/queue/status/

Get a status of the queue

URL Parameters

Name

Type

extension_id

string

Response fiends

Name

Type

answered_members 

long

trying_members 

long

waiting_members

long

Get a list of callers in the queue

Expand
titleGET /extension/{extension_id}/queue/status/members/

GET /extension/{extension_id}/queue/status/members/

Получить статус очереди

Параметры URL Parameters

Имя

Name

Тип

Type

extension_id

string

Поля ответа

Имя

Тип

answered_members 

long

trying_members 

long

waiting_members

long

Конфигурация локального агента в очереди

Response field

Name

Type

wait_time

integer

joined_datetime

string

serving_agent

string

number

string

state

string

call_api_id

string

Configuration of the local agent queue

Тип

Add a local agent to the queue

URL Parameters

Expand
titlePOST /extension/{extension_id}/queue/agents/local/

POST /extension/{extension_id}/queue/agents/local/

Добавить локального агента в очередь

Параметры URL

Имя

Name

Type

extension_id

string

Параметры JSON Parameters

Имя

Name

Тип

Type

Обязательный

Mandatory

agent_id

long

да

yes

level

long

нет

no

position

long

нет

no

Поля ответаResponse field

Имя

Name

Тип

Type

agent_id

long

level

long

position

long

Тип

Get a list of local queue agents

URL Parameters

Expand
titleGET /extension/{extension_id}/queue/agents/local/

GET /extension/{extension_id}/queue/agents/local/

Получить список локальных агентов очереди

Параметры URL

Имя

Name

Type

extension_id

string

Поля ответаResponse field

Имя

Name

Тип

Type

agent_id

long

level

long

position

long

Тип

Update the configuration of the local agent in the queue

URL Parameters

Expand
titlePUT /extension/{extension_id}/queue/agents/local/{agent_id}

PUT /extension/{extension_id}/queue/agents/local/{agent_id}

Обновить конфигурацию локального агента в очереди

Параметры URL

Имя

Name

Type

extension_id

string

agent_id

integer

Параметры JSON Parameters

Имя

Name

Тип

Type

Обязательный

Mandatory

position

long

нет

no

level

long

нет

no

Поля ответаResponse field

Имя

Name

Тип

Type

agent_id

long

level

long

position

long

Тип

Get the configuration of the local agent in the queue

URL Parameters

Expand
titleGET /extension/{extension_id}/queue/agents/local/{agent_id}

GET /extension/{extension_id}/queue/agents/local/{agent_id}

Получить конфигурацию локального агента в очереди

Параметры URL

Имя

Name

Type

extension_id

string

agent_id

integer

Поля ответаResponse field

Имя

Name

Тип

Type

agent_id

long

level

long

position

long

Тип

Delete the local agent from queue

URL Parameters

Expand
titleDELETE /extension/{extension_id}/queue/agents/local/{agent_id}

DELETE /extension/{extension_id}/queue/agents/local/{agent_id}

Удалить локального агента из очереди

Параметры URL

Имя

Name

Type

extension_id

string

agent_id

integer

Конфигурация внешнего агента в очередиConfiguration of the remote agent in the queue

Тип

Add a remote agent to the queue

URL Parameters

Expand
titlePOST /extension/{extension_id}/queue/agents/remote/

POST /extension/{extension_id}/queue/agents/remote/

Добавить внешнего агента в очередь

Параметры URL

Имя

Name

Type

extension_id

string

Параметры JSON Parameters

Имя

Name

Тип

Type

Обязательный

Mandatory

agent_id

long

да

yes

level

long

нет

no

position

long

нет

no

Поля ответаResponse field

Имя

Name

Тип

Type

agent_id

long

level

long

position

long

Тип

Get a list of remote agents in the queue

URL Parameters

Expand
titleGET /extension/{extension_id}/queue/agents/remote/

GET /extension/{extension_id}/queue/agents/remote/

Получить список внешних агентов в очереди

Параметры URL

Имя

Name

Type

extension_id

string

Поля ответаResponse field

Имя

Name

Тип

Type

agent_id

long

level

long

position

long

Тип

Update the configuration of the remote agent in the queue

URL Parameters

Expand
titlePUT /extension/{extension_id}/queue/agents/remote/{agent_id}

PUT /extension/{extension_id}/queue/agents/remote/{agent_id}

Обновить конфигурацию внешнего агента в очереди

Параметры URL

Имя

Name

Type

extension_id

string

agent_id

integer

Параметры JSON Parameters

Имя

Name

Тип

Type

Обязательный

Mandatory

position

long

нет

no

level

long

нет

no

Поля ответаResponse field

Имя

Name

Тип

Type

agent_id

long

level

long

position

long

Тип

Get the configuration of a remote agent in the queue

URL Parameters

Expand
titleGET /extension/{extension_id}/queue/agents/remote/{agent_id}

GET /extension/{extension_id}/queue/agents/remote/{agent_id}

Получить конфигурацию внешнего агента в очереди

Параметры URL

Имя

Name

Type

extension_id

string

agent_id

integer

Поля ответаResponse field

Имя

Name

Тип

Type

agent_id

long

level

long

position

long

Тип

Delete the remote agent from queue

URL Parameters

Expand
titleDELETE /extension/{extension_id}/queue/agents/remote/{agent_id}

DELETE /extension/{extension_id}/queue/agents/remote/{agent_id}

Удалить внешнего агента из очереди

Параметры URL

Имя

Name

Type

extension_id

string

agent_id

integer

Ресурсы раздела "Клиент"

Локальные агенты

Resources of the "Client" section

Local agents

Тип

Add a local client agent

URL Parameters

Expand
titlePOST /client/{client_id}/agent/local/

POST /client/{client_id}/agent/local/

Добавить локального агента клиента

Параметры URL

Имя

Name

Type

client_id

string

Параметры JSON Parameters

Имя

Name

Тип

Type

Обязательный

Mandatory

busy_delay_time

long

нет

no

call_timeout

long

нет

no

extension_id

long

да

yes

extra_params 

string

нет

no

name

string

да

yes

no_answer_delay_time

long

нет

no

reject_delay_time

long

нет

no

status

string

нет

no

wrap_up_time

long

нет

no

Поля ответаResponse field

Имя

Name

Тип

Type

busy_delay_time

long

call_timeout

long

extension_id

long

extra_params 

string

id

long

name

string

no_answer_delay_time

long

reject_delay_time

long

status

object

wrap_up_time

long

Тип

Get a list of local client agents

URL Parameters

Expand
titleGET /client/{client_id}/agent/local/

GET /client/{client_id}/agent/local/

Получить список локальных агентов клиента

Параметры URL

Имя

Name

Type

client_id

string

Параметры запросаRequest parameters

Имя

Name

Тип

Type

extension_id

array [integer]

Поля ответаResponse field

Имя

Name

Тип

Type

busy_delay_time

long

call_timeout

long

extension_id

long

extra_params 

string

id

long

name

string

no_answer_delay_time

long

reject_delay_time

long

status

object

wrap_up_time

long

Тип

Update a local agent

URL Parameters

Expand
titlePUT /client/{client_id}/agent/local/{agent_id}

PUT /client/{client_id}/agent/local/{agent_id}

Обновить локального агента

Параметры URL

Имя

Name

Type

agent_id

integer

client_id

string

Параметры JSON Parameters

Имя

Name

Тип

Type

Обязательный

Mandatory

busy_delay_time

long

нет

no

call_timeout

long

нет

no

extra_params 

string

нет

no

name

string

да

yes

no_answer_delay_time

long

нет

no

reject_delay_time

long

нет

no

status

string

нет

no

wrap_up_time

long

нет

no

Поля ответаResponse field

Имя

Name

Тип

Type

busy_delay_time

long

call_timeout

long

extension_id

long

extra_params 

string

id

long

name

string

no_answer_delay_time

long

reject_delay_time

long

status

object

wrap_up_time

long

Тип

Get a local agent

URL Parameters

Expand
titleGET /client/{client_id}/agent/local/{agent_id}

GET /client/{client_id}/agent/local/{agent_id}

Получить локального агента

Параметры URL

Имя

Name

Type

agent_id

integer

client_id

string

Поля ответаResponse field

Имя

Name

Тип

Type

busy_delay_time

long

call_timeout

long

extension_id

long

extra_params 

string

id

long

name

string

no_answer_delay_time

long

reject_delay_time

long

status

object

wrap_up_time

long

Тип

queues is set to false, then an error will be returned if the agent to be removed is in at least one queue. If the parameter is set to true (by default), then the agent will be removed from the queues as well.

URL Parameters

Expand
titleDELETE /client/{client_id}/agent/local/{agent_id}

DELETE /client/{client_id}/agent/local/{agent_id}

Удалить локального агента. Если параметр Delete the local agent. If the parameter remove_from_queues установлен в false, то при нахождении удаляемого агента хотя бы в одной очереди будет возвращена ошибка. Если параметр установлен в true (по умолчанию), то агент удалится также и из очередей.

Параметры URL

Имя

Name

Type

agent_id

integer

client_id

string

Параметры запросаRequest parameters

Имя

Name

Тип

Type

remove_from_queues

boolean

Внешние агентыExternal agents

Тип

Add an external agent

URL Parameters

Expand
titlePOST /client/{client_id}/agent/remote/

POST /client/{client_id}/agent/remote/

Добавить внешнего агента

Параметры URL

Имя

Name

Type

client_id

string

Параметры JSON Parameters

Имя

Name

Тип

Type

Обязательный

Mandatory

busy_delay_time

long

нет

no

call_timeout

long

нет

no

extra_params

string

нет

no

name

string

да

yes

no_answer_delay_time

long

нет

no

number

string

да

yes

reject_delay_time

long

нет

no

status

string

нет

no

wrap_up_time

long

нет

no

Поля ответаResponse field

Имя

Name

Тип

Type

busy_delay_time

long

call_timeout

long

extra_params

string

id

long

name

string

no_answer_delay_time

long

number

string

reject_delay_time

long

status

object

wrap_up_time

long

Тип

Get a list of external client agents

URL Parameters

Expand
titleGET /client/{client_id}/agent/remote/

GET /client/{client_id}/agent/remote/

Получить список внешних агентов клиента

Параметры URL

Имя

Name

Type

client_id

string

Поля ответаResponse field

Имя

Name

Тип

Type

busy_delay_time

long

call_timeout

long

extra_params

string

id

long

name

string

no_answer_delay_time

long

number

string

reject_delay_time

long

status

object

wrap_up_time

long

Тип

Update an external agent

URL Parameters

Expand
titlePUT /client/{client_id}/agent/remote/{agent_id}

PUT /client/{client_id}/agent/remote/{agent_id}

Обновить внешнего агента

Параметры URL

Имя

Name

Type

agent_id

integer

client_id

string

Параметры JSON Parameters

Имя

Name

Тип

Type

Обязательный

Mandatory

busy_delay_time

long

нет

no

call_timeout

long

нет

no

extra_params

string

нет

no

name

string

нет

no

no_answer_delay_time

long

нет

no

number

string

нет

no

reject_delay_time

long

нет

no

status

string

нет

no

wrap_up_time

long

нет

no

Поля ответаResponse field

Имя

Name

Тип

Type

busy_delay_time

long

call_timeout

long

extra_params

string

id

long

name

string

no_answer_delay_time

long

number

string

reject_delay_time

long

status

object

wrap_up_time

long

Тип

Get an external agent

URL Parameters

Expand
titleGET /client/{client_id}/agent/remote/{agent_id}

GET /client/{client_id}/agent/remote/{agent_id}

Получить внешнего агента

Параметры URL

Имя

Name

Type

agent_id

integer

client_id

string

Поля ответаResponse field

Имя

Name

Тип

Type

busy_delay_time

long

call_timeout

long

extra_params

string

id

long

name

string

no_answer_delay_time

long

number

string

reject_delay_time

long

status

object

wrap_up_time

long

Expand
titleDELETE /client/{client_id}/agent/remote/{agent_id}

DELETE /client/{client_id}/agent/remote/{agent_id}

Удалить внешнего агента. Если параметр Remove the external agent. If the parameter remove_from_queues установлен в false, то при нахождении удаляемого агента хотя бы в одной очереди будет возвращена ошибка. Если параметр установлен в true (по умолчанию), то агент удалится также и из очередей.Параметры URLqueues is set to false, then an error will be returned if the agent to be removed is in at least one queue. If the parameter is set to true (by default), then the agent will be removed from the queues as well.

URL Parameters

Name

Type

agent_id

integer

client_id

string

Параметры запросаRequest parameters

Name

Type

remove_from_queues

boolean