Versions Compared

Key

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

Добавочные номера типа очередь (queue) служат для реализации функциональности колл-центра.

Table of Contents

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

Для конфигурации новой очереди необходимо создать добавочный, указав в качестве типа (параметр type) значение queue.

...

Звуковые файлы, которые необходимы для настройки очереди, загружаются в ресурс sounds.

Для очереди могут быть сконфигурированы следующие параметры: 

ПараметрТипОбязательныйЗначение по умолчаниюОписание
sound

integer

нетnullОсновной звук, который будут слышать звонящие в очередь, требуется указать id ресурса sound.
sound_typestringнет"ring"

Тип основного звука. Может принимать значения music или ring. Если установлен в значение ring, то звонящий слышит обычные гудки,
при этом переданный параметр sound игнорируется, а уже установленный sound сбрасывается в null.
Если же параметр имеет значение music, то будет воспроизведен звук, указанный в параметре sound.

announce_soundintegerнетnullЗвук, воспроизводящийся раз в определенный промежуток времени во время ожидания звонящим ответа. Частота воспроизведения настраивается параметром announce_frequency.
announce_frequencyintegerнетnullЧастота воспроизведения звука announce_sound в секундах.
start_soundintegerнетnullЗвук, проигрываемый звонящему при постановке его в очередь, звук проигрывается до начала вызова агентов.
strategystringнет"round-robin"Стратегия обзвона агентов очереди. Подробно см. *Очередь (/queue/) Стратегии очереди.
max_wait_timeintegerнет3600Максимальное время ожидания звонящего в очереди в секундах. По прошествии этого времени осуществляется выход из очереди.
max_wait_time_with_no_agentintegerнетnullМаксимальное время ожидания звонящего в очереди в секундах, если в ней нет ни одного доступного агента. По прошествии этого времени осуществляется выход из очереди. 
record_enabledbooleanнетfalseВключение записи разговора в очереди.
exit_keystringнетnullКнопка, при нажатии которой осуществляется выход из очереди. Может цифровой кнопкой, а также кнопками * и #.
exit_transfer_dststringнетnullВ случае, если звонящий вышел из очереди нажатием кнопки, его переадресует на данный номер. Параметр exit_key должен иметь значение отличное от null.
timeout_transfer_dststringнет В случае, если звонящий вышел по истечению max_wait_time, max_wait_time_with_no_agent, его переадресует на данный номер.
tier_rules_applybooleanнетfalseТребуется ли применение параметров tier_rule_wait_second и tier_rule_wait_multiply_level
tier_rule_wait_secondintegerнет Время в секундах, по истечении которого начинают вызываться агенты следующего уровня.
tier_rule_wait_multiply_levelbooleanнетfalseЕсли параметр имеет значение true, время tier_rule_wait_second умножается на уровень агента.

Anchor
Стратегии очереди
Стратегии очереди

Стратегии очереди

При любой стратегии сначала вызываются агенты с наименьшим уровнем. Если агенты текущего уровня обзвона заняты, либо находятся в состоянии временной недоступности например, после не ответа или отклонения предыдущего вызова (см. конфигурацию агента), то вызываются агенты следующего уровня. Если параметр tier_rules_apply имеет значение trueагенты следующего уровня начинают вызываться, через время, указанное параметром tier_rule_wait_second, отчет начинается с началом вызова агентов текущего уровня.
Если параметр tier_rule_wait_multiply_level имеет значение true, то время tier_rule_wait_second умножается на уровень агента.

СтратегияОписание
ring-allВызываются одновременно все доступные агенты.  Если параметр tier_rules_apply имеет значение true,  сначала вызываются агенты с наименьшим уровнем, затем, через время, указанное параметром tier_rule_wait_second вызываться начинают агенты следующего уровня и так далее.
longest-idle-agentВызывается агент с наибольшим временем ожидания.
round-robinАгенты вызываются согласно их позиции (параметр position при добавлении агента в очередь).
top-downАгенты вызываются в порядке из позиций, начиная с первой.
agent-with-least-talk-time

Вызывается агент с наименьшим временем разговора.

agent-with-fewest-callsВызывается агент с наименьшим количеством звонков.
sequentially-by-agent-orderАгенты вызываются последовательно в порядке их уровней и позиций. Первым всегда вызывается агент с наименьшем уровнем и позицией.
randomАгенты вызываются в случайном порядке.

Агенты очереди

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

...

ПараметрТипОбязательныйЗначение по умолчаниюОписание
statusstringнет"available"Статус агента. Принимает одно из значений: "logged_out", "available". В статусе available агент доступен для вызовов, в статусе logged_out вызовы агенту не направляются.
call_timeout integerнетСистемное значениеВремя в секундах, в течение которого осуществляется вызов агента.
wrap_up_timeintegerнетnullВремя в секундах с момента последнего разговора агента, в течение которого ему не будут направляться вызовы.
no_answer_delay_timeintegerнет10Если агент не ответил на вызов, то в течение указанного в этом параметре времени в секундах ему не будут направляться вызовы.
reject_delay_timeintegerнет10Время в секундах с момента последнего отклонения вызова агентом, в течение которого ему не будут направляться вызовы.
busy_delay_timeintegerнет10Если агент при попытке вызова был занят, то в течение указанного в этом параметре времени в секундах ему не будут направляться вызовы.

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

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

...

ПараметрТипОбязательныйЗначение по умолчаниюОписание
agent_idintegerда Идентификатор внешнего агента.
level integerнет1Уровень агента в очереди.
positionintegerнет1Позиция агента в очереди.

Пример

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

...

метод
ресурс
данные
ответ
POST
/extension/208/queue/agents/remote/

{
"agent_id": 9,
"level": 2,
"position": 1
}

{
"agent_id": 9,
"level": 1,
"position": 1
}


Ресурсы раздела "добавочный"

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

PUT /extension/{extension_id}/queue/

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

Параметры URL

Имя

Тип

extension_id

string

Параметры JSON

Имя

Тип

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

sound

integer

нет

tier_rules_apply

boolean

нет

exit_key

string

нет

timeout_transfer_dst

string

нет

max_wait_time

integer

нет

record_enabled

boolean

нет

max_wait_time_with_no_agent

integer

нет

strategy

string

нет

tier_rule_wait_multiply_level

boolean

нет

announce_sound

integer

нет

announce_frequency

integer

нет

exit_transfer_dst

string

нет

sound_type

string

нет

tier_rule_wait_second

integer

нет

start_soundintegerнет

Поля ответа

Имя

Тип

sound

integer

tier_rules_apply

boolean

exit_key

string

timeout_transfer_dst

string

max_wait_time

integer

record_enabled

boolean

max_wait_time_with_no_agent

integer

strategy

string

tier_rule_wait_multiply_level

boolean

extension_id

integer

announce_frequency

integer

exit_transfer_dst

string

sound_type

string

tier_rule_wait_second

integer

announce_sound

integer

start_soundinteger

GET /extension/{extension_id}/queue/

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

Параметры URL

Имя

Тип

extension_id

string

Поля ответа

Имя

Тип

sound

integer

tier_rules_apply

boolean

exit_key

string

timeout_transfer_dst

string

max_wait_time

integer

record_enabled

boolean

max_wait_time_with_no_agent

integer

strategy

string

tier_rule_wait_multiply_level

boolean

extension_id

integer

announce_frequency

integer

exit_transfer_dst

string

sound_type

string

tier_rule_wait_second

integer

announce_sound

integer

start_soundinteger

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

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

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

Параметры URL

Имя

Тип

extension_id

string

Параметры JSON

Имя

Тип

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

position

integer

нет

agent_id

integer

да

level

integer

нет

Поля ответа

Имя

Тип

position

integer

agent_id

integer

level

integer

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

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

Параметры URL

Имя

Тип

extension_id

string

Поля ответа

Имя

Тип

position

integer

agent_id

integer

level

integer

...

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

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

Параметры URL

Имя

Тип

extension_id

string

agent_id

integer

Параметры JSON

Имя

Тип

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

position

integer

нет

level

integer

нет

Поля ответа

Имя

Тип

position

integer

agent_id

integer

level

integer

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

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

Параметры URL

Имя

Тип

extension_id

string

agent_id

integer

Поля ответа

Имя

Тип

position

integer

agent_id

integer

level

integer

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

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

Параметры URL

Имя

Тип

extension_id

string

agent_id

integer

...

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

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

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

Параметры URL

Имя

Тип

extension_id

string

Параметры JSON

Имя

Тип

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

position

integer

нет

agent_id

integer

да

level

integer

нет

Поля ответа

Имя

Тип

position

integer

agent_id

integer

level

integer

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

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

Параметры URL

Имя

Тип

extension_id

string

Поля ответа

Имя

Тип

position

integer

agent_id

integer

level

integer

...

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

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

Параметры URL

Имя

Тип

extension_id

string

agent_id

integer

Параметры JSON

Имя

Тип

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

position

integer

нет

level

integer

нет

Поля ответа

Имя

Тип

position

integer

agent_id

integer

level

integer

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

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

Параметры URL

Имя

Тип

extension_id

string

agent_id

integer

Поля ответа

Имя

Тип

position

integer

agent_id

integer

level

integer

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

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

Параметры URL

Имя

Тип

extension_id

string

agent_id

integer

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

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

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

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

Параметры URL

Имя

Тип

client_id

string

Параметры JSON

Имя

Тип

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

status

string

нет

reject_delay_time

integer

нет

name

string

да

wrap_up_time

integer

нет

call_timeout

integer

нет

busy_delay_time

integer

нет

extension_id

integer

да

no_answer_delay_time

integer

нет

Поля ответа

Имя

Тип

status

object

busy_delay_time

integer

name

string

wrap_up_time

integer

call_timeout

integer

reject_delay_time

integer

extension_id

integer

no_answer_delay_time

integer

id

integer

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

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

Параметры URL

Имя

Тип

client_id

string

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

Имя

Тип

extension_id

array [integer]

Поля ответа

Имя

Тип

status

object

busy_delay_time

integer

name

string

wrap_up_time

integer

call_timeout

integer

reject_delay_time

integer

extension_id

integer

no_answer_delay_time

integer

id

integer

...

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

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

Параметры URL

Имя

Тип

agent_id

integer

client_id

string

Параметры JSON

Имя

Тип

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

status

string

нет

reject_delay_time

integer

нет

name

string

нет

wrap_up_time

integer

нет

call_timeout

integer

нет

busy_delay_time

integer

нет

no_answer_delay_time

integer

нет

Поля ответа

Имя

Тип

status

object

busy_delay_time

integer

name

string

wrap_up_time

integer

call_timeout

integer

reject_delay_time

integer

extension_id

integer

no_answer_delay_time

integer

id

integer

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

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

Параметры URL

Имя

Тип

agent_id

integer

client_id

string

Поля ответа

Имя

Тип

status

object

busy_delay_time

integer

name

string

wrap_up_time

integer

call_timeout

integer

reject_delay_time

integer

extension_id

integer

no_answer_delay_time

integer

id

integer

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

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

Параметры URL

Имя

Тип

agent_id

integer

client_id

string

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

Имя

Тип

remove_from_queues

boolean

...

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

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

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

Параметры URL

Имя

Тип

client_id

string

Параметры JSON

Имя

Тип

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

status

string

нет

reject_delay_time

integer

нет

name

string

да

wrap_up_time

integer

нет

call_timeout

integer

нет

busy_delay_time

integer

нет

number

string

да

no_answer_delay_time

integer

нет

Поля ответа

Имя

Тип

status

object

busy_delay_time

integer

name

string

wrap_up_time

integer

call_timeout

integer

number

string

reject_delay_time

integer

no_answer_delay_time

integer

id

integer

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

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

Параметры URL

Имя

Тип

client_id

string

Поля ответа

Имя

Тип

status

object

busy_delay_time

integer

name

string

wrap_up_time

integer

call_timeout

integer

number

string

reject_delay_time

integer

no_answer_delay_time

integer

id

integer

...

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

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

Параметры URL

Имя

Тип

agent_id

integer

client_id

string

Параметры JSON

Имя

Тип

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

status

string

нет

reject_delay_time

integer

нет

name

string

нет

wrap_up_time

integer

нет

call_timeout

integer

нет

busy_delay_time

integer

нет

number

string

нет

no_answer_delay_time

integer

нет

Поля ответа

Имя

Тип

status

object

busy_delay_time

integer

name

string

wrap_up_time

integer

call_timeout

integer

number

string

reject_delay_time

integer

no_answer_delay_time

integer

id

integer

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

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

Параметры URL

Имя

Тип

agent_id

integer

client_id

string

Поля ответа

Имя

Тип

Имя

Тип

status

object

busy_delay_time

integer

name

string

wrap_up_time

integer

call_timeout

integer

number

string

reject_delay_time

integer

no_answer_delay_time

integer

id

integer

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

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

Параметры URL

Имя

Тип

agent_id

integer

client_id

string

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

Имя

Тип

remove_from_queues

boolean

Похожие разделы

Related Labels