Очередь (/queue/)

Очередь (/queue/)

Протестировать методы API можно на странице интерактивного обозревателя API и без написания кода
Некоторые ресурсы, описанные на странице, по умолчанию могут быть не доступны из-за типа приложения (см. Создание и авторизация приложений)

Параметры очереди

Внутренние номера типа очередь (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

Звук, проигрываемый вызывающему абоненту при постановке его в очередь. Проигрывается до начала вызова агентов

strategy

string

нет

"round-robin"

Стратегия обзвона агентов очереди. Подробно см. Стратегии очереди

tier_rule_wait_multiply_level

boolean

нет

true

Если параметр имеет значение 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/
Данный ресурс возвращает ответы вида:

{ "answered_members": 0, "trying_members": 0, "waiting_members": 0 }

где параметр trying_members – это количество звонящих и ожидающих ответа агентов очереди.
Т.к. количество запросов лимитировано, рекомендуется запрашивать количество звонящих в очереди именно по событиям очереди, можно добавить события answer самих внутренних номеров (агентов очереди).

 

Список звонящих в очереди

GET /extension/{extension_id}/queue/status/members/

Данный ресурс возвращает ответы вида:

{ "call_api_id": "string", "joined_datetime": "string", "number": "string", "serving_agent": "string", "state": "string", "wait_time": 0 }

Через параметр call_api_id можно перевести или удалить вызов с помощью Текущие вызовы (/current_calls/)

 

Ресурсы раздела “Внутренний номер”

Ресурсы очереди

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

PUT /extension/{extension_id}/queue/

 

Параметры URL

Имя

Тип

Имя

Тип

extension_id

string

Параметры JSON

Имя

Тип

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

Имя

Тип

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

agent_announce_sound 

long

нет

agent_hangup_action 

string

нет

agent_hangup_transfer_dst 

string

нет

agent_report_wait_time 

boolean

нет

announce_frequency

long

нет

announce_sound

long

нет

append_to_cid_name_on_transfer 

string

нет

exit_key

string

нет

exit_transfer_dst

string

нет

exit_with_no_av_agents 

boolean

нет

max_wait_time

long

нет

max_wait_time_with_no_agent

long

нет

no_agent_timeout_transfer_dst 

string

нет

position_announce_frequency 

long

нет

quality_rate_finish_sound 

long

нет

quality_rate_max 

long

нет

quality_rate_sound 

long

нет

record_enabled

boolean

нет

skip_busy_agents 

boolean

нет

sound

long

нет

sound_type

string

нет

start_sound

long

нет

strategy

string

нет

tier_rule_wait_multiply_level

boolean

нет

tier_rule_wait_second

long

нет

tier_rules_apply

boolean

нет

timeout_transfer_dst

string

нет

try_same_agent_time 

long

нет

vm_attach_file 

boolean

нет

vm_enabled 

boolean

нет

vm_greeting 

long

нет

vm_mailto 

string

нет

hide_in_caller_id_number

string

нет

hide_in_caller_id_name

string

нет

Поля ответа

Имя

Тип

Имя

Тип

agent_announce_sound 

long

agent_hangup_action 

string

agent_hangup_transfer_dst 

string

agent_report_wait_time 

boolean

announce_frequency

long

announce_sound

long

append_to_cid_name_on_transfer 

string