Внутренние номера типа очередь (queue) служат для реализации функциональности колл-центра. Для конфигурации новой очереди необходимо создать внутренний номер, указав в качестве типа (параметр type) значение queue. После этого становится возможным конфигурация очереди и агентов очереди через API-интерфейс queue.
События агентов очереди (login/logout) отслеживаются с помощью ресурса “События агента очереди”.
Звуковые файлы, необходимые для настройки очереди, загружаются с помощью ресурса “Звуковые файлы”.
Для очереди могут быть сконфигурированы следующие параметры:
Параметр
Тип
Обязательный
Значение по умолчанию
Описание
Параметр
Тип
Обязательный
Значение по умолчанию
Описание
agent_announce_sound
long
нет
0
Звук, который проиграется агенту очереди при ответе вызывающему абоненту
agent_hangup_action
string
нет
Может быть null либо 'transfer', либо 'quality_rate'
agent_hangup_transfer_dst
string
нет
После окончания разговора, если первым положит трубку агент, вызов будет переадресован на номер, указанный в agent_hangup_transfer_dst. Работает только при agent_hangup_action='transfer'
agent_report_wait_time
boolean
нет
true
Агенту очереди при ответе вызывающему абоненту будет сообщено время ожидания ответа вызывающим абонентом в секундах
announce_frequency
long
нет
0
Частота воспроизведения звука announce_sound в секундах
announce_sound
long
нет
0
Звук, воспроизводящийся через определенный промежуток времени во время ожидания вызывающим абонентом ответа. Частота воспроизведения настраивается параметром announce_frequency
append_to_cid_name_on_transfer
string
нет
При переадресации к имени вызывающего абонента будет добавлен признак переадресации из этой очереди
exit_key
string
нет
Кнопка, при нажатии которой осуществляется выход из очереди. Может быть цифровой кнопкой, а также кнопками * и #
exit_transfer_dst
string
нет
В случае, если вызывающий абонент нажал кнопку из exit_key, его переадресует на данный номер
exit_with_no_av_agents
boolean
нет
true
Если данный параметр активен, вызов будет выведен из очереди, если нет доступных агентов для ответа
max_wait_time
long
нет
0
Максимальное время ожидания вызывающим абонентом в очереди в секундах. По прошествии этого времени осуществляется выход из очереди
max_wait_time_with_no_agent
long
нет
0
Максимальное время ожидания вызывающим абонентом в очереди в секундах. По прошествии этого времени, если в очереди нет ни одного доступного агента, осуществляется выход из очереди
no_agent_timeout_transfer_dst
string
нет
В случае, если вызывающий абонент вышел по истечении max_wait_time_with_no_agent, его переадресует на данный номер
position_announce_frequency
long
нет
0
Частота анонса позиции вызывающего абонента в очереди по отношению к другим ожидающим ответа. Не используется, если не указано, не может быть менее 1 секунды
quality_rate_finish_sound
long
нет
0
Звук, который будет проигран после выбранной оценки. Работает только при agent_hangup_action='quality_rate'
quality_rate_max
long
нет
0
Максимальная оценка, которую можно будет указать. Работает только при agent_hangup_action='quality_rate'
quality_rate_sound
long
нет
0
Если первым после окончания разговора положит трубку агент очереди, вызывающему абоненту проиграется звук, за которым последует ожидание оценки. Работает только при agent_hangup_action='quality_rate'
record_enabled
boolean
нет
true
Включение записи разговора в очереди
skip_busy_agents
boolean
нет
true
Очередь попытается не вызывать агентов, занятых в разговоре не из этой очереди
sound
long
нет
0
Основной звук, который будут слышать звонящие в очередь. Требуется указать id ресурса sound
sound_type
string
нет
music
Тип основного звука, может принимать значения music или ring. Если установлен в значение ring, то звонящий слышит обычные гудки, при этом переданный параметр sound игнорируется, а уже установленный sound сбрасывается в null. Если же параметр имеет значение music, то будет воспроизведен звук, указанный в параметре sound
start_sound
long
нет
0
Звук, проигрываемый вызывающему абоненту при постановке его в очередь. Проигрывается до начала вызова агентов
Если параметр имеет значение true, время tier_rule_wait_second умножается на уровень агента
tier_rule_wait_second
long
нет
0
Время в секундах с начала поступления вызова в очередь, по истечении которого начинают вызываться агенты следующего уровня. Если параметр tier_rule_wait_multiply_level установлен в true, то указанное время умножается на уровень агента в очереди. Если параметр tier_rule_wait_multiply_level установлен в false, то по истечении указанного времени агенты всех уровней выше минимального становятся доступны для вызова в соответствии со стратегией очереди
tier_rules_apply
boolean
нет
true
Требуется ли применение параметров tier_rule_wait_second и tier_rule_wait_multiply_level
timeout_transfer_dst
string
нет
В случае, если вызывающий абонент вышел по истечении max_wait_time, его переадресует на данный номер
try_same_agent_time
long
нет
0
Система попытается соединить конкретного вызывающего абонента с конкретным агентом очереди, если этот агент ранее уже отвечал этому абоненту. Если соединить не получится, либо звонящий ранее ни с кем не общался, вызов пойдет по стратегии обзвона очереди. Значение в секундах от 1 до 2592000
vm_attach_file
boolean
нет
true
Помимо уведомления о поступлении голосовой почты будет направлена и сама запись голосовой почты
vm_enabled
boolean
нет
true
Включение/выключение голосовой почты в очереди
vm_greeting
long
нет
0
Звук, который будет проигран перед включением голосовой почты
vm_mailto
string
нет
Адрес почтового ящика, куда будет направлено уведомление о голосовой почте
disable_answer
boolean
нет
false
По умолчанию очередь снимает трубку. В случае, если disable_answer=true очередь не будет снимать трубку. Максимальное время удержания вызова в очереди при ожидании ответа без снятия трубки - 5 минут
hide_in_caller_id_number
string
нет
null
Сокрытие AOH при входящих вызовах на агентов
hide_in_caller_id_name
string
нет
null
Сокрытие AOH при входящих вызовах на агентов
Стратегии очереди
При любой стратегии сначала вызываются агенты с наименьшим уровнем. Если агенты текущего уровня обзвона заняты или находятся в состоянии временной недоступности, например, после отсутствия ответа или отклонения предыдущего вызова (см. конфигурацию агента), то вызываются агенты следующего уровня. Если параметр 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
Вызывается агент с наибольшим временем ожидания c момента последнего разговора
round-robin
Агенты вызываются согласно их позиции (параметр position при добавлении агента в очередь)
top-down
Агенты вызываются в порядке из позиций, начиная с первой
agent-with-least-talk-time
Вызывается агент с наименьшим временем разговора
agent-with-fewest-calls
Вызывается агент с наименьшим количеством звонков
sequentially-by-agent-order
Агенты вызываются последовательно в порядке их уровней и позиций. Первым всегда вызывается агент с наименьшем уровнем и позицией
random
Агенты вызываются в случайном порядке
Агенты очереди
Агенты очереди могут быть двух типов: локальные, когда агентом выступает внутренний номер типа телефонный терминал, и удаленный, когда агентом очереди является заданный внешний номер. Оба типа агентов имеют следующие настраиваемые параметры:
Параметр
Тип
Обяза-тельный
Значение по умолчанию
Описание
Параметр
Тип
Обяза-тельный
Значение по умолчанию
Описание
busy_delay_time
long
нет
0
Если агент при попытке вызова был занят, то в течение указанного в этом параметре времени в секундах ему не будут направляться вызовы
call_timeout
long
нет
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/ Данный ресурс возвращает ответы вида:
где параметр trying_members – это количество звонящих и ожидающих ответа агентов очереди. Т.к. количество запросов лимитировано, рекомендуется запрашивать количество звонящих в очереди именно по событиям очереди, можно добавить события answer самих внутренних номеров (агентов очереди).
Список звонящих в очереди
GET /extension/{extension_id}/queue/status/members/
Если параметр remove_from_queues установлен в false, то при нахождении удаляемого агента хотя бы в одной очереди будет возвращена ошибка. Если параметр установлен в true (по умолчанию), то агент удалится также и из очередей.
Внешние агенты
Добавить внешнего агента
Получить список внешних агентов клиента
Обновить внешнего агента
Получить внешнего агента
Удалить внешнего агента.
Если параметр remove_from_queues установлен в false, то при нахождении удаляемого агента хотя бы в одной очереди будет возвращена ошибка. Если параметр установлен в true (по умолчанию), то агент удалится также и из очередей.
Примеры
В качестве примера создадим внутренний номер типа "очередь", настроим его, создадим локальных и внешних агентов и добавим их в очередь.