Versions Compared

Key

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

...

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

...

ПараметрТипОбязательныйЗначение по умолчаниюОписание
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 умножается на уровень агента.

...

При любой стратегии сначала вызываются агенты с наименьшим уровнем. Если агенты текущего уровня обзвона заняты, либо находятся в состоянии временной недоступности например, после не ответа или отклонения предыдущего вызова (см. конфигурацию агента), то вызываются агенты следующего уровня. Если параметр 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Если агент при попытке вызова был занят, то в течение указанного в этом параметре времени в секундах ему не будут направляться вызовы.

...

метод
ресурс
данные
ответ
PUT

/extension/208/queue/

{
"announce-_frequency": 15,
"announce-_sound": 35,
"max-_wait-_time": 1800,
"record-_enabled": true,
"sound": 36,
"sound-_type": "music",
"strategy": "ring-all",
"timeout-_transfer-_dst": "333",
"tier-_rules-_apply": true,
"tier-_rule-_wait-_second": 5
}

{
"announce-_frequency": 15,
"announce-_sound": 50,
"exit-_key": null,
"exit-_transfer-_dst": null,
"extension_id": 208,
"max-_wait-_time": 1800,
"max-_wait-_time-_with-_no-_agent": null,
"record-_enabled": true,
"sound": 36,
"sound-_type": "music",
"strategy": "ring-all",
"start-_sound": "ring-allnull", 

"tier-_rule-_wait-_multiply-_level": false,
"tier-_rule-_wait-_second": 15,
"tier-_rules-_apply": true,
"timeout-_transfer-_dst": "333"
}

2. Создадим локального агента

метод
ресурс
данные
ответ
POST

/client/@me/agent/local/

{
"busy-_delay-_time": 10,
"call_timeout": 30,
"extension_id": 117,
"no-_answer-_delay-_time": 10,
"reject-_delay-_time": 10,
"status": "available",
"wrap-_up-_time": 0
}

{
"busy-_delay-_time": 10,
"call_timeout": 30,
"extension_id": 117,
"no-_answer-_delay-_time": 10,
"reject-_delay-_time": 10,
"status": "available",
"wrap-_up-_time": 0,
"id": 1

}

3. Создадим внешнего агента

метод
ресурс
данные
ответ
POST

/client/@me/agent/remote/

{
"busy-_delay-_time": 10,
"call_timeout": 30,
"no-_answer-_delay-_time": 10,
"number": "89215650644",
"reject-_delay-_time": 10,
"status": "available",
"wrap-_up-_time": 0
}

{
"busy-_delay-_time": 10,
"call_timeout": 30,
"id": 9,
"no-_answer-_delay-_time": 10,
"number": "89215650644",
"reject-_delay-_time": 10,
"status": "available",
"wrap-_up-_time": 0
}

 

4. Добавим локального агента в очередь с первой позицией и первым уровнем.

...

Имя

Тип

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

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/

...

Поля ответа

Имя

Тип

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

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

...

Имя

Тип

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

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/

...

Поля ответа

Имя

Тип

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}

...

Имя

Тип

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

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}

...

Поля ответа

Имя

Тип

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}

...

Имя

Тип

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

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/

...

Поля ответа

Имя

Тип

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}

...

Имя

Тип

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

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}

...

Имя

Тип

Имя

Тип

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}

...