AZykov (обсуждение | вклад) |
AZykov (обсуждение | вклад) Нет описания правки |
||
Строка 677: | Строка 677: | ||
Применяется для действия <code>Изменить DN</code>. | Применяется для действия <code>Изменить DN</code>. | ||
|} | |} | ||
=== Запуск процесса === | |||
[[Файл:Компонент Запуск процесса.png|центр|безрамки|508x508пкс]] | |||
Запускает на сервере внешний консольный процесс. Параметры передаются в теле командной строки. Возвращаемое процессом значение из консоли может быть захвачено и возвращено в переменную. | |||
Операция должна быть предварительно разрешена и настроена в файле ассетов permissions.json на каждом сервере, где может выполняться компонент. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Режим</code> | |||
|Режим ожидания завершения процесса ОС. | |||
Возможные значения: | |||
* <code>Асинхронный запуск</code> (<code>async</code>, <code>0</code>) – Сразу после запуска процесса передает управление следующему компоненту. | |||
* <code>Ожидание завершения</code> (<code>sync</code>, <code>1</code>) – Передает управление следующему компоненту только после завершения процесса или таймаута ожидания. | |||
|- | |||
|<code>Путь к исполняемому файлу</code> | |||
|Путь к файлу или команда ОС. Префикс командной строки. | |||
Префикс должен быть разрешен в файле permissions.json. | |||
Примеры указания команд: | |||
* <code>echo</code> | |||
* <code>myprogram1</code> | |||
* <code>/bin/myprogram2</code> | |||
* <code>:GLOBALSHARE_COMMON/cmd/myprogram3</code> | |||
* <code>bash :SYNC_COMMON/cmd/myscript.sh</code> | |||
Для разрешения этих примеров в файле 'permissions.json' должно быть следующее содержание: | |||
{ | |||
"exec_perm": { | |||
"check": true, | |||
"user": "root", | |||
"commands": [ | |||
"echo", | |||
"myprogram1", | |||
"/bin/myprogram2", | |||
":GLOBALSHARE/common/cmd/myprogram3", | |||
":SYNC/common/cmd/myscript.sh" | |||
] | |||
} | |||
} | |||
Используя bash-скрипты можно запускать любые команды, разрешение проверяется только на путь к стартовому bash-скрипту. | |||
|- | |||
|<code>Параметры запуска командной строки</code> | |||
|Постфикс команды, содержащий параметры. | |||
|- | |||
|<code>Время, с</code> | |||
|Таймаут ожидания завершения процесса. | |||
|} | |||
=== Генератор события === | |||
[[Файл:Компонент Генератор события.png|центр|безрамки|542x542пкс]] | |||
Осуществляет отправку произвольного события подписчикам на события системы (роль [https://vendor.era-platform.ru/docs/era/latest/configuration/roles/wssubscr.html wssubscr]). | |||
При наличии соответствующих [https://vendor.era-platform.ru/docs/era/latest/assets/solution/events.html ассетов описания событий] они также попадают в БД. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Пользователь</code> | |||
|Имя пользователя, по которому производится фильтрация при подписке. | |||
Для роли wssubscr значение представляется в виде структуры <code>{sipuser, User}</code>. | |||
|- | |||
|<code>Имя события</code> | |||
|Имя события, содержащее класс и тип через точку в формате <code>CLASS_NAME.TYPE_NAME</code> | |||
|- | |||
|<code>Тело события</code> | |||
|Тело отправляемого сообщения в виде JSON-структуры | |||
|} | |||
Вызов микросервиса | |||
[[Файл:Компонент Вызов микросервиса.png|центр|безрамки|539x539пкс]] | |||
Осуществляет запрос указанного метода указанного микросервиса в продуктовом слое текущего домена. Вызов осуществляется с помощью коллекции platform/services/Invocations. | |||
Передает на вход либо объект со значениями переменных, либо объект с указанными именованными аргументами, либо указанный аргументом параметр. | |||
На выход возвращаемый результат сохраняется в переменной, а также при активации режима возвращаемый объект раскладывается по переменным сценария, сопоставляя ключи первого уровня и имена локальных переменных. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Спецификация | |||
!Описание | |||
|- | |||
|<code>Микросервис</code> | |||
|Имя микросервиса для вызова | |||
|- | |||
|<code>Метод</code> | |||
|Имя метода микросервиса для вызова | |||
|- | |||
|<code>Способ задания параметров</code> | |||
|Способ задания параметров: | |||
* Все переменные - все переменные сценария будут переданы в качестве аргументов (с сохранением названий) | |||
* Аргументы - доступна коллекция аргументов для настройки | |||
* Произвольный - доступен параметр для передачи произвольного JSON | |||
|- | |||
|<code>Раскладывать по переменным</code> | |||
| | |||
|- | |||
|<code>Аргументы</code> | |||
|Коллекция аргументов для передачи в метод микросервиса | |||
|- | |||
|<code>Произвольный параметр</code> | |||
|Произвольный JSON для использования в качестве аргументов | |||
|} | |||
=== Операция === | |||
[[Файл:Компонент Операция.png|центр|безрамки|470x470пкс]] | |||
Мультифункциональный компонент, предоставляющий различные служебные методы для осуществления воздействия на систему. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Тип операции</code> | |||
|Выбор категории операций. | |||
Возможные значения: | |||
* <code>CRUD в домене</code> (<code>crud</code>, <code>0</code>) – Группа операции над сущностями доменов (чтение, создание, модификация, удаление). Операция возможна только над классами, управляемыми доменным центром (роли mdc, sdc). Доступны в API через эндпойнты, отличные от /rest/v1/model/… | |||
* <code>Модель данных в домене</code> (<code>dms</code>, <code>8</code>) – Группа операций над сущностями динамической модели данных домена (чтение, создание, модификация, удаление, очистка, работа с вложениями). Операция возможна только над классами, управляемыми сервером модели данных (роль dms). Доступны в API через эндпойнты /rest/v1/model/… | |||
* <code>Регистрар</code> (<code>registrar</code>,<code>5</code>) - Данные из регистрара. | |||
* <code>Привязка звонка</code> (<code>bindings</code>, <code>1</code>) – Проставление метки в контекст к указанному звонку. Особенность метки в том, что она переходит от одного звонка к другому при переключениях (SIP REFER). | |||
* <code>Управление звонком</code> (<code>callmanager</code>, <code>3</code>) – Группа операций логического управления звонками и конференциями. | |||
* <code>Управление sipuser</code> (<code>sipuser</code>, <code>6</code>) – Операция управления sipuser для выставления huntblock. | |||
* <code>Скачать запись разговора</code> (<code>records</code>, <code>4</code>) - Скачивает запись разговора с хранилища записей и размещает во временном каталоге сценария, записывая специальный путь к файлу в переменную с результатом. | |||
|- | |||
|<code>Домен</code> | |||
|Выбор домена, в котором проводится операция. | |||
Применяется для операций категории <code>CRUD в домене</code>. | |||
Возможные значения: | |||
* <code>Сценария</code> (<code>same</code>, <code>0</code>) – Домен текущего сценария. | |||
* <code>Другой</code> (<code>specified</code>, <code>1</code>) – Указать домен. | |||
|- | |||
|<code>Имя домена</code> | |||
|Аргумент, содержащий имя домена для осуществления операции над сущностями. Допускается только указание доменов из дочернего дерева. | |||
Применяется для операций категории <code>CRUD в домене</code>. | |||
|- | |||
|<code>Логин пользователя</code> | |||
|Аргумент, содержащий логин пользователя в домене. | |||
Применяется для операций категории <code>CRUD в домене</code>. | |||
|- | |||
|<code>Тип сущности</code> | |||
|Аргумент, содержащий имя класса сущностей. | |||
Применяется для операций категории <code>CRUD в домене</code>. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор операции. | |||
Возможные значения: | |||
* <code>Создать</code> (<code>create</code>, <code>0</code>) – Создание сущности. | |||
* <code>Получить</code> (<code>read</code>, <code>1</code>) – Получение набора сущностей. | |||
* <code>Обновить</code> (<code>update</code>, <code>2</code>) – Изменение сущности. | |||
* <code>Удалить</code> (<code>delete</code>, <code>3</code>) – Удаление сущности. | |||
Применяется для операций категории <code>CRUD в домене</code>. | |||
|- | |||
|<code>Данные</code> | |||
|Аргумент, содержащий либо json-объект со значениями полей при создании или обновлении, либо с идентификатором при удалении. | |||
Применяется для операций категории <code>CRUD в домене</code>. | |||
Правила формирования выражений для JSON-значений см. Экранирование JSON и Шаблоны. | |||
|- | |||
|<code>Фильтр</code> | |||
|Поисковый фильтр для операции получения сущностей категории <code>CRUD в домене</code>. | |||
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр filter). | |||
Пример 1 (общий REST формат) | |||
["&&",["like",["property","phonenumber"],"1*"], ["like",["property","login"],"sip*"]] | |||
Пример 2 (формат доменного центра) | |||
{"phonenumber": "1%", "login": "sip%"} | |||
|- | |||
|<code>Сортировка</code> | |||
|Режим сортировки для операции получения сущностей категории <code>CRUD в домене</code>. | |||
Указывается в виде JSON-структуры, содержащей массив. Порядок указания и применения (параметр order). | |||
Пример 1 | |||
"phonenumber" | |||
Пример 2 | |||
["phonenumber", "login"] | |||
Пример 3 | |||
[{"phonenumber": "asc"}, {"login":"desc"}] | |||
|- | |||
|<code>Доп.параметры</code> | |||
|Дополнительные параметры к запросу в доменный центр в формате JSON для получения сущностей категории <code>CRUD в домене</code>. | |||
Пример 1 | |||
{"offset": 3} | |||
Пример 2 | |||
[{"offset": 3}, {"limit": 2}, {"flat": true}] | |||
|- | |||
|<code>Поля</code> | |||
|Маска выдачи объектов (поля) для операции получения сущностей категории <code>CRUD в домене</code>. | |||
Указывается в виде строки с перечислением названий полей через запятую. Порядок указания и применения (параметр mask). | |||
Пример | |||
id, login, phonenumber, opts | |||
|- | |||
|<code>Имя класса</code> | |||
|Аргумент, содержащий имя класса динамической модели данных (поле classname в экземплярах коллекции classes). | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
Пример | |||
email/Accounts | |||
|- | |||
|<code>Метод</code> | |||
|Выбор операции. | |||
Возможные значения: | |||
* <code>Чтение коллекции</code> (<code>read_collection</code>, <code>0</code>) – Возвращает произвольные элементы с применением фильтра, сортировки, маскировки, лимита и сдвига. | |||
* <code>Агрегация</code> (<code>read_aggr</code>, <code>1</code>) – Возвращает агрегированные данные по коллекции. Позволяет выбрать произвольные (в том числе сложные, с суперпозицией) основания и агрегирующие функции. Возвращает набор, состояющий только из указанных полей. | |||
* <code>Поиск по ключу</code> (<code>lookup</code>, <code>2</code>) – Получение набора сущностей. Позволяет обнаружить идентификаторы сущностей по значениям их lookup-полей. | |||
* <code>Чтение сущности</code> (<code>read_entity</code>, <code>3</code>) – Возвращает указанную сущность. Позволяет применить маскировку. | |||
* <code>Создание сущности</code> (<code>create</code>, <code>4</code>) – Создает сущность в коллекции. | |||
* <code>Замена сущности</code> (<code>replace</code>, <code>5</code>) – Заменяет сущность в коллекции на новую. Неупомянутые поля очищаются. | |||
* <code>Изменение сущности</code> (<code>update</code>, <code>6</code>) – Изменяет сущность в коллекции. Неупомянутые поля остаются нетронутыми. | |||
* <code>Удаление сущности</code> (<code>delete</code>, <code>7</code>) – Удаляет сущность из коллекции. | |||
* <code>Очистка коллекции</code> (<code>clear</code>, <code>8</code>) – Очищает коллекцию целиком. | |||
* <code>Скачать вложение</code> (<code>get_attach</code>, <code>9</code>) – Скачивает вложение во временный файл и сохраняет путь к нему в результат. Требует указания имени свойства с типом attachment. В случае если поле является списочным, то требует также указания имени файла. | |||
* <code>Разместить вложение</code> (<code>put_attach</code>, <code>10</code>) – Размещает вложение из указанного файла в хранилище с привязкой к сущности. Требует указания имени свойства с типом attachment. | |||
* <code>Удалить вложение</code> (<code>delete_attach</code>, <code>11</code>) – Удаляет вложение из хранилища и отвязывает его от сущности. Требует указания имени свойства с типом attachment. В случае если поле является списочным, то требует также указания имени файла. | |||
* <code>Листинг вложений</code> (<code>list_attaches</code>, <code>12</code>) – Возвращает список вложений в рамках конкретного свойства конкретной сущности - объекты с указанием имени, размера, времени модификации, хеша. Требует указания имени свойства с типом attachment, которое обязательно должно быть списочным. | |||
* <code>Очистить вложения</code> (<code>clear_attaches</code>, <code>13</code>) – Очищает список вложений в рамках конкретного свойства конкретной сущности. Требует указания имени свойства с типом attachment, которое обязательно должно быть списочным. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Путь (date/datetime)</code> | |||
|Аргумент, содержащий путь к сущности (для коллекций типа history и transactionlog. Дата или дата/время соответствующее значению из поля, указанного в class.opts.partition_property). | |||
Применяется для операций категории <code>Модель данных в домене</code> по отношению к коллекциям типов history и transactionlog. | |||
|- | |||
|<code>Ид сущности</code> | |||
|Аргумент, содержащий идентификатор сущности. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Название свойства</code> | |||
|Аргумент, содержащий название свойства, содержащего целевое вложение. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Имя файла (multi)</code> | |||
|Аргумент, содержащий учетное имя конкретного файла-вложения в случае, если свойство списочного типа. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Начало интервала (date/datetime)</code> | |||
|Аргумент, содержащий дату/время начала интервала выборки объектов из коллекций с типом history и transactionlog. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Конец интервала (date/datetime)</code> | |||
|Аргумент, содержащий дату/время конца интервала выборки объектов из коллекций с типом history и transactionlog. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Фильтр (json)</code> | |||
|Аргумент, содержащий json-список c описанием фильтра для выборки элементов коллекции. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
Порядок указания и применения (параметр filter). | |||
Пример | |||
["&&",["like",["property","phonenumber"],"1*"], ["like",["property","login"],"sip*"]] | |||
|- | |||
|<code>Сортировка (json)</code> | |||
|Аргумент, содержащий json-список с описанием последовательности сортировки элементов коллекции. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
Указывается в виде JSON значения - поле, список полей, список объектов с указанием направления сортировки. Порядок указания и применения (параметр order). | |||
Пример 1 | |||
"phonenumber" | |||
Пример 2 | |||
["phonenumber", "login"] | |||
Пример 3 | |||
[{"phonenumber": "asc"}, {"login":"desc"}] | |||
|- | |||
|<code>Маска (json)</code> | |||
|Аргумент, содержащий json-список из полей, подлежащих выборке. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
Указывается в виде JSON-списка строк - имен полей. Порядок указания и применения (параметр mask). | |||
Пример | |||
["id", "name", "description"] | |||
|- | |||
|<code>Сдвиг</code> | |||
|Аргумент, содержащий числовой показатель сдвига в выборке. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Количество</code> | |||
|Аргумент, содержащий числовой показатель количества элементов в выборке. Любая коллекция принудительно ограничена сверху конечным значением. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Поля группировки (json)</code> | |||
|Аргумент, содержащий json-объект из полей группировки. Значения элементов - списки, представляющие функцию для расчета базы агрегации. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Поля агрегации (json)</code> | |||
|Аргумент, содержащий json-объект из полей агрегации. Значения элементов - списки, представляющие агрегирующую функцию. Может быть применена суперпозиция для расчета сложных показателей агрегации. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Содержимое (json)</code> | |||
|Аргумент, содержащий json-объект со значениями полей при сохранении сущности. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
Правила формирования выражений для JSON-значений см. Экранирование JSON и Шаблоны. | |||
|- | |||
|<code>Путь к файлу (string)</code> | |||
|Аргумент, содержащий категоризированный путь к файлу, подлежащему загрузке в качестве вложения. | |||
Применяется для операций категории <code>Модель данных в домене</code>. | |||
|- | |||
|<code>Тип сущности</code> | |||
|Выбор из списка видов регистрируемых сущностей". | |||
Возможные значения: | |||
* <code>Пользователи</code> (<code>user</code>, <code>1</code>) – Регистрации и подключения пользователей. | |||
* <code>SIP-пользователи</code> (<code>sipuser</code>, <code>2</code>) – Регистрации SIP-устройств. | |||
Применяется для операций категории <code>Регистрар</code>. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор операции. | |||
Возможные значения: | |||
* <code>Получить вебсокет подключения</code> (<code>read_user_websock_connections</code>, <code>1</code>) – Получение массива данных о вебсокет-подключениях в виде JSON. | |||
* <code>Получить регистрации</code> (<code>read_user_registrations</code>, <code>2</code>) – Получение массива данных о регистрацих по HTTP в виде JSON. | |||
Применяется для операций категории <code>Регистрар</code> для выбранного типа сущностей <code>Пользователи</code>. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор операции. | |||
Возможные значения: | |||
* <code>Получить регистрации</code> (<code>read_user_registrations</code>, <code>1</code>) – Получение массива данных о регистрацих устройств. | |||
Применяется для операций категории <code>Регистрар</code> для выбранного типа сущностей <code>SIP-пользователи</code>. | |||
|- | |||
|<code>Учетная запись</code> | |||
|Аргумент, содержащий логин или идентификатор сущностий. Если значение пустое, то вернутся все записи. | |||
Применяется для операций категории <code>Регистрар</code> для выбранного типа сущностей <code>Пользователи</code>. | |||
|- | |||
|<code>Учетная запись</code> | |||
|Аргумент, содержащий логин или идентификатор сущностий. Если значение пустое, то вернутся все записи. | |||
Применяется для операций категории <code>Регистрар</code> для выбранного типа сущностей <code>SIP-пользователи</code>. | |||
|- | |||
|<code>Фильтр</code> | |||
|Поисковый фильтр для операции получения сущностей категории <code>Регистрар</code>. | |||
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр filter). | |||
|- | |||
|<code>Сортировка</code> | |||
|Режим сортировки для операции получения сущностей категории <code>Регистрар</code>. | |||
Указывается в виде JSON-структуры, содержащей массив. Порядок указания и применения (параметр order). | |||
|- | |||
|<code>Поля</code> | |||
|Маска выдачи объектов (поля) для операции получения сущностей категории <code>Регистрар</code>. | |||
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр mask). | |||
|- | |||
|<code>Доп.параметры</code> | |||
|Дополнительные параметры операции выборки категории <code>Регистрар</code>. | |||
Дополнительные поля: offset, limit и т.д. Порядок указания и применения. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор операции с метками контекста звонка. | |||
Применяется для операций категории <code>Привязка звонка</code>. | |||
Возможные значения: | |||
* <code>Добавить</code> (<code>add</code>, <code>0</code>) – Добавляет метку. | |||
* <code>Удалить</code> (<code>remove</code>, <code>1</code>) – Удаляет метку. | |||
* <code>Изменить</code> (<code>setx</code>, <code>2</code>) – Заменяет метку на новую. | |||
* <code>Очистить</code> (<code>cleanup</code>, <code>3</code>) – Очищает метку. | |||
* <code>Проверить</code> (<code>contains</code>, <code>4</code>) – Проверяет наличие указанной метки и возвращает <code>1</code> или <code>0</code>. | |||
* <code>Получить</code> (<code>get</code>, <code>5</code>) – Возвращает метку. | |||
|- | |||
|<code>Идентификатор звонка</code> | |||
|Аргумент, содержащий идентификатор звонка: CallId или DialogId. | |||
Применяется для операций категории <code>Привязка звонка</code>. | |||
|- | |||
|<code>Метка</code> | |||
|Аргумент, содержащий текстовое содержание метки. | |||
Применяется для операций категории <code>Привязка звонка</code>. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор операции для управления звонком. | |||
Применяется для операций категории <code>Управление звонком</code>. | |||
Возможные варианты: | |||
* <code>Поиск звонка</code> (<code>lookupcall</code>, <code>9</code>) – Возвращает идентификатор звонка (DialogId) по одному из ключевых значений: DialogId, InviteId, CallId одного из плеч, URI одного из плеч в формате <code><<nowiki>sip:Username@Domain</nowiki>></code> и др. | |||
* <code>Поиск конференции</code> (<code>lookupconf</code>, <code>10</code>) – Возвращает идентификатор конференции (ConfId) по одному из ключевых значений: ConfId, номер комнаты, URI конференции. | |||
* <code>Список звонков</code> (<code>listcalls</code>, <code>11</code>) – Возвращает список звонков в домене. | |||
* <code>Список конференций</code> (<code>listconfs</code>, <code>12</code>) – Возвращает список идентификаторов конференций (ConfId) в домене. | |||
* <code>Информация о звонке</code> (<code>getcall</code>, 13) – Возвращает информацию о звонке. | |||
* <code>Информация о конференции</code> (<code>getconf</code>, 14) – Возвращает информацию о конференции. | |||
* <code>Исходящий вызов</code> (<code>invite</code>, <code>0</code>) – Инициирует новый вызов от одного абонента к другому. Совершается сервисом IVR, который вызывает сначала одного абонента, а потом переключает его на другого с помощью SIP-запроса REFER. У первоначального (интерком)-вызова устройства инициирующего абонента из IVR проставляется признак Ghost=invite. | |||
* <code>Исходящий вызов от IVR</code> (<code>invitebyivr</code>, <code>18</code>) – Инициирует новый вызов и соединяет его с указанным сценарием IVR. Совершается сразу сервисом IVR. Абонент может быть указан как через номер, так и через учетную запись. У вызова из IVR проставляется признак Ghost=invitebyivr. | |||
* <code>Завершение звонка</code> (<code>bye</code>, <code>1</code>) – Завершает указанный вызов или совокупность вызовов по указанному URI. | |||
* <code>Уведомление</code> (<code>notify</code>, <code>17</code>) - Отправляет на устройство запрос NOTIFY с указанным в параметре <code>event</code> типом события (Например, расширение BroadSoft для управления устройством). Параметр <code>callid</code> указывает плечо, за которым находится конкретное устройство. Команда выполняется только если в соответствии с RFC3265 устройство сообщило о поддержке указанного типа событий (расширения). Опциональные параметры: <code>body</code> и <code>contenttype</code>. | |||
* <code>Перевод на номер</code> (<code>refer</code>, <code>2</code>) – Осуществляет перевод абонента указанного звонка на указанный номер. Совершается сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces) и отправляет SIP-запрос REFER. У взрезающего вызова из IVR проставляется признак Ghost=refer. | |||
* <code>Перевод на IVR</code> (<code>refertoivr</code>, <code>19</code>) – Осуществляет перевод абонента указанного звонка на указанный сценарий IVR. Совершается сразу сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces). У взрезающего вызова из IVR проставляется признак Ghost=refertoivr. | |||
* <code>Соединение</code> (<code>referreplaces</code>, <code>3</code>) – Осуществляет соединение абонентов двух разных звонков, отбивая оставшихся. Совершается сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces), после этого переводит на другого абоненета с помощью SIP-запроса REFER+Replaces. У взрезающего вызова из IVR проставляется признак Ghost=referreplaces. | |||
* <code>Перевод на конференцию</code> (<code>referconf</code>, <code>8</code>) – Осуществляет переключение одного из абонентов указанного звонка на указанную конференцию. Если второй абонент держит конференцию на удержании, то ему остается нажать HOLD. У взрезающего вызова из IVR проставляется признак Ghost=refer. | |||
* <code>Преобразование в конференцию</code> (<code>switchconf</code>, <code>4</code>) – Осуществляет перевод обоих абонентов звонка в общую конференцию. Совершается сервисами IVR, каждый из которых подменяет отдельное плечо с помощью SIP-запроса INVITE+Replaces, и затем переводит на номер конференц-комнаты с помощью SIP-запроса REFER. У взрезающих вызовов из IVR проставляется признак Ghost=switchconf. | |||
* <code>Остановка конференции</code> (<code>stopconf</code>, <code>5</code>) – Осуществляет завершение указанной конференции с автоматическим отключением всех участников. | |||
* <code>Список участников</code> (<code>getparticipants</code>, 15) – Возвращает список участников конференции. | |||
* <code>Информация об участнике</code> (<code>getparticipant</code>, 16) – Возвращает информацию об участнике конференции. | |||
* <code>Присоединение участника</code> (<code>attachparticipant</code>, <code>6</code>) – Осуществляет исходящий вызов из указанной конференц на указанный номер. | |||
* <code>Исключение участника</code> (<code>detachparticipant</code>, <code>7</code>) – Осуществляет отключение участника из конференции. | |||
|- | |||
|<code>Параметры (JSON)</code> | |||
|Параметры для операции управления звонком. | |||
Значение для каждого из методов представляет собой JSON-структуру в виде объекта с содержанием, соответствущем API управления звонками и конференциями. | |||
Применяется для операций категории <code>Управление звонком</code>. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор метода. | |||
Возможные значения: | |||
* <code>Установка huntblock</code> (<code>huntblock</code>, <code>0</code>) – Установка huntblock. | |||
Применяется для операций категории <code>Управление sipuser</code>. | |||
|- | |||
|<code>Логин или Id</code> | |||
|Аргумент, содержащий логин или id сущности sipuser в домене. | |||
Применяется для операций категории <code>Управление sipuser</code>. | |||
|- | |||
|<code>Тип таймаута</code> | |||
|Выбор типа таймаута. | |||
Возможные значения: | |||
* <code>Заменить</code> (<code>single_newexpire</code>, <code>1</code>) – Замена одиночного состояния на другое такое же с установкой нового таймера автоудаления. | |||
* <code>Максимальный</code> (<code>single_maxexpire</code>, <code>2</code>) – Замена одиночного состояние на другое такое же с установкой таймера автоудаления на время равное max(остаток, новое время). | |||
Применяется для операций категории <code>Управление sipuser</code>. | |||
|- | |||
|<code>Таймаут, сек.</code> | |||
|Время блокировки указанного sipuser для очередей huntq в секундах. | |||
Применяется для операций категории <code>Управление sipuser</code>. | |||
|- | |||
|<code>Комментарий</code> | |||
|Комментарий блокировки указанного sipuser для очередей huntq. | |||
Применяется для операций категории <code>Управление sipuser</code>. | |||
|- | |||
|<code>Ид хранилища</code> | |||
|Аргумент содержащий идентификатор/код хранилища. | |||
Применяется для операций в категории <code>Скачать запись разговора</code>. | |||
|- | |||
|<code>Путь к записи в хранилище</code> | |||
|Аргумент, содержащий путь к файлу записи в хранилище. | |||
Применяется для операций в категории <code>Скачать запись разговора</code>. | |||
|- | |||
|<code>Имя домена</code> | |||
|Аргумент, содержащий имя домена для операции. Допускается указание любого существующего в системе домена. | |||
Применяется для операций категории <code>Внешняя аутентификация</code> методами <code>Проверка пароля</code> и <code>Создание сессии</code>. | |||
|- | |||
|<code>Логин или Id</code> | |||
|Аргумент, содержащий логин или идентификатор пользователя (значение поля <code>login</code> или <code>id</code>) сущности <code>user</code> в домене. | |||
Применяется для операций категории <code>Внешняя аутентификация</code> методами <code>Проверка пароля</code> и <code>Создание сессии</code>. | |||
|- | |||
|<code>Пароль</code> | |||
|Аргумент, содержащий пароль (значение поля <code>pwd</code>) сущности <code>user</code> в домене. | |||
Применяется для операций категории <code>Внешняя аутентификация</code> метода <code>Проверка пароля</code>. | |||
|- | |||
|<code>Ключ данных wsban</code> | |||
|Аргумент, содержащий ключ данных для добавления неудавшейся попытки в wsban. | |||
Чтобы противостоять перебору данных аутентификации, необходимо их применить при формировнии ключа для wsban. | |||
Применение ключа позволяет избегать блокирования неправильно реализованных клиентов, которые несмотря на негативный ответ попытки аутентификации, продолжают слать одни и те же данные снова и снова. | |||
Например, Создание сессии применяет {Domain,Login,Pwd} в качестве ключа. | |||
Полученное значение ключа подвергается хешированию и не сохраняется в явном виде. Если не передавать в ключ какое-либо поле, оно будет подвержено перебору, т.к. не учитывая его будет создана только одна запись (при совпадении всех других полей), что само по себе ещё не вызовет блокировки. | |||
Применяется для операций категории <code>Внешняя аутентификация</code> методами <code>Создание сессии</code> и <code>Добавление в wsban</code>. | |||
|} | |||
Версия от 11:25, 24 февраля 2025
Предыдущая статья курса: Базовые компоненты и логика построения сценариев
Общая информация
Для выполнения работы с данными и осуществления сложных операций, в платформе Эра предусмотрен специальный набор компонентов служебных сценариев.
Данные компоненты не связанны друг с другом и реализуют различные механизмы взаимодействия с модулями системы и внешними системами.
Все компоненты, помимо специфических параметров также содержат общие параметры и параметры сохранения результата, описанные в предыдущей статье курса.
Детальная техническая информация о компонентах доступна на портале Vendor.
Описания компонентов
Файловая операция

Производит указанную операцию ввода-вывода на диске. Работает с файлами, каталогами, путями.
Компонент имеет дополнительные переходы по ошибкам доступа к файлам.
Свойство | Описание |
---|---|
Тип объекта
|
Определяет тип объекта, над которым производится файловая операция.
Возможные значения:
|
Операция
|
Операция со строковым представлением пути.
Возможные значения:
|
Операция
|
Операция с файлом.
Возможные значения:
|
Операция
|
Операция с каталогом.
Возможные значения:
|
Операция
|
Операция с содержимым файла.
Возможные значения:
Все операции с содержимым используют указанную кодировку для преобразования из строки в бинарный вид. |
Путь
|
Аргумент, содержащий путь. |
Отрезать расширение
|
Переключатель режима возврата файла без расширения. |
Категория каталога
|
Категория каталога, с использованием которой путь становится доступным для применения в операциях ввода-вывода.
Возможные значения:
|
Относительный путь
|
Аргумент, содержащий относительный путь. |
Имя файла
|
Аргумент, содержащий название файла. |
Расширение
|
Аргумент, содержащий расширение файла. |
Путь источника
|
Аргумент, содержащий путь источника. |
Путь назначения
|
Аргумент, содержащий путь назначения. |
Хеш-функция
|
Хеш-функция для применения к содержимому файла. |
Содержимое
|
Аргумент с содержимым файла. |
Кодировка
|
Кодировка для применения к содержимому файла при считывании в переменную и наоборот.
Возможные значения:
|
BOM
|
Режим считывания содержания файла с учетом префикса кодировки для UTF.
Возможные варианты:
|
Endian
|
Режим раскладки кодировки unicode.
Возможные варианты:
|
Название кодировки
|
Аргумент, содержащий имя применяемой кодировки. |
SQL-Запрос

Позволяет производить действия в БД, а также передавать параметры (на вход и на выход).
В качестве параметров выступают переменные сценария.
Подключение к серверу БД осуществляется по строке подключения. Обращение к БД происходит через ODBC и требует наличия в ОС соответствующих драйверов.
В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД.
Возврат значений из БД происходит в табличном виде. Сохранение значений в переменные осуществляется по принципу идентичности имен столбцов в последнем из вернувшихся датасетов и переменных сценария. Переменным присваиваются значения из последней строки последнего датасета.
Свойства | Описание |
---|---|
База Данных
|
БД для подключения.
Возможные варианты:
|
Драйвер
|
Возможные варианты:
Для режима указания БД |
Строка соединения
|
Строка подключения к БД.
Для режима указания БД Пример для odbc драйвера Driver={SQL Server Native Client 11.0}; Server=192.168.0.73,14350; Database=testbase; UID=test; PWD=123; Пример для psql драйвера Driver={PostgreSQL Unicode(x64)}; Server=127.0.0.1; Port=5433; Database=era_dummy_central_common; Uid=platformpgadmin; Pwd=123456; или аналогично формату в конфигурации: host:127.0.0.1,port:5432,login:platformpgadmin,pwd:123456,database:postgres |
Время, с
|
Таймаут на выполнение запроса к БД. |
Запрос
|
Тело SQL-запроса.
Пример для ODBC: INSERT INTO EMPLOYEE (NR, FIRSTNAME, LASTNAME, GENDER) VALUES (?, ?, ?, ?) Пример для PSQL: SELECT name as a, birthdate::varchar as b,Where id = $1 or code = $2 Если запрос возвращает таблицу значений из нескольких строк, то в переменные сохраняется произвольная строка. При этом сопоставление значений производится по именам столбцов в датасете выдачи и переменных. Возвращаемые специальные значения null, true, false преобразуются в строковое представление при сохранении в переменные сценария. |
Параметры запроса
|
Списочное значение, устанавливающее параметры для запроса.
Порядок параметров строго соответствует порядку применения параметров в запросе. |
Кодировка
|
Кодировка, в которой следует сохранить строковые значения в переменных.
Возможные варианты:
|
Код ошибки
|
Переменная для сохранения кода ошибки. |
WEB-запрос

Позволяет выполнять HTTP- и HTTPS- запросы к web-сервисам по произвольному URL.
Поддерживает HTTP-методы GET, POST, PUT, HEAD, DELETE с контентом и без. Поддерживает отправку асинхронных запросов и запросов с ожиданием ответов.
В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код HTTP.
Компонент поддерживает работу в сессиях, сохраняя и используя cookie, а также HTTPS и подтверждение сертификатов.
Фактическая отправка запроса может производиться как с сервера, на котором работает текущий обработчик сценария, так и с пограничных серверов системы «Era».
В ряде случаев может быть заменено выполнением "curl" запроса через командную строку (компонент Запуск процесса).
Свойство | Описание |
---|---|
Прокси
|
Выключатель использования прокси-сервера. |
Аутентификация в прокси
|
Выключатель прокси-аутентификации. |
Логин прокси
|
Логин к прокси-серверу. |
Пароль прокси
|
Пароль к прокси-серверу. |
Адрес прокси
|
Адрес прокси-сервера. |
Порт прокси
|
Порт прокси-сервера. |
Макс. перенаправлений
|
Ограничение на максимальное число перенаправлений. Значение для HTTP-заголовка Max-Forwards .
|
URL
|
URL запроса. Должен содержать схему (например, http:// ).
|
Источник запроса
|
Адрес сервера, с которого необходимо отправить запрос.
По умолчанию запрос отправляется с сервера, где обработчик выполняет сценарий. Возможные форматы указания:
где
При отсутствии ноды/роли, любом некорректном задании имени, отправка производится с сервера, где обработчик выполняет сценарий. При отсутствии или некорректном задании адреса сетевого интерфейса сервера отправителя отправка произойдет с адреса ноды отправителя. |
Метод
|
Возможные варианты:
|
Название: Тип контента
Код: Усл. видимости: По умолчанию: |
Значение для HTTP-заголовка Content-Type .
|
Тело запроса
|
Содержание тела HTTP-запроса. |
Кодировка запроса
|
Кодировка, с помощью которой производится преобразование тела запроса из строкового представления к бинарному виду перед отправкой.
Возможные варианты:
|
Название кодировки запроса
|
Название кодировки для тела запроса, заданное вручную. |
Базовая аутентификация
|
Выключатель базовой аутентификации. |
Логин
|
Логин для базовой аутентификации. |
Пароль
|
Пароль для базовой аутентификации. |
Заголовки
|
Подставляемые в запрос дополнительные HTTP-заголовки. Аргумент содержит мультистрочное значение, формат каждой из строк: HeaderName: HeaderValue .
|
Куки
|
Подставляемые в запрос дополнительные COOKIE. Аргумент содержит мультистрочное значение, формат каждой из строк: Key=Value .
|
Режим
|
Режим работы компонента после отправки запроса.
Возможные варианты:
|
Время, с
|
Таймаут ожидания ответа на отправленный HTTP-запрос. |
Код ответа
|
Переменная для сохранения кода HTTP-ответа. Не заполняется, если запрос не отвечен.
Если запрос завершен ответом 3xx то инициируется новый переадресованный запрос и код ответа 3хх в дальнейшем перезаписывается. |
Заголовки ответа
|
Переменная для сохранения заголовков HTTP-ответа.
Не заполняется, если запрос не отвечен. Если запрос завершен ответом 3xx, то инициируется новый переадресованный запрос, и заголовки в дальнейшем перезаписываются. |
Ответ
|
Переменная для сохранения тела HTTP-ответа.
Не заполняется, если запрос не отвечен. Если запрос завершен ответом 3xx, то инициируется новый переадресованный запрос, и тело в дальнейшем перезаписываются. |
Кодировка ответа
|
Кодировка, в которой находится тело HTTP-ответа. Используется для преобразования к строковому представлению в переменной сценария.
Возможные варианты:
|
Название кодировки ответа
|
Название кодировки для тела ответа, заданное вручную. |
Доступ к сервису S3

Производит указанную операцию ввода-вывода на хранилище S3.
Свойство | Описание |
---|---|
Хранилище
|
Название хранилища (bucket). |
Ключ хранения
|
Ключ доступа к хранилищу. |
Действие
|
Возможные варианты:
|
Тип данных
|
Способ обмена данными сценария с хранилищем
Возможные варианты:
|
Путь к файлу
|
Путь к файлу в локальном каталоге, с использование одной из файловых категорий. |
Данные
|
Аргумент с содержимым размещаемого в хранилище ресурса. |
Буфер
|
Переменная для сохранения содержимого скачанного из хранилища ресурса. |
Заголовки
|
Дополнительные заголовки для отправки запроса к s3. |
Параметры запроса (JSON)
|
Набор параметров для операции в хранилище, в формате JSON-объекта, где ключи – названия параметров. Возможные значения: параметры запроса |
Время, с
|
Таймаут ожидания ответа, в секундах |
Операция с websocket-подключением

Производит одну из операций с websocket-подключением пользователя системы или внешней системы. Подключение должно существовать и быть активным.
Идентификатор подключения формируется модулем обработки websocket-подключений в роли ws и размещается в registrar (роль sr) после авторизации.
Возможна отправка асинхронных сообщений в подключение, отправка запросов и получение ответов. Поддерживаются методы плагинов. Доступен двусторонний обмен файлами с использованием HTTP, а также предоставление публичных временных ссылок на файлы через HTTP.
Свойство | Описание |
---|---|
Операция
|
Выбор операции из списка.
Возможные варианты:
|
Ид подключения
|
Идентификатор активного websocket-подключения. Подключение может быть установлено внешней системой с любым из веб-серверов развернутого кластера даже на другом сайте.
Идентификатор представляет собой длинную строку и может быть получен из сервиса REGISTRAR поиском по пользователю и названию расширения API (capability), либо как параметр сценария, обрабатывающего входящие подключения. |
Направление
|
Выбор направления из списка.
Возможные варианты:
|
Название расширения API
|
Название расширения API, через которое производится отправка указанного сообщения. Это может быть как стандартный модуль, так и любой подключенный плагин-модуль системы, реализующий программный интерфейс для отправки сообщений указанного типа. |
Код сообщения
|
Код сообщения, отправляемого через указанное расширение API. Подставляется в качестве первого элемента JSON-массива, представляющего собой сообщение в протоколе websocket.
В зависимости от способа реализации именно этого кода сообщения в расширении API, может отправляться асинхронное сообщение, не требующее ответа, либо синхронный запрос. В этом случае при выборе опции ожидания доставки/ответа появляется возможность получить вместе с ответом данные из удаленной системы. |
Тело сообщения
|
Тело сообщения. Должно соответствовать формату JSON, если иное не определено конкретным расширением API. |
Ожидать доставки/ответа
|
Выключатель синхронного режима ожидания доставки сообщения до приложения адресата. Если выбранный код сообщения в рамках расширения API является запросом, то включение режима предусматривает получение ответа и сохранение его в указанную переменную. |
Путь к файлу
|
Специальный путь к файлу, доступный для обработчика сценариев.
Применяется для операции размещения файла на вебсервере. |
Действие
|
Выбор действия из списка в рамках операции обмена файлами с временным каталогом сессии на вебсервере, обслуживающем указанное подключение (категория websocktemp).
Возможные варианты:
Применяется для файловой операции с категорией websocktemp. |
Путь к файлу
|
Специальный путь к файлу, доступный для обработчика сценариев.
Применяется для файловой операции с категорией websocktemp. |
Имя файла
|
Имя файла для проведения операций обмена файлами с временным каталогом на веб-сервере подключения в рамках категории websocktemp.
Применяется для файловой операции с категорией websocktemp. |
Время, с
|
Таймаут ожидания доставки сообщения, в секундах. |
LDAP-интеграция

Осуществляет запрос к серверу службы каталогов по протоколу LDAP.
Свойство | Описание |
---|---|
Протокол
|
Протокол подключения к серверу.
Возможные варианты:
|
Адреса серверов
|
Список адресов серверов службы каталогов.
В виде строки, где адреса разделены любым символом: запятой, точкой с запятой, пробелом, табуляцией, концом строки. Могут указываться доменные имена, ip-адреса, а также URI, из которых будет доставаться доменное имя. Будет производиться попытка установки соединения с перебором всех адресов до конца или до успеха. |
Порт
|
Порт для коннекта к серверам. По умолчанию 389 для LDAP, 636 для LDAPS. |
Сертификат
|
Для SSL/TLS точек подключения указывает на PEM-файл сертификата, размещенный в каталоге ':SYNC_DOMAIN' или ':SYNC_COMMON'.
Файл сертификата может быть загружен, например, в REST-endpoint '/rest/v1/fs/targets/files/certificates/cert.pem' и адресован через ':SYNC_DOMAIN_DATA/files/certificates/cert.pem'. Применяется при переключении LDAP в TLS, а также в LDAPS. Если не указан, то клиентское подключение не будет проверять сертификат сервера на доверенность. |
Домен пользователя
|
Параметр авторизации: домен.
Например, |
Имя пользователя
|
Параметр авторизации: логин. |
Пароль
|
Параметр авторизации: пароль. |
Таймаут, с
|
Таймаут ожидания выполнения операции, в секундах. |
Действие
|
Варианты операций в службе каталогов.
Возможные варианты:
|
DN
|
Название домена, в котором производится операция.
Применяется для всех действий, кроме Например, |
Охват
|
Выбор охвата для операции поиска.
Применяется для действия Возможные варианты:
|
Атрибуты
|
Атрибуты для поиска.
Применяется для действия Например, |
Строка поиска
|
Строка поиска в службе каталогов.
Применяется для действия Например, |
Атрибуты
|
Атрибуты нового или изменяемого элемента.
Применяется для действий |
Новый пароль
|
Новый пароль.
Применяется для действия |
Старый пароль
|
Старый пароль, применяемый для проверки корректности при смене.
Применяется для действия |
Новый DN
|
Новое имя для элемента.
Применяется для действия |
Родительский DN
|
Родительский элемент.
Применяется для действия |
Запуск процесса

Запускает на сервере внешний консольный процесс. Параметры передаются в теле командной строки. Возвращаемое процессом значение из консоли может быть захвачено и возвращено в переменную.
Операция должна быть предварительно разрешена и настроена в файле ассетов permissions.json на каждом сервере, где может выполняться компонент.
Свойство | Описание |
---|---|
Режим
|
Режим ожидания завершения процесса ОС.
Возможные значения:
|
Путь к исполняемому файлу
|
Путь к файлу или команда ОС. Префикс командной строки.
Префикс должен быть разрешен в файле permissions.json. Примеры указания команд:
Для разрешения этих примеров в файле 'permissions.json' должно быть следующее содержание: { "exec_perm": { "check": true, "user": "root", "commands": [ "echo", "myprogram1", "/bin/myprogram2", ":GLOBALSHARE/common/cmd/myprogram3", ":SYNC/common/cmd/myscript.sh" ] } } Используя bash-скрипты можно запускать любые команды, разрешение проверяется только на путь к стартовому bash-скрипту. |
Параметры запуска командной строки
|
Постфикс команды, содержащий параметры. |
Время, с
|
Таймаут ожидания завершения процесса. |
Генератор события

Осуществляет отправку произвольного события подписчикам на события системы (роль wssubscr).
При наличии соответствующих ассетов описания событий они также попадают в БД.
Свойство | Описание |
---|---|
Пользователь
|
Имя пользователя, по которому производится фильтрация при подписке.
Для роли wssubscr значение представляется в виде структуры |
Имя события
|
Имя события, содержащее класс и тип через точку в формате CLASS_NAME.TYPE_NAME
|
Тело события
|
Тело отправляемого сообщения в виде JSON-структуры |
Вызов микросервиса

Осуществляет запрос указанного метода указанного микросервиса в продуктовом слое текущего домена. Вызов осуществляется с помощью коллекции platform/services/Invocations.
Передает на вход либо объект со значениями переменных, либо объект с указанными именованными аргументами, либо указанный аргументом параметр.
На выход возвращаемый результат сохраняется в переменной, а также при активации режима возвращаемый объект раскладывается по переменным сценария, сопоставляя ключи первого уровня и имена локальных переменных.
Спецификация | Описание |
---|---|
Микросервис
|
Имя микросервиса для вызова |
Метод
|
Имя метода микросервиса для вызова |
Способ задания параметров
|
Способ задания параметров:
|
Раскладывать по переменным
|
|
Аргументы
|
Коллекция аргументов для передачи в метод микросервиса |
Произвольный параметр
|
Произвольный JSON для использования в качестве аргументов |
Операция

Мультифункциональный компонент, предоставляющий различные служебные методы для осуществления воздействия на систему.
Свойство | Описание |
---|---|
Тип операции
|
Выбор категории операций.
Возможные значения:
|
Домен
|
Выбор домена, в котором проводится операция.
Применяется для операций категории Возможные значения:
|
Имя домена
|
Аргумент, содержащий имя домена для осуществления операции над сущностями. Допускается только указание доменов из дочернего дерева.
Применяется для операций категории |
Логин пользователя
|
Аргумент, содержащий логин пользователя в домене.
Применяется для операций категории |
Тип сущности
|
Аргумент, содержащий имя класса сущностей.
Применяется для операций категории |
Метод
|
Выбор операции.
Возможные значения:
Применяется для операций категории |
Данные
|
Аргумент, содержащий либо json-объект со значениями полей при создании или обновлении, либо с идентификатором при удалении.
Применяется для операций категории Правила формирования выражений для JSON-значений см. Экранирование JSON и Шаблоны. |
Фильтр
|
Поисковый фильтр для операции получения сущностей категории CRUD в домене .
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр filter). Пример 1 (общий REST формат) ["&&",["like",["property","phonenumber"],"1*"], ["like",["property","login"],"sip*"]] Пример 2 (формат доменного центра) {"phonenumber": "1%", "login": "sip%"} |
Сортировка
|
Режим сортировки для операции получения сущностей категории CRUD в домене .
Указывается в виде JSON-структуры, содержащей массив. Порядок указания и применения (параметр order). Пример 1 "phonenumber" Пример 2 ["phonenumber", "login"] Пример 3 [{"phonenumber": "asc"}, {"login":"desc"}] |
Доп.параметры
|
Дополнительные параметры к запросу в доменный центр в формате JSON для получения сущностей категории CRUD в домене .
Пример 1 {"offset": 3} Пример 2 [{"offset": 3}, {"limit": 2}, {"flat": true}] |
Поля
|
Маска выдачи объектов (поля) для операции получения сущностей категории CRUD в домене .
Указывается в виде строки с перечислением названий полей через запятую. Порядок указания и применения (параметр mask). Пример id, login, phonenumber, opts |
Имя класса
|
Аргумент, содержащий имя класса динамической модели данных (поле classname в экземплярах коллекции classes).
Применяется для операций категории Пример email/Accounts |
Метод
|
Выбор операции.
Возможные значения:
Применяется для операций категории |
Путь (date/datetime)
|
Аргумент, содержащий путь к сущности (для коллекций типа history и transactionlog. Дата или дата/время соответствующее значению из поля, указанного в class.opts.partition_property).
Применяется для операций категории |
Ид сущности
|
Аргумент, содержащий идентификатор сущности.
Применяется для операций категории |
Название свойства
|
Аргумент, содержащий название свойства, содержащего целевое вложение.
Применяется для операций категории |
Имя файла (multi)
|
Аргумент, содержащий учетное имя конкретного файла-вложения в случае, если свойство списочного типа.
Применяется для операций категории |
Начало интервала (date/datetime)
|
Аргумент, содержащий дату/время начала интервала выборки объектов из коллекций с типом history и transactionlog.
Применяется для операций категории |
Конец интервала (date/datetime)
|
Аргумент, содержащий дату/время конца интервала выборки объектов из коллекций с типом history и transactionlog.
Применяется для операций категории |
Фильтр (json)
|
Аргумент, содержащий json-список c описанием фильтра для выборки элементов коллекции.
Применяется для операций категории Порядок указания и применения (параметр filter). Пример ["&&",["like",["property","phonenumber"],"1*"], ["like",["property","login"],"sip*"]] |
Сортировка (json)
|
Аргумент, содержащий json-список с описанием последовательности сортировки элементов коллекции.
Применяется для операций категории Указывается в виде JSON значения - поле, список полей, список объектов с указанием направления сортировки. Порядок указания и применения (параметр order). Пример 1 "phonenumber" Пример 2 ["phonenumber", "login"] Пример 3 [{"phonenumber": "asc"}, {"login":"desc"}] |
Маска (json)
|
Аргумент, содержащий json-список из полей, подлежащих выборке.
Применяется для операций категории Указывается в виде JSON-списка строк - имен полей. Порядок указания и применения (параметр mask). Пример ["id", "name", "description"] |
Сдвиг
|
Аргумент, содержащий числовой показатель сдвига в выборке.
Применяется для операций категории |
Количество
|
Аргумент, содержащий числовой показатель количества элементов в выборке. Любая коллекция принудительно ограничена сверху конечным значением.
Применяется для операций категории |
Поля группировки (json)
|
Аргумент, содержащий json-объект из полей группировки. Значения элементов - списки, представляющие функцию для расчета базы агрегации.
Применяется для операций категории |
Поля агрегации (json)
|
Аргумент, содержащий json-объект из полей агрегации. Значения элементов - списки, представляющие агрегирующую функцию. Может быть применена суперпозиция для расчета сложных показателей агрегации.
Применяется для операций категории |
Содержимое (json)
|
Аргумент, содержащий json-объект со значениями полей при сохранении сущности.
Применяется для операций категории Правила формирования выражений для JSON-значений см. Экранирование JSON и Шаблоны. |
Путь к файлу (string)
|
Аргумент, содержащий категоризированный путь к файлу, подлежащему загрузке в качестве вложения.
Применяется для операций категории |
Тип сущности
|
Выбор из списка видов регистрируемых сущностей".
Возможные значения:
Применяется для операций категории |
Метод
|
Выбор операции.
Возможные значения:
Применяется для операций категории |
Метод
|
Выбор операции.
Возможные значения:
Применяется для операций категории |
Учетная запись
|
Аргумент, содержащий логин или идентификатор сущностий. Если значение пустое, то вернутся все записи.
Применяется для операций категории |
Учетная запись
|
Аргумент, содержащий логин или идентификатор сущностий. Если значение пустое, то вернутся все записи.
Применяется для операций категории |
Фильтр
|
Поисковый фильтр для операции получения сущностей категории Регистрар .
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр filter). |
Сортировка
|
Режим сортировки для операции получения сущностей категории Регистрар .
Указывается в виде JSON-структуры, содержащей массив. Порядок указания и применения (параметр order). |
Поля
|
Маска выдачи объектов (поля) для операции получения сущностей категории Регистрар .
Указывается в виде JSON-структуры, содержащей объект. Порядок указания и применения (параметр mask). |
Доп.параметры
|
Дополнительные параметры операции выборки категории Регистрар .
Дополнительные поля: offset, limit и т.д. Порядок указания и применения. |
Метод
|
Выбор операции с метками контекста звонка.
Применяется для операций категории Возможные значения:
|
Идентификатор звонка
|
Аргумент, содержащий идентификатор звонка: CallId или DialogId.
Применяется для операций категории |
Метка
|
Аргумент, содержащий текстовое содержание метки.
Применяется для операций категории |
Метод
|
Выбор операции для управления звонком.
Применяется для операций категории Возможные варианты:
|
Параметры (JSON)
|
Параметры для операции управления звонком.
Значение для каждого из методов представляет собой JSON-структуру в виде объекта с содержанием, соответствущем API управления звонками и конференциями. Применяется для операций категории |
Метод
|
Выбор метода.
Возможные значения:
Применяется для операций категории |
Логин или Id
|
Аргумент, содержащий логин или id сущности sipuser в домене.
Применяется для операций категории |
Тип таймаута
|
Выбор типа таймаута.
Возможные значения:
Применяется для операций категории |
Таймаут, сек.
|
Время блокировки указанного sipuser для очередей huntq в секундах.
Применяется для операций категории |
Комментарий
|
Комментарий блокировки указанного sipuser для очередей huntq.
Применяется для операций категории |
Ид хранилища
|
Аргумент содержащий идентификатор/код хранилища.
Применяется для операций в категории |
Путь к записи в хранилище
|
Аргумент, содержащий путь к файлу записи в хранилище.
Применяется для операций в категории |
Имя домена
|
Аргумент, содержащий имя домена для операции. Допускается указание любого существующего в системе домена.
Применяется для операций категории |
Логин или Id
|
Аргумент, содержащий логин или идентификатор пользователя (значение поля login или id ) сущности user в домене.
Применяется для операций категории |
Пароль
|
Аргумент, содержащий пароль (значение поля pwd ) сущности user в домене.
Применяется для операций категории |
Ключ данных wsban
|
Аргумент, содержащий ключ данных для добавления неудавшейся попытки в wsban.
Чтобы противостоять перебору данных аутентификации, необходимо их применить при формировнии ключа для wsban. Применение ключа позволяет избегать блокирования неправильно реализованных клиентов, которые несмотря на негативный ответ попытки аутентификации, продолжают слать одни и те же данные снова и снова. Например, Создание сессии применяет {Domain,Login,Pwd} в качестве ключа. Полученное значение ключа подвергается хешированию и не сохраняется в явном виде. Если не передавать в ключ какое-либо поле, оно будет подвержено перебору, т.к. не учитывая его будет создана только одна запись (при совпадении всех других полей), что само по себе ещё не вызовет блокировки. Применяется для операций категории |
Следующая статья курса: Запуск служебных сценариев
Предыдущая статья курса: Базовые компоненты и логика построения сценариев