Компонент Операция

Описание

Мультифункциональный компонент, предоставляющий различные служебные методы для осуществления воздействия на систему.

Table 1. Системные характеристики

Индекс

219

Краткое название

operation

Типы сценариев

svc

Стартовый модуль

r_script_component_operation_ivr

Режим

Асинхронный

Иконка

219

Характер разветвления

Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание

Название: Тип операции
Код: type
Усл. видимости: нет
По умолчанию: CRUD в домене

Выбор категории операций.
Возможные значения:

  • CRUD в домене (crud, 0) – Группа операции над сущностями доменов (чтение, создание, модификация, удаление). Операция возможна только над классами, управляемыми доменным центром (роли mdc, sdc). Доступны в API через эндпойнты, отличные от /rest/v1/model/…​

  • Модель данных в домене (dms, 8) – Группа операций над сущностями динамической модели данных домена (чтение, создание, модификация, удаление, очистка, работа с вложениями). Операция возможна только над классами, управляемыми сервером модели данных (роль dms). Доступны в API через эндпойнты /rest/v1/model/…​

  • Регистрар (registrar,5) - Данные из регистрара.

  • Привязка звонка (bindings, 1) – Проставление метки в контекст к текущему звонку. Особенность метки в том, что она переходит от одного звонка к другому при переключениях (SIP REFER).

  • Подтверждение оповещения (approve, 2) – Регистрация состояния успешного результата оповещения в канале для сервиса оповещений.

  • Управление звонком (callmanager, 3) – Группа операций логического управления звонками и конференциями.

  • Скачать запись разговора (records, 4) - Скачивает запись разговора с хранилища записей и размещает во временном каталоге сценария, записывая специальный путь к файлу в переменную с результатом.

Название: Домен
Код: crudDestTD
Усл. видимости: да
По умолчанию: Сценария

Выбор домена, в котором проводится операция.
Применяется для операций категории CRUD в домене.
Возможные значения:

  • Сценария (same, 0) – Домен текущего сценария.

  • Другой (specified, 1) – Указать домен.

Название: Имя домена
Код: crudDomain
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий имя домена для осуществления операции над сущностями. Допускается только указание доменов из дочернего дерева.
Применяется для операций категории CRUD в домене.

Название: Логин пользователя
Код: crudUser
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий логин пользователя в домене.
Применяется для операций категории CRUD в домене.

Название: Тип сущности
Код: crudObject
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий имя класса сущностей.
Применяется для операций категории CRUD в домене.

Название: Метод
Код: crudOperation
Усл. видимости: да
По умолчанию: Создать

Выбор операции.
Возможные значения:

  • Создать (create, 0) – Создание сущности.

  • Получить (read, 1) – Получение набора сущностей.

  • Обновить (update, 2) – Изменение сущности.

  • Удалить (delete, 3) – Удаление сущности.

Применяется для операций категории CRUD в домене.

Название: Данные
Код: crudData
Усл. видимости: да
По умолчанию: — 

Применяется для операций категории CRUD в домене.

Название: Фильтр
Код: crudFilter
Усл. видимости: да
По умолчанию: — 

Поисковый фильтр для операции получения сущностей категории CRUD в домене.
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр filter).

Пример 1 (общий REST формат)
["&&",["like",["property","phonenumber"],"1*"], ["like",["property","login"],"sip*"]]
Пример 2 (формат доменного центра)
{"phonenumber": "1%", "login": "sip%"}

Название: Сортировка
Код: crudSort
Усл. видимости: да
По умолчанию: — 

Режим сортировки для операции получения сущностей категории CRUD в домене.
Указывается в виде JSON-структуры, содержащей массив. Порядок указания и применения (параметр order).

Пример 1
"phonenumber"
Пример 2
["phonenumber", "login"]
Пример 3
[{"phonenumber": "asc"}, {"login":"desc"}]

Название: Доп.параметры
Код: crudParam
Усл. видимости: да
По умолчанию: — 

Дополнительные параметры операции выборки данных категории CRUD в домене.
Дополнительные поля: offset, limit и т.д. Порядок указания и применения.

Пример 1
{"offset": 3}
Пример 2
[{"offset": 3}, {"limit": 2}, {"flat": true}]

Название: Поля
Код: crudFields
Усл. видимости: да
По умолчанию: — 

Маска выдачи объектов (поля) для операции получения сущностей категории CRUD в домене.
Указывается в виде строки с перечислением названий полей через запятую. Порядок указания и применения (параметр mask).

Пример
id, login, phonenumber, opts

Название: Домен
Код: dmsDestTD
Усл. видимости: да
По умолчанию: Сценария

Выбор домена, в котором проводится операция.
Применяется для операций категории Модель данных в домене.
Возможные значения:

  • Сценария (same, 0) – Домен текущего сценария.

  • Другой (specified, 1) – Указать домен.

Название: Имя домена
Код: dmsDomain
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий имя домена для осуществления операции над сущностями. Допускается только указание доменов из дочернего дерева.
Применяется для операций категории Модель данных в домене.

Название: Логин пользователя
Код: dmsUser
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий логин пользователя в домене.
Применяется для операций категории Модель данных в домене.

Название: Имя класса
Код: dmsObject
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий имя класса динамической модели данных (поле classname в экземплярах коллекции classes).
Применяется для операций категории Модель данных в домене.

Пример
email/Accounts

Название: Метод
Код: dmsOperation
Усл. видимости: да
По умолчанию: Создать

Выбор операции.
Возможные значения:

  • Чтение коллекции (read_collection, 0) – Возвращает произвольные элементы с применением фильтра, сортировки, маскировки, лимита и сдвига.

  • Агрегация (read_aggr, 1) – Возвращает агрегированные данные по коллекции. Позволяет выбрать произвольные (в том числе сложные, с суперпозицией) основания и агрегирующие функции. Возвращает набор, состояющий только из указанных полей.

  • Поиск по ключу (lookup, 2) – Получение набора сущностей. Позволяет обнаружить идентификаторы сущностей по значениям их lookup-полей.

  • Чтение сущности (read_entity, 3) – Возвращает указанную сущность. Позволяет применить маскировку.

  • Создание сущности (create, 4) – Создает сущность в коллекции.

  • Замена сущности (replace, 5) – Заменяет сущность в коллекции на новую. Неупомянутые поля очищаются.

  • Изменение сущности (update, 6) – Изменяет сущность в коллекции. Неупомянутые поля остаются нетронутыми.

  • Удаление сущности (delete, 7) – Удаляет сущность из коллекции.

  • Очистка коллекции (clear, 8) – Очищает коллекцию целиком.

  • Скачать вложение (get_attach, 9) – Скачивает вложение во временный файл и сохраняет путь к нему в результат. Требует указания имени свойства с типом attachment. В случае если поле является списочным, то требует также указания имени файла.

  • Разместить вложение (put_attach, 10) – Размещает вложение из указанного файла в хранилище с привязкой к сущности. Требует указания имени свойства с типом attachment.

  • Удалить вложение (delete_attach, 11) – Удаляет вложение из хранилища и отвязывает его от сущности. Требует указания имени свойства с типом attachment. В случае если поле является списочным, то требует также указания имени файла.

  • Листинг вложений (list_attaches, 12) – Возвращает список вложений в рамках конкретного свойства конкретной сущности - объекты с указанием имени, размера, времени модификации, хеша. Требует указания имени свойства с типом attachment, которое обязательно должно быть списочным.

  • Очистить вложения (clear_attaches, 13) – Очищает список вложений в рамках конкретного свойства конкретной сущности. Требует указания имени свойства с типом attachment, которое обязательно должно быть списочным.

Применяется для операций категории Модель данных в домене.

Название: Путь (date/datetime)
Код: dmsPrepath
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий путь к сущности (для коллекций типа history и transactionlog. Дата или дата/время соответствующее значению из поля, указанного в class.opts.partition_property).
Применяется для операций категории Модель данных в домене по отношению к коллекциям типов history и transactionlog.

Название: Ид сущности
Код: dmsId
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий идентификатор сущности (строковое представление UUID).
Применяется для операций категории Модель данных в домене.

Пример
12345678-90ab-cdef-1234-567890abcdef

Название: Название свойства
Код: dmsProperty
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий название свойства, содержащего целевое вложение.
Применяется для операций категории Модель данных в домене.

Название: Имя файла (multi)
Код: dmsSubId
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий учетное имя конкретного файла-вложения в случае, если свойство списочного типа.
Применяется для операций категории Модель данных в домене.

Название: Начало интервала (date/datetime)
Код: dmsIntervalFrom
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий дату/время начала интервала выборки объектов из коллекций с типом history и transactionlog.
Применяется для операций категории Модель данных в домене.

Название: Конец интервала (date/datetime)
Код: dmsIntervalTo
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий дату/время конца интервала выборки объектов из коллекций с типом history и transactionlog.
Применяется для операций категории Модель данных в домене.

Название: Фильтр (json)
Код: dmsFilter
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-список c описанием фильтра для выборки элементов коллекции.
Применяется для операций категории Модель данных в домене.

Пример
["&&",["like",["property","phonenumber"],"1*"], ["like",["property","login"],"sip*"]]

Название: Сортировка (json)
Код: dmsOrder
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-список с описанием последовательности сортировки элементов коллекции.
Применяется для операций категории Модель данных в домене.

Указывается в виде JSON значения - поле, список полей, список объектов с указанием направления сортировки. Порядок указания и применения (параметр order).

Пример 1
"phonenumber"
Пример 2
["phonenumber", "login"]
Пример 3
[{"phonenumber": "asc"}, {"login":"desc"}]

Название: Маска (json)
Код: dmsMask
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-список из полей, подлежащих выборке.
Применяется для операций категории Модель данных в домене.

Указывается в виде JSON-списка строк - имен полей. Порядок указания и применения (параметр mask).

Пример
["id", "name", "description"]

Название: Сдвиг
Код: dmsOffset
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий числовой показатель сдвига в выборке.
Применяется для операций категории Модель данных в домене.

Название: Количество
Код: dmsLimit
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий числовой показатель количества элементов в выборке. Любая коллекция принудительно ограничена сверху конечным значением.
Применяется для операций категории Модель данных в домене.

Название: Поля группировки (json)
Код: dmsGroupBy
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-объект из полей группировки. Значения элементов - списки, представляющие функцию для расчета базы агрегации.
Применяется для операций категории Модель данных в домене.

Название: Поля агрегации (json)
Код: dmsAggr
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-объект из полей агрегации. Значения элементов - списки, представляющие агрегирующую функцию. Может быть применена суперпозиция для расчета сложных показателей агрегации.
Применяется для операций категории Модель данных в домене.

Название: Содержимое (json)
Код: dmsContent
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий json-объект со значениями полей при сохранении сущности.
Применяется для операций категории Модель данных в домене.

Название: Путь к файлу (string)
Код: `dmsFromPath

Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий категоризированный путь к файлу, подлежащему загрузке в качестве вложения.
Применяется для операций категории Модель данных в домене.

Название: Тип сущности
Код: regType
Усл. видимости: да
По умолчанию: — 

Выбор из списка видов регистрируемых сущностей".
Возможные значения:

  • Пользователи (user, 1) – Регистрации подключений пользователей.

  • SIP-пользователи (sipuser, 2) – Регистрации подключений SIP-устройств.

Применяется для операций категории Регистрар.

Название: Метод
Код: regOperationU
Усл. видимости: да
По умолчанию: Получить вебсокет подключения

Выбор операции.
Возможные значения:

  • Получить вебсокет подключения (read_user_websock_connections, 1) – Получение массива данных о вебсокет-подключениях в виде JSON.

  • Получить регистрации (read_user_registrations, 2) – Получение массива данных о регистрацих по HTTP в виде JSON.

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

Название: Метод
Код: regOperationSU
Усл. видимости: да
По умолчанию: Получить регистрации

Выбор операции.
Возможные значения:

  • Получить регистрации (read_user_registrations, 1) – Получение массива данных о регистрацих устройств.

Применяется для операций категории Регистрар для выбранного типа сущностей SIP-пользователи.

Название: Учетная запись
Код: regAccU
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий логин или идентификатор сущностий. Если значение пустое, то вернутся все записи.
Применяется для операций категории Регистрар для выбранного типа сущностей Пользователи.

Название: Учетная запись
Код: regAccSU
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий логин или идентификатор сущностий. Если значение пустое, то вернутся все записи.
Применяется для операций категории Регистрар для выбранного типа сущностей SIP-пользователи.

Название: Фильтр
Код: regFilter
Усл. видимости: да
По умолчанию: — 

Поисковый фильтр для операции получения сущностей категории Регистрар.
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр filter).

Название: Сортировка
Код: regSort
Усл. видимости: да
По умолчанию: — 

Режим сортировки для операции получения сущностей категории Регистрар.
Указывается в виде JSON-структуры, содержащей массив. Порядок указания и применения (параметр order).

Название: Поля
Код: regFields
Усл. видимости: да
По умолчанию: — 

Маска выдачи объектов (поля) для операции получения сущностей категории Регистрар.
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр mask).

Название: Доп.параметры
Код: regParam
Усл. видимости: да
По умолчанию: — 

Дополнительные параметры операции выборки категории Регистрар.
Дополнительные поля: offset, limit и т.д. Порядок указания и применения.

Название: Метод
Код: bindingOperation
Усл. видимости: да
По умолчанию: Добавить

Выбор операции с метками контекста звонка.
Применяется для операций категории Привязка звонка.
Возможные значения:

  • Добавить (add, 0) – Добавляет метку.

  • Удалить (remove, 1) – Удаляет метку.

  • Изменить (setx, 2) – Заменяет метку на новую.

  • Очистить (cleanup, 3) – Очищает метку.

  • Проверить (contains, 4) – Проверяет наличие указанной метки и возвращает 1 или 0.

  • Получить (get, 5) – Возвращает метку.

Название: Метка
Код: bindingLabel
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий текстовое содержание метки.
Применяется для операций категории Привязка звонка.

Название: Метод
Код: callmanagerOperation
Усл. видимости: да
По умолчанию: Поиск звонка

Выбор операции для управления звонком.
Применяется для операций категории Управление звонком.
Возможные варианты:

  • Поиск звонка (lookupcall, 9) – Возвращает идентификатор звонка (DialogId) по одному из ключевых значений: DialogId, InviteId, CallId одного из плеч, URI одного из плеч в формате <sip:Username@Domain> и др.

  • Поиск конференции (lookupconf, 10) – Возвращает идентификатор конференции (ConfId) по одному из ключевых значений: ConfId, номер комнаты, URI конференции.

  • Список звонков (listcalls, 11) – Возвращает список звонков в домене.

  • Список конференций (listconfs, 12) – Возвращает список идентификаторов конференций (ConfId) в домене.

  • Информация о звонке (getcall, 13) – Возвращает информацию о звонке.

  • Информация о конференции (getconf, 14) – Возвращает информацию о конференции.

  • Исходящий вызов (invite, 0) – Инициирует новый вызов от одного абонента к другому. Совершается сервисом IVR, который вызывает сначала одного абонента, а потом переключает его на другого с помощью SIP-запроса REFER.

  • Исходящий вызов от IVR (invitebyivr, 18) – Инициирует новый вызов и соединяет его с указанным сценарием IVR. Совершается сразу сервисом IVR. Абонент может быть указан как через номер, так и через учетную запись.

  • Завершение звонка (bye, 1) – Завершает указанный вызов или совокупность вызовов по указанному URI.

  • Уведомление (notify, 17) - Отправляет на устройство запрос NOTIFY с указанным в параметре event типом события (Например, расширение BroadSoft для управления устройством). Параметр callid указывает плечо, за которым находится конкретное устройство. Команда выполняется только если в соответствии с RFC3265 устройство сообщило о поддержке указанного типа событий (расширения). Опциональные параметры: body и contenttype.

  • Перевод на номер (refer, 2) – Осуществляет перевод абонента указанного звонка на указанный номер. Совершается сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces) и отправляет SIP-запрос REFER.

  • Перевод на IVR (refertoivr, 19) – Осуществляет перевод абонента указанного звонка на указанный сценарий IVR. Совершается сразу сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces).

  • Соединение (referreplaces, 3) – Осуществляет соединение абонентов двух разных звонков, отбивая оставшихся. Совершается сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces), после этого переводит на другого абоненета с помощью SIP-запроса REFER+Replaces.

  • Перевод на конференцию (referconf, 8) – Осуществляет переключение одного из абонентов указанного звонка на указанную конференцию. Если второй абонент держит конференцию на удержании, то ему остается нажать HOLD.

  • Преобразование в конференцию (switchconf, 4) – Осуществляет перевод обоих абонентов звонка в общую конференцию. Совершается сервисами IVR, каждый из которых подменяет отдельное плечо с помощью SIP-запроса INVITE+Replaces, и затем переводит на номер конференц-комнаты с помощью SIP-запроса REFER.

  • Остановка конференции (stopconf, 5) – Осуществляет завершение указанной конференции с автоматическим отключением всех участников.

  • Список участников (getparticipants, 15) – Возвращает список участников конференции.

  • Информация об участнике (getparticipant, 16) – Возвращает информацию об участнике конференции.

  • Присоединение участника (attachparticipant, 6) – Осуществляет исходящий вызов из указанной конференц на указанный номер.

  • Исключение участника (detachparticipant, 7) – Осуществляет отключение участника из конференции.

Название: Параметры (JSON)
Код: callmanagerParams
Усл. видимости: да
По умолчанию: — 

Параметры для операции управления звонком.
Значение для каждого из методов представляет собой JSON-структуру в виде объекта с содержанием, соответствущем API управления звонками и конференциями.
Применяется для операций категории Управление звонком.

Название: Метод
Код: sipuserOperation
Усл. видимости: да
По умолчанию: Установка huntblock

Выбор операции.
Возможные значения:

  • Установка huntblock (huntblock, 0) – Установка huntblock.

Применяется для операции категории Управление sipuser.

Название: Логин или Id
Код: sipuserLoginOrId
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий логин или id сущности sipuser в домене.
Применяется для операции категории Управление sipuser.

Название: Тип таймаута
Код: sipuserHBStrat
Усл. видимости: да
По умолчанию: Заменить

Выбор операции.
Возможные значения:

  • Заменить (single_newexpire, 1) – Замена одиночного состояния на другое такое же с установкой нового таймера автоудаления.

  • Максимальный (single_maxexpire, 2) – Замена одиночного состояние на другое такое же с установкой таймера автоудаления на время равное max(остаток, новое время).

Применяется для операции категории Управление sipuser.

Название: Таймаут, сек.
Код: sipuserTTLSec
Усл. видимости: да
По умолчанию: — 

Время блокировки указанного sipuser для очередей huntq в секундах.

Применяется для операции категории Управление sipuser.

Название: Комментарий
Код: sipuserComment
Усл. видимости: да
По умолчанию: — 

Комментарий блокировки указанного sipuser для очередей huntq.

Применяется для операции категории Управление sipuser.

Название: Ключ/ссылка к записи
Код: recLink
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий путь к файлу записи в хранилище.
Применяется для операции в категории Скачать запись разговора.

Ключ генерируется в событиях класса callevents. Хранится в коллекции коллцентра /callcenter/connections/ArchiveConnections.
Возможные форматы ключа:

  • 'sk:StorageKey:RecPath'

  • 's3:RecPath'

  • 'fs:RecStorageId:RecPath'

Название: Ид хранилища
Код: recStorageId
Усл. видимости: да
По умолчанию: — 

OBSOLETE. Оставлен для поддержки ранее созданных сценариев.
Аргумент содержащий идентификатор/код хранилища.
Применяется для операции в категории Скачать запись разговора.

Название: Путь к записи в хранилище
Код: recPath
Усл. видимости: да
По умолчанию: — 

OBSOLETE. Оставлен для поддержки ранее созданных сценариев.
Аргумент, содержащий путь к файлу записи в хранилище.
Применяется для операции в категории Скачать запись разговора.

Название: Результат в переменную
Код: resultVariable
Усл. видимости: нет
По умолчанию: — 

Переменная для сохранения результата операции.

Название: Переход
Код: transfer``
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление при успешном завершении операции.

Название: Переход, время
Код: transferTimeout
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление по истечении таймауте ожидания результата операции.

Название: Переход, ошибка
Код: transferError
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.