Очередь (/queue/)
Протестировать методы API можно на странице интерактивного обозревателя API и без написания кода
Некоторые ресурсы, описанные на странице, по умолчанию могут быть не доступны из-за типа приложения (см. Создание и авторизация приложений)
Параметры очереди
Внутренние номера типа очередь (queue) служат для реализации функциональности колл-центра. Для конфигурации новой очереди необходимо создать внутренний номер, указав в качестве типа (параметр type) значение queue. После этого становится возможным конфигурация очереди и агентов очереди через API-интерфейс queue.
События агентов очереди (login/logout) отслеживаются с помощью ресурса “События агента очереди”.
Звуковые файлы, необходимые для настройки очереди, загружаются с помощью ресурса “Звуковые файлы”.
Описание структур данных
Стратегии очереди
При любой стратегии сначала вызываются агенты с наименьшим уровнем. Если агенты текущего уровня обзвона заняты или находятся в состоянии временной недоступности, например, после отсутствия ответа или отклонения предыдущего вызова (см. конфигурацию агента), то вызываются агенты следующего уровня. Если параметр tier_rules_apply имеет значение true, агенты следующего уровня начинают вызываться через время, указанное параметром tier_rule_wait_second, отчет начинается с началом вызова агентов текущего уровня. Если параметр tier_rule_wait_multiply_level имеет значение true, то время tier_rule_wait_second умножается на уровень агента.
Агенты очереди
Агенты очереди могут быть двух типов: локальные, когда агентом выступает внутренний номер типа телефонный терминал, и удаленный, когда агентом очереди является заданный внешний номер. Оба типа агентов имеют следующие настраиваемые параметры:
Управление агентом в очереди
Для того, чтобы агент мог принимать вызовы из очереди, он должен быть туда добавлен. Добавление агента в очередь, его удаление оттуда, а также изменение его уровня и позиции в очереди осуществляются через ресурсы "локальный агент в очереди" и "внешний агент в очереди" для локальных и внешних агентов соответственно.
При добавлении локального агента в очередь возможно настроить следующие параметры:
Параметр | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
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/)