Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 35 Next »

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

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

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

После этого становиться возможным конфигурация очереди и агентов очереди через API-интерфейс 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 умножается на уровень агента.

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

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

 

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

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

Пример

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

  1. Используя ресурс extension,  создадим добавочный типа "queue"
метод
ресурс
данные
ответ
POST

client/@me/extension/

{
"status": "active",
"name": "370",
"label": "тестовая очередь",
"type": "queue"
}

 

{
"client_id": 12,
"extension_group_id": null,
"extra_params": null,
"id": 208,
"label": "тестовая очередь",
"name": "000*370",
"status": "active",
"type": "queue"
}

2. Настроим очередь таким образом:

  • Главным звуком очереди должен являться звук с идентификатором 36
  • Звуком анонса звук с идентификатором 35
  • Анонс должен проигрываться через каждые 15 секунд
  • Максимальное время ожидания в очереди – 1800 секунд
  • Если было превышено максимальное время ожидания, переадресовывать звонящего на номер 333
  • Стратегия обзвона агентов – "Звонить всем"
  • Запись разговоров в очереди включена
  • Агенты вышестоящего уровней должны начинать вызываться если агенты нижестоящего уровня не отвечают в течение 15 секунд

 

метод
ресурс
данные
ответ
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-all", 

"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. Добавим локального агента в очередь с первой позицией и первым уровнем.

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

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

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

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

метод
ресурс
данные
ответ
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

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

There are no related labels.

 

  • No labels