AZykov (обсуждение | вклад) Новая страница: « Предыдущая статья курса: Базовые компоненты и логика построения сценариев Следующая статья курса: Запуск служебных сценариев Предыдущая статья курса: Базовые компоненты и логика построения сценариев Категория:Курс "Разработка приложени...» |
AZykov (обсуждение | вклад) Нет описания правки |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
Предыдущая статья курса: [[Базовые компоненты и логика построения сценариев]] | Предыдущая статья курса: [[Базовые компоненты и логика построения сценариев]] | ||
= Общая информация = | |||
Для выполнения работы с данными и осуществления сложных операций, в платформе Эра предусмотрен специальный набор компонентов служебных сценариев. | |||
Данные компоненты не связанны друг с другом и реализуют различные механизмы взаимодействия с модулями системы и внешними системами. | |||
Все компоненты, помимо специфических параметров также содержат общие параметры и параметры сохранения результата, описанные в [[Базовые компоненты и логика построения сценариев|предыдущей статье курса]]. | |||
Детальная техническая информация о компонентах доступна на [https://vendor.era-platform.ru/docs/era/latest/scripts/component_types/common/index.html портале Vendor]. | |||
= Описания компонентов = | |||
=== Файловая операция === | |||
[[Файл:Компонент Файловая операция.png|центр|безрамки|534x534пкс]] | |||
Производит указанную операцию ввода-вывода на диске. Работает с файлами, каталогами, путями.<blockquote>Компонент имеет дополнительные переходы по ошибкам доступа к файлам.</blockquote> | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Тип объекта</code> | |||
|Определяет тип объекта, над которым производится файловая операция. | |||
Возможные значения: | |||
* <code>Путь</code> (<code>path</code>,<code>1</code>) – Операции со строковым представлением пути. | |||
* <code>Файл</code> (<code>file</code>,<code>2</code>) – Операции с файлами. | |||
* <code>Каталог</code> (<code>folder</code>,<code>3</code>) – Операции с каталогами. | |||
* <code>Содержимое файла</code> (<code>content</code>,<code>4</code>) – Операции с содержимым файла. | |||
|- | |||
|<code>Операция</code> | |||
|Операция со строковым представлением пути. | |||
Возможные значения: | |||
* <code>Тип пути</code> (<code>getPathType</code>, <code>101</code>) – Возвращает категорию каталога по указанному пути. | |||
* <code>Относительный путь</code> (<code>getRelativePath</code>, <code>102</code>) – Возвращает относительный путь, вырезая из него категорию. | |||
* <code>Имя файла</code> (<code>getFileName</code>, <code>103</code>) – Возвращает имя файла из указанного пути. | |||
* <code>Расширение</code> (<code>getFileExtension</code>, <code>104</code>) – Возвращает расширение файла из указанного пути. | |||
* <code>Каталог</code> (<code>getFileDirectory</code>, <code>105</code>) – Возвращает имя каталога из указанного пути. | |||
* <code>Построить путь</code> (<code>makePath</code>, <code>106</code>) – Возвращает путь, собранный из категории каталога и относительного пути, доступный для использования в других операциях и компонентах. | |||
* <code>Построить путь к файлу</code> (<code>makeFilePath</code>, <code>107</code>) – Возвращает путь к файлу, собранный из трех аргументов: пути, имени файла и расширения. | |||
|- | |||
|<code>Операция</code> | |||
|Операция с файлом. | |||
Возможные значения: | |||
* <code>Удалить</code> (<code>deleteFile</code>, <code>201</code>) – Удаляет файл. | |||
* <code>Скопировать</code> (<code>copyFile</code>, <code>202</code>) – Копирует файл. | |||
* <code>Переместить</code> (<code>moveFile</code>, <code>203</code>) – Перемещает файл в другой каталог. | |||
* <code>Проверить наличие</code> (<code>fileExists</code>, <code>205</code>) – Возвращает <code>1</code>, если файл существует, иначе <code>0</code>. | |||
* <code>Размер</code> (<code>getFileSize</code>, <code>206</code>) – Возвращает размер файла. | |||
* <code>Хеш содержимого</code> (<code>getFileHash</code>, <code>207</code>) – Возвращает хеш содержимого файла. | |||
* <code>Создать путь</code> (<code>ensureFolder</code>, <code>208</code>) – Создает каталог для файла по указанному пути, если он не существует. | |||
* <code>Преобразовать в tiff</code> (<code>fileToFaxTiff</code>, <code>209</code>) – Преобразует файл в tiff, с параметрами подходящими для компонента Отправка факса Поддерживаемые форматы для преобразования в tiff: bmp, jpg, pdf, png, tiff. | |||
|- | |||
|<code>Операция</code> | |||
|Операция с каталогом. | |||
Возможные значения: | |||
* <code>Создать</code> (<code>makeFolder</code>, <code>301</code>) – Создает каталог, если он не существует. | |||
* <code>Удалить</code> (<code>deleteFolder</code>, <code>302</code>) – Удаляет каталог. | |||
* <code>Скопировать</code> (<code>copyFolder</code>, <code>303</code>) – Копирует каталог со всем содержимым. | |||
* <code>Переместить</code> (<code>moveFolder</code>, <code>304</code>) – Перемещает каталог со всем содержимым в другой каталог. | |||
* <code>Проверить наличие</code> (<code>folderExists</code>, <code>306</code>) – Возвращает <code>1</code>, если каталог существует, иначе <code>0</code>. | |||
* <code>Количество файлов</code> (<code>getFolderFileCount</code>, <code>307</code>) – Возвращает количество файлов в каталоге на первом уровне. | |||
* <code>Количество подкаталогов</code> (<code>getFolderSubfolderCount</code>, <code>308</code>) – Возвращает количество подкаталогов на первом уровне. | |||
|- | |||
|<code>Операция</code> | |||
|Операция с содержимым файла. | |||
Возможные значения: | |||
* <code>Создать файл</code> (<code>createFile</code>, <code>401</code>) – Создает новый файл с указанным содержимым. | |||
* <code>Записать файл</code> (<code>writeFile</code>, <code>402</code>) – Записывает новое содержимое в существующий файл. | |||
* <code>Дописать в конец файла</code> (<code>appendFile</code>, <code>403</code>) – Добавляет содержимое в конец файла. | |||
* <code>Считать файл</code> (<code>readFile</code>, <code>404</code>) – Возвращает содержимое файла. | |||
Все операции с содержимым используют указанную кодировку для преобразования из строки в бинарный вид. | |||
|- | |||
|<code>Путь</code> | |||
|Аргумент, содержащий путь. | |||
|- | |||
|<code>Отрезать расширение</code> | |||
|Переключатель режима возврата файла без расширения. | |||
|- | |||
|<code>Категория каталога</code> | |||
|Категория каталога, с использованием которой путь становится доступным для применения в операциях ввода-вывода. | |||
Возможные значения: | |||
* <code>SYNC_COMMON</code> (<code>1</code>) – Каталог общих данных всех доменов в синхронизирующемся между серверами каталоге. | |||
* <code>SYNC_DOMAIN_COMMON</code> (<code>2</code>) – Каталог общих данных домена в синхронизирующемся между серверами каталоге. | |||
* <code>SYNC_DOMAIN_DATA</code> (<code>3</code>) – Каталог данных домена в синхронизирующемся между серверами каталоге. | |||
* <code>SYNC_SCRIPT_DATA</code> (<code>4</code>) – Каталог данных сценария в синхронизирующемся между серверами. | |||
* <code>SITESHARE_PUBLIC</code> (<code>5</code>) – Каталог общих данных на сетевом диске сайтового хранилища, доступного всем серверам на сайте. | |||
* <code>SITESHARE_DOMAIN_DATA</code> (<code>6</code>) – Каталог данных домена на сетевом диске сайтового хранилища, доступного всем серверам на сайте. | |||
* <code>SITESHARE_SCRIPT_DATA</code> (<code>7</code>) – Каталог данных сценария на сетевом диске сайтового хранилища, доступного всем серверам на сайте. | |||
* <code>GLOBALSHARE_PUBLIC</code> (<code>8</code>) – Каталог общих данных на сетевом диске глобального хранилища, доступного всем сайтам. | |||
* <code>GLOBALSHARE_DOMAIN_DATA</code> (<code>9</code>) – Каталог данных домена на сетевом диске глобального хранилища, доступного всем сайтам. | |||
* <code>GLOBALSHARE_SCRIPT_DATA</code> (<code>10</code>) – Каталог данных сценария на сетевом диске глобального хранилища, доступного всем сайтам. | |||
* <code>TEMP</code> (<code>11</code>) – Временный каталог текущего обработчика сценария. Удаляется через 5 секунд после его завершения. | |||
|- | |||
|<code>Относительный путь</code> | |||
|Аргумент, содержащий относительный путь. | |||
|- | |||
|<code>Имя файла</code> | |||
|Аргумент, содержащий название файла. | |||
|- | |||
|<code>Расширение</code> | |||
|Аргумент, содержащий расширение файла. | |||
|- | |||
|<code>Путь источника</code> | |||
|Аргумент, содержащий путь источника. | |||
|- | |||
|<code>Путь назначения</code> | |||
|Аргумент, содержащий путь назначения. | |||
|- | |||
|<code>Хеш-функция</code> | |||
|Хеш-функция для применения к содержимому файла. | |||
|- | |||
|<code>Содержимое</code> | |||
|Аргумент с содержимым файла. | |||
|- | |||
|<code>Кодировка</code> | |||
|Кодировка для применения к содержимому файла при считывании в переменную и наоборот. | |||
Возможные значения: | |||
* <code>Авто</code> (<code>1</code>) – Автоматическое определение. | |||
* <code>Бинарные данные</code> (<code>binary</code>, <code>2</code>) – Считывание бинарных данных без преобразования. | |||
* <code>utf-8</code> (<code>3</code>) | |||
* <code>utf-16</code> (<code>4</code>) | |||
* <code>utf-32</code> (<code>5</code>) | |||
* <code>cp1251</code> (<code>6</code>) – Кодовая страница <code>windows-1251</code> (кириллица). | |||
* <code>Указать название</code> (<code>byname</code>, <code>7</code>) – Указание имени кодировки. | |||
|- | |||
|<code>BOM</code> | |||
|Режим считывания содержания файла с учетом префикса кодировки для UTF. | |||
Возможные варианты: | |||
* <code>С BOM</code> (<code>withBOM</code>, <code>1</code>). | |||
* <code>Без BOM</code> (<code>withoutBOM</code>, <code>2</code>). | |||
|- | |||
|<code>Endian</code> | |||
|Режим раскладки кодировки unicode. | |||
Возможные варианты: | |||
* <code>Little-Endian</code> (<code>littleEndian</code>, <code>1</code>). | |||
* <code>Big-Endian</code> (<code>bigEndian</code>, <code>2</code>). | |||
|- | |||
|<code>Название кодировки</code> | |||
|Аргумент, содержащий имя применяемой кодировки. | |||
|} | |||
=== SQL-Запрос === | |||
[[Файл:Компонент SQL-запрос.png|центр|безрамки|499x499пкс]] | |||
Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). | |||
В качестве параметров выступают переменные сценария. | |||
Подключение к серверу БД осуществляется по строке подключения. Обращение к БД происходит через ODBC и требует наличия в ОС соответствующих драйверов. | |||
В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД. | |||
Возврат значений из БД происходит в табличном виде. Сохранение значений в переменные осуществляется по принципу идентичности имен столбцов в последнем из вернувшихся датасетов и переменных сценария. Переменным присваиваются значения из последней строки последнего датасета. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойства | |||
!Описание | |||
|- | |||
|<code>База Данных</code> | |||
|БД для подключения. | |||
Возможные варианты: | |||
* <code>Проектная</code> (<code>project_psql</code>, <code>4</code>) – Проектная БД домена (PosgtreSQL), строка подключения к которой берется из настроек домена (<code>settings → project_postgresql_connstr</code>). | |||
* <code>Другая</code> (<code>other</code>, <code>2</code>) – Другая БД. | |||
|- | |||
|<code>Драйвер</code> | |||
|Возможные варианты: | |||
* <code>ODBC</code> (<code>odbc</code>, <code>0</code>) – подключение через драйвер ODBC. | |||
* <code>PSQL</code> (<code>psql</code>, <code>1</code>) – подключение через внутренний адаптер к PostgreSQL. | |||
Для режима указания БД <code>Другая</code>. | |||
|- | |||
|<code>Строка соединения</code> | |||
|Строка подключения к БД. | |||
Для режима указания БД <code>Другая</code>. | |||
Пример для 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 | |||
|- | |||
|<code>Время, с</code> | |||
|Таймаут на выполнение запроса к БД. | |||
|- | |||
|<code>Запрос</code> | |||
|Тело 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 преобразуются в строковое представление при сохранении в переменные сценария. | |||
|- | |||
|<code>Параметры запроса</code> | |||
|Списочное значение, устанавливающее параметры для запроса. | |||
Порядок параметров строго соответствует порядку применения параметров в запросе. | |||
|- | |||
|<code>Кодировка</code> | |||
|Кодировка, в которой следует сохранить строковые значения в переменных. | |||
Возможные варианты: | |||
* <code>utf-8</code> (<code>1</code>) | |||
* <code>cp1251</code> (<code>2</code>) – Кодовая страница <code>windows-1251</code> (кириллица) | |||
|- | |||
|<code>Код ошибки</code> | |||
|Переменная для сохранения кода ошибки. | |||
|} | |||
WEB-запрос | |||
[[Файл:Компонент WEB-запрос.png|центр|безрамки|569x569пкс]] | |||
Позволяет выполнять HTTP- и HTTPS- запросы к web-сервисам по произвольному URL. | |||
Поддерживает HTTP-методы GET, POST, PUT, HEAD, DELETE с контентом и без. Поддерживает отправку асинхронных запросов и запросов с ожиданием ответов. | |||
В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код HTTP. | |||
Компонент поддерживает работу в сессиях, сохраняя и используя cookie, а также HTTPS и подтверждение сертификатов. | |||
Фактическая отправка запроса может производиться как с сервера, на котором работает текущий обработчик сценария, так и с пограничных серверов системы «Era». | |||
В ряде случаев может быть заменено выполнением "curl" запроса через командную строку (компонент Запуск процесса). | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Прокси</code> | |||
|Выключатель использования прокси-сервера. | |||
|- | |||
|<code>Аутентификация в прокси</code> | |||
|Выключатель прокси-аутентификации. | |||
|- | |||
|<code>Логин прокси</code> | |||
|Логин к прокси-серверу. | |||
|- | |||
|<code>Пароль прокси</code> | |||
|Пароль к прокси-серверу. | |||
|- | |||
|<code>Адрес прокси</code> | |||
|Адрес прокси-сервера. | |||
|- | |||
|<code>Порт прокси</code> | |||
|Порт прокси-сервера. | |||
|- | |||
|<code>Макс. перенаправлений</code> | |||
|Ограничение на максимальное число перенаправлений. Значение для HTTP-заголовка <code>Max-Forwards</code>. | |||
|- | |||
|<code>URL</code> | |||
|URL запроса. Должен содержать схему (например, <code>http://</code>). | |||
|- | |||
|<code>Источник запроса</code> | |||
|Адрес сервера, с которого необходимо отправить запрос. | |||
По умолчанию запрос отправляется с сервера, где обработчик выполняет сценарий. | |||
Возможные форматы указания: | |||
* <code>NodeName</code> | |||
* <code>NodeName:Iface</code> | |||
* <code>NodeName@NodeAddr</code> | |||
* <code>NodeName@NodeAddr:Iface</code> | |||
* <code>RoleId</code> | |||
* <code>RoleId:Iface</code> | |||
* <code>RoleName</code> | |||
* <code>RoleName:Iface</code> | |||
где | |||
* <code>NodeName</code> – короткое имя ноды в ее полном имени (<code>abc002@192.168.0.12</code>); | |||
* <code>NodeAddr</code> – адрес ноды в ее полном имени; | |||
* <code>RoleId</code> – идентификатор роли в конфигурации, по роли определяется нода; | |||
* <code>RoleName</code> – название роли в конфигурации, по роли определяется нода; | |||
* <code>Iface</code> – адрес сетевого интерфейса на сервере. | |||
При отсутствии ноды/роли, любом некорректном задании имени, отправка производится с сервера, где обработчик выполняет сценарий. | |||
При отсутствии или некорректном задании адреса сетевого интерфейса сервера отправителя отправка произойдет с адреса ноды отправителя. | |||
|- | |||
|<code>Метод</code> | |||
|Возможные варианты: | |||
* <code>POST</code> (<code>post</code>, <code>0</code>) | |||
* <code>GET</code> (<code>get</code>, <code>1</code>) | |||
* <code>PUT</code> (<code>put</code>, <code>2</code>) | |||
* <code>HEAD</code> (<code>head</code>, <code>3</code>) | |||
* <code>DELETE</code> (<code>delete</code>, <code>4</code>) | |||
* <code>PATCH</code> (<code>patch</code>, <code>5</code>) | |||
* <code>TRACE</code> (<code>trace</code>, <code>6</code>) | |||
* <code>OPTIONS</code> (<code>options</code>, <code>7</code>) | |||
|- | |||
|Название: <code>Тип контента</code> | |||
Код: <code>contentType</code> | |||
Усл. видимости: <code>да</code> | |||
По умолчанию: <code>"application/x-www-form-urlencoded"</code> | |||
|Значение для HTTP-заголовка <code>Content-Type</code>. | |||
|- | |||
|<code>Тело запроса</code> | |||
|Содержание тела HTTP-запроса. | |||
|- | |||
|<code>Кодировка запроса</code> | |||
|Кодировка, с помощью которой производится преобразование тела запроса из строкового представления к бинарному виду перед отправкой. | |||
Возможные варианты: | |||
* <code>unicode</code> (<code>0</code>) | |||
* <code>utf-8</code> (<code>1</code>) | |||
* <code>utf-7</code> (<code>2</code>) | |||
* <code>cp1251</code> (<code>3</code>) – Кодовая страница <code>windows-1251</code> (кириллица) | |||
* <code>Указать название</code> (<code>byname</code>, <code>4</code>) – Задать название кодировки вручную. | |||
|- | |||
|<code>Название кодировки запроса</code> | |||
|Название кодировки для тела запроса, заданное вручную. | |||
|- | |||
|<code>Базовая аутентификация</code> | |||
|Выключатель базовой аутентификации. | |||
|- | |||
|<code>Логин</code> | |||
|Логин для базовой аутентификации. | |||
|- | |||
|<code>Пароль</code> | |||
|Пароль для базовой аутентификации. | |||
|- | |||
|<code>Заголовки</code> | |||
|Подставляемые в запрос дополнительные HTTP-заголовки. Аргумент содержит мультистрочное значение, формат каждой из строк: <code>HeaderName: HeaderValue</code>. | |||
|- | |||
|<code>Куки</code> | |||
|Подставляемые в запрос дополнительные COOKIE. Аргумент содержит мультистрочное значение, формат каждой из строк: <code>Key=Value</code>. | |||
|- | |||
|<code>Режим</code> | |||
|Режим работы компонента после отправки запроса. | |||
Возможные варианты: | |||
* <code>Ожидание результата</code> (<code>0</code>) – Ожидание ответа вплоть до завершения сценария. | |||
* <code>Асинхронный запуск</code> (<code>1</code>) – Управление сразу передается следующему компоненту. | |||
* <code>Обрыв по таймауту</code> (<code>2</code>) – Ожидание ответа в течение установленного времени, по истечению которого HTTP-подключение разрывается и управление передается следующему компоненту. | |||
* <code>Выход по таймауту</code> (<code>3</code>) – Ожидание ответа в течение установленного времени, по истечению которого управление передается следующему компоненту без разрыва подключения и прерывания процесса отправки. | |||
|- | |||
|<code>Время, с</code> | |||
|Таймаут ожидания ответа на отправленный HTTP-запрос. | |||
|- | |||
|<code>Код ответа</code> | |||
|Переменная для сохранения кода HTTP-ответа. Не заполняется, если запрос не отвечен. | |||
Если запрос завершен ответом 3xx то инициируется новый переадресованный запрос и код ответа 3хх в дальнейшем перезаписывается. | |||
|- | |||
|<code>Заголовки ответа</code> | |||
|Переменная для сохранения заголовков HTTP-ответа. | |||
Не заполняется, если запрос не отвечен. | |||
Если запрос завершен ответом 3xx, то инициируется новый переадресованный запрос, и заголовки в дальнейшем перезаписываются. | |||
|- | |||
|<code>Ответ</code> | |||
|Переменная для сохранения тела HTTP-ответа. | |||
Не заполняется, если запрос не отвечен. | |||
Если запрос завершен ответом 3xx, то инициируется новый переадресованный запрос, и тело в дальнейшем перезаписываются. | |||
|- | |||
|<code>Кодировка ответа</code> | |||
|Кодировка, в которой находится тело HTTP-ответа. Используется для преобразования к строковому представлению в переменной сценария. | |||
Возможные варианты: | |||
* <code>Авто из заголовка</code> (<code>autoheader</code>, <code>5</code>) | |||
* <code>Авто из тела</code> (<code>autometaheader</code>, <code>6</code>) | |||
* <code>unicode</code> (<code>0</code>) | |||
* <code>utf-8</code> (<code>1</code>) | |||
* <code>utf-7</code> (<code>2</code>) | |||
* <code>cp1251</code> (<code>3</code>) – Кодовая страница <code>windows-1251</code> (кириллица) | |||
* <code>Указать название</code> (<code>byname</code>, <code>4</code>) – Задать название кодировки вручную. | |||
|- | |||
|<code>Название кодировки ответа</code> | |||
|Название кодировки для тела ответа, заданное вручную. | |||
|} | |||
=== Доступ к сервису S3 === | |||
[[Файл:Компонент доступ к сервису S3.png|центр|безрамки|471x471пкс]] | |||
Производит указанную операцию ввода-вывода на хранилище S3. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Хранилище</code> | |||
|Название хранилища (bucket). | |||
|- | |||
|<code>Ключ хранения</code> | |||
|Ключ доступа к хранилищу. | |||
|- | |||
|<code>Действие</code> | |||
|Возможные варианты: | |||
* <code>Разместить</code> (<code>put</code>, <code>0</code>) – Размещает файл в хранилище. | |||
* <code>Скачать</code> (<code>get</code>, <code>1</code>) – Возвращает содержимое файла, либо скачивает в локальный каталог и возвращает путь к нему. | |||
* <code>Удалить</code> (<code>delete</code>, <code>2</code>) – Удаляет файл из хранилища. | |||
* <code>Размер</code> (<code>size</code>, <code>3</code>) – Возвращает размер файла в хранилища. | |||
|- | |||
|<code>Тип данных</code> | |||
|Способ обмена данными сценария с хранилищем | |||
Возможные варианты: | |||
* <code>Массив байтов</code> (<code>binary</code>, <code>0</code>) – Использует бинарные данные через аргумент или переменную. | |||
* <code>Файл данных</code> (<code>file</code>, <code>1</code>) – Использует путь к файлу в локальном каталоге.. | |||
|- | |||
|<code>Путь к файлу</code> | |||
|Путь к файлу в локальном каталоге, с использование одной из файловых категорий. | |||
|- | |||
|<code>Данные</code> | |||
|Аргумент с содержимым размещаемого в хранилище ресурса. | |||
|- | |||
|<code>Буфер</code> | |||
|Переменная для сохранения содержимого скачанного из хранилища ресурса. | |||
|- | |||
|<code>Заголовки</code> | |||
|Дополнительные заголовки для отправки запроса к s3. | |||
|- | |||
|<code>Параметры запроса (JSON)</code> | |||
|Набор параметров для операции в хранилище, в формате JSON-объекта, где ключи – названия параметров. Возможные значения: параметры запроса | |||
|- | |||
|<code>Время, с</code> | |||
|Таймаут ожидания ответа, в секундах | |||
|} | |||
=== Операция с websocket-подключением === | |||
[[Файл:Компонент Операция с websocket-подключением.png|центр|безрамки|415x415пкс]] | |||
Производит одну из операций с websocket-подключением пользователя системы или внешней системы. Подключение должно существовать и быть активным. | |||
Идентификатор подключения формируется модулем обработки websocket-подключений в роли ws и размещается в registrar (роль sr) после авторизации. | |||
Возможна отправка асинхронных сообщений в подключение, отправка запросов и получение ответов. Поддерживаются методы плагинов. Доступен двусторонний обмен файлами с использованием HTTP, а также предоставление публичных временных ссылок на файлы через HTTP. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Операция</code> | |||
|Выбор операции из списка. | |||
Возможные варианты: | |||
* <code>Отправить сообщение</code> (<code>sendtokenmsg</code>, <code>0</code>) – Отправляет сообщение в указанное websocket-подключение. | |||
* <code>Разместить файл для скачивания</code> (<code>ws_temp_file</code>, <code>1</code>) – Размещает указанный файл на вебсервере, обслуживающем указанное websocket-подключение. Файлу присваивается случайное имя, и компонент возвращает относительный URL. Файл временно доступен для скачивания по HTTP(s) без авторизации в течение 5 минут. | |||
* <code>Файлы websocktemp</code> (<code>websocktemp</code>, <code>2</code>) - Производит одно из действий по обмену файлами с временным каталогом сессии на вебсервере, обслуживающем указанное websocket-подключение (категория websocktemp). Файлы доступны внешним приложениям, авторизованным под учетной записью пользователя системы в той же сессии, в которой и указанное websocket-подключение. Файлы доступны через API. | |||
|- | |||
|<code>Ид подключения</code> | |||
|Идентификатор активного websocket-подключения. Подключение может быть установлено внешней системой с любым из веб-серверов развернутого кластера даже на другом сайте. | |||
Идентификатор представляет собой длинную строку и может быть получен из сервиса REGISTRAR поиском по пользователю и названию расширения API (capability), либо как параметр сценария, обрабатывающего входящие подключения. | |||
|- | |||
|<code>Направление</code> | |||
|Выбор направления из списка. | |||
Возможные варианты: | |||
* <code>Token message</code> (<code>token message</code>, <code>0</code>) – Отправляется сообщение с кодом <code>message</code> через расширение API для обслуживания websocket-подключений из внешних систем. | |||
* <code>Token plugin event</code> (<code>token plugin event</code>, <code>1</code>) – Отправляет сообщение с указанным кодом через указанное расширение API для обслуживания websocket-подключений из внешних систем. | |||
* <code>User API event</code> (<code>user api event</code>, <code>2</code>) – Отправляет сообщение с указанным кодом через указанное расширение API для обслуживания пользовательских websocket-подключений. | |||
|- | |||
|<code>Название расширения API</code> | |||
|Название расширения API, через которое производится отправка указанного сообщения. Это может быть как стандартный модуль, так и любой подключенный плагин-модуль системы, реализующий программный интерфейс для отправки сообщений указанного типа. | |||
|- | |||
|<code>Код сообщения</code> | |||
|Код сообщения, отправляемого через указанное расширение API. Подставляется в качестве первого элемента JSON-массива, представляющего собой сообщение в протоколе websocket. | |||
В зависимости от способа реализации именно этого кода сообщения в расширении API, может отправляться асинхронное сообщение, не требующее ответа, либо синхронный запрос. В этом случае при выборе опции ожидания доставки/ответа появляется возможность получить вместе с ответом данные из удаленной системы. | |||
|- | |||
|<code>Тело сообщения</code> | |||
|Тело сообщения. Должно соответствовать формату JSON, если иное не определено конкретным расширением API. | |||
|- | |||
|<code>Ожидать доставки/ответа</code> | |||
|Выключатель синхронного режима ожидания доставки сообщения до приложения адресата. Если выбранный код сообщения в рамках расширения API является запросом, то включение режима предусматривает получение ответа и сохранение его в указанную переменную. | |||
|- | |||
|<code>Путь к файлу</code> | |||
|Специальный путь к файлу, доступный для обработчика сценариев. | |||
Применяется для операции размещения файла на вебсервере. | |||
|- | |||
|<code>Действие</code> | |||
|Выбор действия из списка в рамках операции обмена файлами с временным каталогом сессии на вебсервере, обслуживающем указанное подключение (категория websocktemp). | |||
Возможные варианты: | |||
* <code>Получить список файлов</code> (<code>get_coll</code>, <code>0</code>) – Возвращает список файлов во временном каталоге websocktemp вебсервера. | |||
* <code>Достать файл</code> (<code>get_file</code>, <code>1</code>) – Достает указанный по имени файл из временного каталога websocktemp вебсервера и сохраняет во временном каталоге текущего сценария. | |||
* <code>Разместить файл</code> (<code>put_file</code>, <code>2</code>) – Размещает файл во временном каталоге websocktemp вебсервера. Файл берется по специальном пути, доступному обработчику сценариев. | |||
* <code>Удалить файл</code> (<code>delete_file</code>, <code>3</code>) – Удаляет указанный по имени файл из временного каталога websocktemp вебсервера. | |||
Применяется для файловой операции с категорией websocktemp. | |||
|- | |||
|<code>Путь к файлу</code> | |||
|Специальный путь к файлу, доступный для обработчика сценариев. | |||
Применяется для файловой операции с категорией websocktemp. | |||
|- | |||
|<code>Имя файла</code> | |||
|Имя файла для проведения операций обмена файлами с временным каталогом на веб-сервере подключения в рамках категории websocktemp. | |||
Применяется для файловой операции с категорией websocktemp. | |||
|- | |||
|<code>Время, с</code> | |||
|Таймаут ожидания доставки сообщения, в секундах. | |||
|} | |||
=== LDAP-интеграция === | |||
[[Файл:Компонент LDAP-интеграция.png|центр|безрамки|467x467пкс]] | |||
Осуществляет запрос к серверу службы каталогов по протоколу LDAP. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Протокол</code> | |||
|Протокол подключения к серверу. | |||
Возможные варианты: | |||
* <code>LDAP</code> (<code>ldap</code>, 0) | |||
* <code>LDAPS</code> (<code>ldaps</code>, 1) | |||
|- | |||
|<code>Адреса серверов</code> | |||
|Список адресов серверов службы каталогов. | |||
В виде строки, где адреса разделены любым символом: запятой, точкой с запятой, пробелом, табуляцией, концом строки. | |||
Могут указываться доменные имена, ip-адреса, а также URI, из которых будет доставаться доменное имя. | |||
Будет производиться попытка установки соединения с перебором всех адресов до конца или до успеха. | |||
|- | |||
|<code>Порт</code> | |||
|Порт для коннекта к серверам. По умолчанию 389 для LDAP, 636 для LDAPS. | |||
|- | |||
|<code>Сертификат</code> | |||
|Для 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. | |||
Если не указан, то клиентское подключение не будет проверять сертификат сервера на доверенность. | |||
|- | |||
|<code>Домен пользователя</code> | |||
|Параметр авторизации: домен. | |||
Например, <code>Siberia.ttt</code> | |||
|- | |||
|<code>Имя пользователя</code> | |||
|Параметр авторизации: логин. | |||
|- | |||
|<code>Пароль</code> | |||
|Параметр авторизации: пароль. | |||
|- | |||
|<code>Таймаут, с</code> | |||
|Таймаут ожидания выполнения операции, в секундах. | |||
|- | |||
|<code>Действие</code> | |||
|Варианты операций в службе каталогов. | |||
Возможные варианты: | |||
* <code>Авторизовать</code> (<code>auth</code>, 0) – Простая проверка доступности каталога и правильности авторизационных данных. | |||
* <code>Найти</code> (<code>search</code>, 1) – Поиск в службе каталогов по указанной строке и требуемым параметрам. | |||
* <code>Создать</code> (<code>add</code>, 2) – Создание объекта в указанном домене службы каталогов. | |||
* <code>Удалить</code> (<code>delete</code>, 3) – Удаление объекта в указанном домене службы каталогов. | |||
* <code>Изменить</code> (<code>modify</code>, 4) – Создание объекта в указанном домене службы каталогов. | |||
* <code>Изменить пароль</code> (<code>modify_pwd</code>, 5) – Изменение пароля учетной записи. | |||
* <code>Изменить DN</code> (<code>modify_dn</code>, 6) – Изменение доменного имени. | |||
|- | |||
|<code>DN</code> | |||
|Название домена, в котором производится операция. | |||
Применяется для всех действий, кроме <code>Авторизовать</code>. | |||
Например, <code>ou=AD-TEST,dc=Siberia,dc=ttt</code> | |||
|- | |||
|<code>Охват</code> | |||
|Выбор охвата для операции поиска. | |||
Применяется для действия <code>Найти</code>. | |||
Возможные варианты: | |||
* <code>Базовый объект</code> (<code>baseobject</code>, 0) – Только внутри объекта. | |||
* <code>Только уровень</code> (<code>siglelevel</code>, 1) – По указанному уровню списка, то есть без рекурсии. | |||
* <code>Ветвь целиком</code> (<code>wholesubtree</code>, 2) – По всему дочернему дереву. | |||
|- | |||
|<code>Атрибуты</code> | |||
|Атрибуты для поиска. | |||
Применяется для действия <code>Найти</code>. | |||
Например, <code>objectGUID,cn,telephoneNumber,mobile</code>. | |||
|- | |||
|<code>Строка поиска</code> | |||
|Строка поиска в службе каталогов. | |||
Применяется для действия <code>Найти</code>. | |||
Например, <code>present("cn") and present("telephoneNumber") and present("objectGUID") and substrings("mobile",5551234)</code> | |||
|- | |||
|<code>Атрибуты</code> | |||
|Атрибуты нового или изменяемого элемента. | |||
Применяется для действий <code>Создать</code> и <code>Изменить</code>. | |||
|- | |||
|<code>Новый пароль</code> | |||
|Новый пароль. | |||
Применяется для действия <code>Изменить пароль</code>. | |||
|- | |||
|<code>Старый пароль</code> | |||
|Старый пароль, применяемый для проверки корректности при смене. | |||
Применяется для действия <code>Изменить пароль</code>. | |||
|- | |||
|<code>Новый DN</code> | |||
|Новое имя для элемента. | |||
Применяется для действия <code>Изменить DN</code>. | |||
|- | |||
|<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>. | |||
|} | |||
=== Монитор === | |||
[[Файл:Компонент Монитор.png|центр|безрамки|460x460пкс]] | |||
Мультифункциональный компонент, реализующий множество функций предоставления оперативных данных из системы. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Категория запроса</code> | |||
|Выбор группы функций. | |||
Возможные значения: | |||
* <code>Учетные записи</code> (<code>acc</code>, <code>1</code>) – Информация по учетным записям и их состояниям. | |||
* <code>Звонки</code> (<code>calls</code>, <code>2</code>) – Информация по активным звонкам. | |||
* <code>Ханты</code> (<code>hunt</code>, <code>3</code>) – Информация по хант-группам и состояниям входящих в них агентам. | |||
* <code>Очереди</code> (<code>huntq</code>, <code>4</code>) – Информация по очередям и составу ожидающих в них объектам/заданиям. | |||
* <code>Сценарии</code> (<code>script</code>, <code>5</code>) – Информация по исполняющимся сценариям. | |||
* <code>Селекторы</code> (<code>selector</code>, <code>6</code>) – Информация по активным селекторным совещаниям и их участникам. | |||
* <code>Текстовые сессии</code> (<code>session</code>, <code>7</code>) – Информация по активным текстовым сессиям. | |||
* <code>Система</code> (<code>system</code>, <code>8</code>) – Информация по системе. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор функции для категории <code>Учетные записи</code>. | |||
Возможные значения: | |||
* <code>Провайдеры SIP</code> (<code>provider</code>, <code>1</code>) – Возвращает совокупную информацию по состояниям учетных записей SIP-провайдеров текущего домена в виде JSON-структуры. | |||
* <code>SIP-пользователи</code> (<code>sipuser</code>, <code>2</code>) – Возвращает совокупную информацию по состояниям учетных записей SIP-пользователей текущего домена в виде JSON-структуры. | |||
* <code>Пользователи</code> (<code>user</code>, <code>3</code>) – Возвращает совокупную информацию по состояниям учетных записей пользователей текущего домена в виде JSON-структуры. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор функции для категории <code>Звонки</code>. | |||
Возможные значения: | |||
* <code>Инфо</code> (<code>info</code>, <code>1</code>) – Возвращает совокупную информацию по активным звонкам текущего домена в виде JSON-структуры. | |||
* <code>Диаграмма активности</code> (<code>diagram</code>, <code>2</code>) – Возвращает диаграмму по звонку/смежным звонкам. Звонки указываются перечислением CallId, автоматически производится замыкание (пополнение всеми CallId всех плеч связанных переводами звонков). В зависимости от выбранного режима возвращает содержание или путь к файлу, формат svg или plantuml. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор функции для категории <code>Ханты</code>. | |||
Возможные значения: | |||
* <code>SIP</code> (<code>sip</code>, <code>1</code>) – Возвращает совокупную информацию по хант-группам типа <code>sip</code> текущего домена и состояниям их агентов в виде JSON-структуры. | |||
* <code>Пользователи</code> (<code>usr</code>, <code>2</code>) – Возвращает совокупную информацию по хант-группам типа <code>user</code> текущего домена и состояниям их агентов в виде JSON-структуры. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор функции для категории <code>Очереди</code>. | |||
Возможные значения: | |||
* <code>SIP</code> (<code>sip</code>, <code>1</code>) – Возвращает совокупную информацию по очередям типа <code>sip</code> текущего домена и состояниям ожидающих в них объектам в виде JSON-структуры. | |||
* <code>Пользователи</code> (<code>usr</code>, <code>2</code>) – Возвращает совокупную информацию по очередям типа <code>sip</code> текущего домена и состояниям ожидающих в них объектам в виде JSON-структуры. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор функции для категории <code>Сценарии</code>. | |||
Возможные значения: | |||
* <code>Инфо</code> (<code>info</code>, <code>1</code>) – Возвращает совокупную информацию по активным выполняющимся сценариям текущего домена в виде JSON-структуры. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор функции для категории <code>Селекторы</code>. | |||
Возможные значения: | |||
* <code>Инфо</code> (<code>info</code>, <code>1</code>) – Возвращает совокупную информацию по активным селекторным совещаниям текущего домена в виде JSON-структуры. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор функции для категории <code>Текстовые сессии</code>. | |||
Возможные значения: | |||
* <code>Инфо</code> (<code>info</code>, <code>1</code>) – Возвращает совокупную информацию по активным текстовым сессиям текущего домена в виде JSON-структуры. | |||
|- | |||
|<code>Метод</code> | |||
|Выбор функции для категории <code>Система</code>. | |||
Возможные значения: | |||
* <code>Общая лицензия</code> (<code>lic</code>, <code>1</code>) – Возвращает совокупную информацию по текущей действующей лицензии в виде JSON-структуры. Значение выдается только для сценариев мастер-домена. | |||
* <code>Лицензии домена</code> (<code>domain_lic</code>, <code>2</code>) – Возвращает информацию по составу используемых лицензий в указанном домене из поддерева дочерних доменов в виде JSON-структуры. | |||
|- | |||
|<code>Поддомен</code> | |||
|Название домена в дереве дочерних доменов текущего домена. | |||
|- | |||
|<code>Охват</code> | |||
|Выбор охвата для запроса. | |||
Возможные значения: | |||
* <code>Сайт</code> (<code>site</code>, <code>0</code>) – Ограничивает выдачу текущим сайтом. | |||
* <code>Система</code> (<code>system</code>, <code>1</code>) – Возвращает данные по всей системе. | |||
|- | |||
|<code>Параметры</code> | |||
|Аргумент, содержащий JSON-структуру в виде объекта с параметрами для выполняемого запроса. | |||
Параметризуются следующие запросы: | |||
* <code>Звонки</code>, <code>Диаграмма активности</code> – JSON-объект содержит: | |||
** состав звонков (<code>callid</code>: "…" или <code>callids</code>: ["…", "…", …]), | |||
** формат выдачи (<code>mode</code>: <code>"svg"</code> | <code>"plantuml"</code>), | |||
** режим выдачи (<code>file</code>: <code>true</code> | <code>false</code>). | |||
|- | |||
|<code>Время, мс</code> | |||
|Таймаут ожидания выполнения операции, в миллисекундах. | |||
|} | |||
=== Распознавание аудиофайлов Yandex SpeechKit === | |||
[[Файл:Компонент Распознавние аудиофайлов Yandex.png|центр|безрамки|438x438пкс]] | |||
Осуществляет распознавание речи абонента в текстовый вид. | |||
Сервис предоставляется облаком Yandex Cloud SpeechKit по протоколу HTTP. Не имеет технических ограничений по производительности. | |||
Компонент предназначен для распознавания заранее записанных файлов. Поддерживает распознавание файлов с произвольной длительностью. Требует файлы в формате PCM. | |||
Порядок регистрации учетной записи Yandex-облака и стоимость сервиса см. на Яндексе. | |||
Настройка токенов производится в разделе [https://vendor.era-platform.ru/docs/era/latest/entities/domain/setting.html#yandex_cloud настройки домена, поле 'yandex_cloud']. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Путь к аудиофайлу</code> | |||
|Аргумент, содержащий путь к файлу wav в формате PCM. Можно получить с помощью компонента Операция | |||
|- | |||
|<code>Аккаунт Яндекс</code> | |||
|Указание на аккаунт Яндекса, опции которого берутся для подключения к яндексу. | |||
В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' и 'storage' в объекте 'settings.yandex_cloud'. | |||
Дополнительно в список попадают ключи объекта 'settings.yandex_cloud.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа. | |||
|- | |||
|<code>Тема</code> | |||
|Параметр сервиса распознавания Yandex Cloud SpeechKit: тема распознавания. | |||
Возможные варианты: | |||
* <code>general</code> (<code>0</code>) | |||
* <code>maps</code> (<code>1</code>) | |||
* <code>dates</code> (<code>2</code>) | |||
* <code>names</code> (<code>3</code>) | |||
* <code>numbers</code> (<code>4</code>) | |||
* <code>Другая</code> (<code>custom</code>, <code>100</code>) – Указание произвольной темы через аргумент. | |||
|- | |||
|<code>Пользовательская тема</code> | |||
|Аргумент, содержащий пользовательскую тему для сервиса распознавания Yandex Cloud SpeechKit. | |||
|- | |||
|<code>Язык</code> | |||
|Параметр сервиса распознавания Yandex Cloud SpeechKit: язык распознавания. | |||
Возможные варианты: | |||
* <code>ru-RU</code> (<code>0</code>) – Русский язык | |||
* <code>en-US</code> (<code>1</code>) – Английский язык | |||
|- | |||
|<code>Фильтр ненормативной лексики</code> | |||
|Параметр сервиса распознавания Yandex Cloud SpeechKit: выключатель фильтра ненормативной лексики. | |||
|- | |||
|<code>Таймаут ожидания ответа, с</code> | |||
|Таймаут ожидания ответа от сервиса распознавания Yandex Cloud SpeechKit. | |||
По истечении таймаута управление передается следующему компоненту по ветке <code>Время</code>. | |||
|- | |||
|<code>Код ответа в переменную</code> | |||
|Переменная для сохранения кода HTTP-ответа сервиса распознавания. | |||
|- | |||
|<code>Тело ответа в переменную</code> | |||
|Переменная для сохранения полного содержания HTTP-ответа сервиса распознавания. | |||
|} | |||
Распознавание аудиофайлов Sber SaluteSpeech | |||
[[Файл:Компонент Распознавание аудиофайлов Sber SaluteSpeech.png|центр|безрамки|602x602пкс]] | |||
Осуществляет распознавание речи абонента в текстовый вид. | |||
Используется on-premise сервис Sber SaluteSpeech, канал GRPC. | |||
Компонент предназначен для распознавания заранее записанных файлов. Поддерживает распознавание файлов с произвольной длительностью. | |||
Предварительно перепаковывает файлы в формат PCM. | |||
Настройка точек подключения в разделе [https://vendor.era-platform.ru/docs/era/latest/entities/domain/setting.html#sber_salute настройки домена, поле 'sber_salute']. | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Путь к аудиофайлу</code> | |||
|Аргумент, содержащий путь к файлу wav в формате PCM | |||
|- | |||
|<code>Аккаунт Сбер Салют</code> | |||
|Указание на аккаунт, определяющего точки подключения к сервису Sber SaluteSpeech. | |||
В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' в объекте 'settings.sber_salute'. | |||
Дополнительно в список попадают ключи объекта 'settings.sber_salute.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа. | |||
|- | |||
|<code>Набор грамматик</code> | |||
|Параметр сервиса распознавания Sber SaluteSpeech: название набора грамматик. | |||
|- | |||
|<code>Язык</code> | |||
|Параметр сервиса распознавания Sber SaluteSpeech: язык распознавания. | |||
Возможные варианты: | |||
* <code>ru-RU</code> (<code>0</code>) – Русский язык | |||
* <code>en-US</code> (<code>1</code>) – Английский язык | |||
* <code>kk-KZ</code> (<code>2</code>) – Казахский язык | |||
|- | |||
|<code>Фильтр ненормативной лексики</code> | |||
|Параметр сервиса распознавания Sber SaluteSpeech: выключатель фильтра ненормативной лексики. | |||
|- | |||
|<code>Несколько предложений</code> | |||
|Параметр сервиса распознавания Sber SaluteSpeech: ожидание нескольких предложений. | |||
Если выключено, то ответ приходит быстро вместе с обнаружением окончания первого предложения. | |||
Если включено, то собираются и склеиваются все результаты. | |||
|- | |||
|<code>Ожидание начала речи, с</code> | |||
|Параметр сервиса распознавания Sber SaluteSpeech: таймаут ожидания речи. | |||
|- | |||
|<code>Длина предложения максимальная, с</code> | |||
|Параметр сервиса распознавания Sber SaluteSpeech: максимальная длительность предложения. | |||
|- | |||
|<code>В кириллицу</code> | |||
|Параметр сервиса распознавания Sber SaluteSpeech: Принудительное преобразование результата в кириллицу. | |||
|- | |||
|<code>Таймаут ожидания ответа, с</code> | |||
|Таймаут ожидания ответа от сервиса распознавания Sber SaluteSpeech. | |||
По истечении таймаута управление передается следующему компоненту по ветке <code>Время</code>. | |||
|- | |||
|<code>Нормализованный результат в переменную</code> | |||
|Переменная для сохранения нормализованного текстового результата распознавания. | |||
|- | |||
|<code>Код ответа в переменную</code> | |||
|Переменная для сохранения кода ответа сервиса распознавания (код эмулируется по аналогии с HTTP: 200, 408, 500). | |||
|- | |||
|<code>Тело ответа в переменную</code> | |||
|Переменная для сохранения полного содержания ответа сервиса распознавания. | |||
Если одно высказывание - объект, если несколько высказываний - массив объектов. | |||
|} | |||
Текущая версия от 11:35, 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} в качестве ключа. Полученное значение ключа подвергается хешированию и не сохраняется в явном виде. Если не передавать в ключ какое-либо поле, оно будет подвержено перебору, т.к. не учитывая его будет создана только одна запись (при совпадении всех других полей), что само по себе ещё не вызовет блокировки. Применяется для операций категории |
Монитор

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

Осуществляет распознавание речи абонента в текстовый вид.
Сервис предоставляется облаком Yandex Cloud SpeechKit по протоколу HTTP. Не имеет технических ограничений по производительности.
Компонент предназначен для распознавания заранее записанных файлов. Поддерживает распознавание файлов с произвольной длительностью. Требует файлы в формате PCM.
Порядок регистрации учетной записи Yandex-облака и стоимость сервиса см. на Яндексе.
Настройка токенов производится в разделе настройки домена, поле 'yandex_cloud'.
Свойство | Описание |
---|---|
Путь к аудиофайлу
|
Аргумент, содержащий путь к файлу wav в формате PCM. Можно получить с помощью компонента Операция |
Аккаунт Яндекс
|
Указание на аккаунт Яндекса, опции которого берутся для подключения к яндексу.
В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' и 'storage' в объекте 'settings.yandex_cloud'. Дополнительно в список попадают ключи объекта 'settings.yandex_cloud.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа. |
Тема
|
Параметр сервиса распознавания Yandex Cloud SpeechKit: тема распознавания.
Возможные варианты:
|
Пользовательская тема
|
Аргумент, содержащий пользовательскую тему для сервиса распознавания Yandex Cloud SpeechKit. |
Язык
|
Параметр сервиса распознавания Yandex Cloud SpeechKit: язык распознавания.
Возможные варианты:
|
Фильтр ненормативной лексики
|
Параметр сервиса распознавания Yandex Cloud SpeechKit: выключатель фильтра ненормативной лексики. |
Таймаут ожидания ответа, с
|
Таймаут ожидания ответа от сервиса распознавания Yandex Cloud SpeechKit.
По истечении таймаута управление передается следующему компоненту по ветке |
Код ответа в переменную
|
Переменная для сохранения кода HTTP-ответа сервиса распознавания. |
Тело ответа в переменную
|
Переменная для сохранения полного содержания HTTP-ответа сервиса распознавания. |
Распознавание аудиофайлов Sber SaluteSpeech

Осуществляет распознавание речи абонента в текстовый вид.
Используется on-premise сервис Sber SaluteSpeech, канал GRPC.
Компонент предназначен для распознавания заранее записанных файлов. Поддерживает распознавание файлов с произвольной длительностью.
Предварительно перепаковывает файлы в формат PCM.
Настройка точек подключения в разделе настройки домена, поле 'sber_salute'.
Свойство | Описание |
---|---|
Путь к аудиофайлу
|
Аргумент, содержащий путь к файлу wav в формате PCM |
Аккаунт Сбер Салют
|
Указание на аккаунт, определяющего точки подключения к сервису Sber SaluteSpeech.
В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' в объекте 'settings.sber_salute'. Дополнительно в список попадают ключи объекта 'settings.sber_salute.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа. |
Набор грамматик
|
Параметр сервиса распознавания Sber SaluteSpeech: название набора грамматик. |
Язык
|
Параметр сервиса распознавания Sber SaluteSpeech: язык распознавания.
Возможные варианты:
|
Фильтр ненормативной лексики
|
Параметр сервиса распознавания Sber SaluteSpeech: выключатель фильтра ненормативной лексики. |
Несколько предложений
|
Параметр сервиса распознавания Sber SaluteSpeech: ожидание нескольких предложений.
Если выключено, то ответ приходит быстро вместе с обнаружением окончания первого предложения. Если включено, то собираются и склеиваются все результаты. |
Ожидание начала речи, с
|
Параметр сервиса распознавания Sber SaluteSpeech: таймаут ожидания речи. |
Длина предложения максимальная, с
|
Параметр сервиса распознавания Sber SaluteSpeech: максимальная длительность предложения. |
В кириллицу
|
Параметр сервиса распознавания Sber SaluteSpeech: Принудительное преобразование результата в кириллицу. |
Таймаут ожидания ответа, с
|
Таймаут ожидания ответа от сервиса распознавания Sber SaluteSpeech.
По истечении таймаута управление передается следующему компоненту по ветке |
Нормализованный результат в переменную
|
Переменная для сохранения нормализованного текстового результата распознавания. |
Код ответа в переменную
|
Переменная для сохранения кода ответа сервиса распознавания (код эмулируется по аналогии с HTTP: 200, 408, 500). |
Тело ответа в переменную
|
Переменная для сохранения полного содержания ответа сервиса распознавания.
Если одно высказывание - объект, если несколько высказываний - массив объектов. |
Следующая статья курса: Запуск служебных сценариев
Предыдущая статья курса: Базовые компоненты и логика построения сценариев