Добавочные номера типа очередь (queue) служат для реализации функциональности колл-центра.
Конфигурация очереди
Для конфигурации новой очереди необходимо создать добавочный, указав в качестве типа (параметр type) значение queue.
После этого становиться возможным конфигурация очереди и агентов очереди через API-интерфейс queue.
Звуковые файлы, которые необходимы для настройки очереди, загружаются в ресурс sounds.
Для очереди могут быть сконфигурированы следующие параметры:
Параметр | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
sound |
| нет | null | Основной звук, который будут слышать звонящие в очередь, требуется указать id ресурса sound. |
sound_type | string | нет | "ring" | Тип основного звука. Может принимать значения music или ring. Если установлен в значение ring, то звонящий слышит обычные гудки, |
announce_sound | integer | нет | null | Звук, воспроизводящийся раз в определенный промежуток времени во время ожидания звонящим ответа. Частота воспроизведения настраивается параметром announce_frequency. |
announce_frequency | integer | нет | null | Частота воспроизведения звука announce_sound в секундах. |
start_sound | integer | нет | null | Звук, проигрываемый звонящему при постановке его в очередь, звук проигрывается до начала вызова агентов. |
strategy | string | нет | "round-robin" | Стратегия обзвона агентов очереди. Подробно см. Стратегии очереди. |
max_wait_time | integer | нет | 3600 | Максимальное время ожидания звонящего в очереди в секундах. По прошествии этого времени осуществляется выход из очереди. |
max_wait_time_with_no_agent | integer | нет | null | Максимальное время ожидания звонящего в очереди в секундах, если в ней нет ни одного доступного агента. По прошествии этого времени осуществляется выход из очереди. |
record_enabled | boolean | нет | false | Включение записи разговора в очереди. |
exit_key | string | нет | null | Кнопка, при нажатии которой осуществляется выход из очереди. Может цифровой кнопкой, а также кнопками * и #. |
exit_transfer_dst | string | нет | null | В случае, если звонящий вышел из очереди нажатием кнопки, его переадресует на данный номер. Параметр exit_key должен иметь значение отличное от null. |
timeout_transfer_dst | string | нет | В случае, если звонящий вышел по истечению max_wait_time, max_wait_time_with_no_agent, его переадресует на данный номер. | |
tier_rules_apply | boolean | нет | false | Требуется ли применение параметров tier_rule_wait_second и tier_rule_wait_multiply_level |
tier_rule_wait_second | integer | нет | Время в секундах с начала поступления вызова в очередь, по истечении которого начинают вызываться агенты следующего уровня. Если параметр tier_rule_wait_multiply_level установлен в true, то указанное время умножается на уровень агента в очереди. Если параметр tier_rule_wait_multiply_level установлен в false, то по истечении указанного времени агенты всех уровней выше минимального становятся доступны для вызова в соотвествии со стратегией очереди. | |
tier_rule_wait_multiply_level | boolean | нет | 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 | Агенты вызываются в случайном порядке. |
Агенты очереди
Агенты очереди могут быть двух типов: локальные, когда агентом выступает добавочный типа телефонный терминал, и удаленный, когда агентом очереди является заданный внешний номер.
Оба типа агентов имеют следующие настраиваемые параметры:
Параметр | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
status | string | нет | "available" | Статус агента. Принимает одно из значений: "logged_out", "available". В статусе available агент доступен для вызовов, в статусе logged_out вызовы агенту не направляются. |
call_timeout | integer | нет | Системное значение | Время в секундах, в течение которого осуществляется вызов агента. |
wrap_up_time | integer | нет | null | Время в секундах с момента последнего разговора агента, в течение которого ему не будут направляться вызовы. |
no_answer_delay_time | integer | нет | 10 | Если агент не ответил на вызов, то в течение указанного в этом параметре времени в секундах ему не будут направляться вызовы. |
reject_delay_time | integer | нет | 10 | Время в секундах с момента последнего отклонения вызова агентом, в течение которого ему не будут направляться вызовы. |
busy_delay_time | integer | нет | 10 | Если агент при попытке вызова был занят, то в течение указанного в этом параметре времени в секундах ему не будут направляться вызовы. |
Управление агентом в очереди
Для того, чтобы агент мог принимать вызовы из очереди, он должен быть туда добавлен. Добавление агента в очередь, его удаление оттуда, а также изменение его уровня и позиции в очереди, осуществляется через ресурсы "локальный агент в очереди", и "внешний агент в очереди" для локальных и внешних агентов соответственно.
При добавлении локального агента в очередь возможно настроить следующие параметры:
Параметр | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
agent_id | integer | да | Идентификатор локального агента. | |
level | integer | нет | 1 | Уровень агента в очереди. |
position | integer | нет | 1 | Позиция агента в очереди. |
При добавлении внешнего агента в очередь возможно настроить следующие параметры:
Параметр | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
agent_id | integer | да | Идентификатор внешнего агента. | |
level | integer | нет | 1 | Уровень агента в очереди. |
position | integer | нет | 1 | Позиция агента в очереди. |
Пример
В качестве примера создадим добавочный типа "очередь", настроим его, создадим локальных и внешних агентов и добавим их в очередь.
- Используя ресурс extension, создадим добавочный типа "queue"
метод | ресурс | данные | ответ |
---|---|---|---|
POST |
|
|
|
2. Настроим очередь таким образом:
- Главным звуком очереди должен являться звук с идентификатором 36
- Звуком анонса звук с идентификатором 35
- Анонс должен проигрываться через каждые 15 секунд
- Максимальное время ожидания в очереди – 1800 секунд
- Если было превышено максимальное время ожидания, переадресовывать звонящего на номер 333
- Стратегия обзвона агентов – "Звонить всем"
- Запись разговоров в очереди включена
- Агенты вышестоящего уровней должны начинать вызываться если агенты нижестоящего уровня не отвечают в течение 15 секунд
метод | ресурс | данные | ответ |
---|---|---|---|
PUT |
|
|
|
2. Создадим локального агента
метод | ресурс | данные | ответ |
---|---|---|---|
POST |
|
|
|
3. Создадим внешнего агента
метод | ресурс | данные | ответ |
---|---|---|---|
POST |
|
|
|
4. Добавим локального агента в очередь с первой позицией и первым уровнем.
метод | ресурс | данные | ответ |
---|---|---|---|
POST |
|
|
|
5. Добавим внешнего агента в очередь с первой позицией и вторым уровнем.
метод | ресурс | данные | ответ |
---|---|---|---|
POST |
|
|
|
Ресурсы раздела "добавочный"
Конфигурация очереди
PUT /extension/{extension_id}/queue/
Обновить параметры очереди
Параметры URL
Имя | Тип |
---|---|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
start_sound | integer | нет |
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
start_sound | integer |
GET /extension/{extension_id}/queue/
Получить параметры очереди
Параметры URL
Имя | Тип |
---|---|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
start_sound | integer |
Конфигурация локального агента в очереди
POST /extension/{extension_id}/queue/agents/local/
Добавить локального агента в очередь
Параметры URL
Имя | Тип |
---|---|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
GET /extension/{extension_id}/queue/agents/local/
Получить список локальных агентов очереди
Параметры URL
Имя | Тип |
---|---|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
PUT /extension/{extension_id}/queue/agents/local/{agent_id
}
Обновить конфигурацию локального агента в очереди
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
GET /extension/{extension_id}/queue/agents/local/{agent_id
}
Получить конфигурацию локального агента в очереди
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
DELETE /extension/{extension_id}/queue/agents/local/{agent_id
}
Удавлить локального агента из очереди
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Конфигурация внешнего агента в очереди
POST /extension/{extension_id}/queue/agents/remote/
Добавить внешнего агента в очередь
Параметры URL
Имя | Тип |
---|---|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
GET /extension/{extension_id}/queue/agents/remote/
Получить список внешних агентов в очереди
Параметры URL
Имя | Тип |
---|---|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
PUT /extension/{extension_id}/queue/agents/remote/{agent_id
}
Обновить конфигурацию внешнего агента в очереди
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
GET /extension/{extension_id}/queue/agents/remote/{agent_id
}
Получить конфигурацию внешнего агента в очереди
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
DELETE /extension/{extension_id}/queue/agents/remote/{agent_id
}
Удалить внешнего агента из очереди
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Ресурсы раздела "клиент"
Локальные агенты
POST /client/{client_id}/agent/local/
Добавить локального агента клиента
Параметры URL
Имя | Тип |
---|---|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GET /client/{client_id}/agent/local/
Получить список локальных агентов клиента
Параметры URL
Имя | Тип |
---|---|
|
|
Параметры запроса
Имя | Тип |
---|---|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PUT /client/{client_id}/agent/local/{agent_id
}
Обновить локального агента
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GET /client/{client_id}/agent/local/{agent_id
}
Получить локального агента
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DELETE /client/{client_id}/agent/local/{agent_id
}
Удалить локального агента. Если параметр remove_from_queues
установлен в false, то при нахождении удаляемого агента хотя бы в одной очереди будет возвращена ошибка. Если параметр установлен в true (по умолчанию), то агент также удалится и из очередей.
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры запроса
Имя | Тип |
---|---|
|
|
Внешние агенты
POST /client/{client_id}/agent/remote/
Добавить внешнего агента
Параметры URL
Имя | Тип |
---|---|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GET /client/{client_id}/agent/remote/
Получить список внешних агентов клиента
Параметры URL
Имя | Тип |
---|---|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PUT /client/{client_id}/agent/remote/{agent_id
}
Обновить внешнего агента
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GET /client/{client_id}/agent/remote/{agent_id
}
Получить внешнего агента
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
Имя | Тип |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DELETE /client/{client_id}/agent/remote/{agent_id
}
Удалить внешнего агента. Если параметр remove_from_queues
установлен в false, то при нахождении удаляемого агента хотя бы в одной очереди будет возвращена ошибка. Если параметр установлен в true (по умолчанию), то агент также удалится и из очередей.
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры запроса
Имя | Тип |
---|---|
|
|
Похожие разделы
параметр tier_rule_wait_multiply_level