Внешние взаимодействия и интеграции
В этом разделе описаны функции для взаимодействия с внешними системами и сервисами, включая HTTP-запросы, SNMP и SSH соединения.
HTTP функции
HTTPRequest
Описание: Расширенная версия функции AutomatonHTTPRequest. В функцию добавлена возможность указать:
- Тип данных
- Кодировку
- Заголовки запроса
- Параметры запроса
- Таймаут запроса
- Параметры прокси
- Параметры сериализации
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
Url | String | Абсолютный путь к запрашиваемому ресурсу |
Method | String | HTTP метод запроса |
Content | Wildcard: Struct array/single | Тело запроса |
MediaType | String | Тип данных. По умолчанию определяется в зависимости от типа пина Content |
Encoding | String | Кодировка, которая используется при кодировании контента в запросе. По умолчанию UTF-8 |
Headers | Struct:StringKeyValue | Список заголовков запроса |
ContentHeaders | Struct:StringKeyValue | Список заголовков для описания контента. Несет дополнительную информацию о типе контента |
UrlParameters | Struct:StringKeyValue | Список параметров запроса |
RequestTimeoutSeconds | Integer | Таймаут запроса в секундах. При указании 0, используется значение по умолчанию = 60 секунд. |
ProxyConfiguration | Struct:ProxyConfiguration | Конфигурация подключения с использованием прокси-сервер (адрес, порт, пользователь и пароль). |
JsonSerializationSettings | Struct:JsonSerializationSettings | Настройка сериализации ключей тела ответа/запроса |
Справка по JsonSerializationSettings
Структура JsonSerializationSettings содержит следующие переменные:
- UseCamelCase (Boolean): включает преобразование ключей в CamelCase в пине
Content
при сериализации и в пинеResult
при десериализации - PropertyNameCaseInsensitive (Boolean): включает преобразование ключей в CamelCase в пине
Result
при десериализации. Тип пинаResult
при этом должен быть существующей структурой.
Пример работы PropertyNameCaseInsensitive: в структуре пинаResult
существует параметр "numCase". Если будет включена настройка и вResult
придет "NUMCASE", то значение попадет в "numCase". При отключенной настройке значение останется пустым.
Включать имеет смысл только при отключенномUseCamelCase
.
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed, Response | Общие параметры для функций | |
Result | Wildcard: Struct array/single | Результат запроса будет передан для исходящего пина Result, формат которого будет определен по установленной связи Wildcard |
AutomatonHTTPRequest
Описание: Функция позволяет сформировать http-запрос для обращения к публичному API системы.
Для формирования запроса, необходимо указать:
- адрес API
Если Uri не начинается с
http://
или сhttps://
, то автоматически будет подставленBaseUri
из переменнойScenario
для удобства работы с API Monq. - метод запроса
- тело запроса
Inputs
Название | Тип | Описание |
---|---|---|
In, BearerToken | Общие параметры для функций | |
Url | String | Адрес API |
Method | String | Тип (метод) запроса |
Body | Wildcard: Struct array/single | Тело запроса |
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed, Response | Общие параметры для функций | |
Result | Wildcard: Struct array/single | Результат запроса будет передан для исходящего пина Result, формат которого будет определен по установленной связи Wildcard |
Функции SNMP & SSH
SNMPRequestV1V2
Описание: Функция позволяет формировать SNMP-запросы для обращения к сетевым устройствам
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
Configuration | Struct:SNMPConfiguration | Конфигурация подключения |
OID | String | Идентификатор объекта |
Version | Enum (v1/v2) | Версия протокола SNMP |
Method | Enum (get/set/walk) | Метод запроса |
Data | Struct:SNMPData | Определение типа входящих данных при использовании метода Set |
WalkMode | Enum (Default/WithinSubtree) | Режим обхода, имеет смысл только если в параметре Method выбран Walk |
Outputs
Название | Тип | Описание |
---|---|---|
Out | Exec | Последовательность активна в случае успешного выполнения запроса |
Failed | Exec | Последовательность активна если запрос выполнен с ошибкой |
Response | Struct:SNMPResponse | Возвращает результат запроса согласно модели SNMPResponse |
Error | String | Возвращает текст ошибки |
Struct:SNMPConfiguration
Описание структуры Struct:SNMPConfiguration
:
Пин | Тип | Описание |
---|---|---|
IPAddress | String | Адрес сервера (IP-адрес, либо DNS-имя) |
Port | Integer | Номер порта оборудования |
Community | String | Пароль |
TimeoutSeconds | Integer | Таймаут подключения (по умолчанию 60 секунд) |
MaxRepetition | Integer | Указывает, сколько строк таблицы должно быть получено за одну операцию (применимо к SNMPv2 и методу walk) |
Struct:SNMPData
Описание структуры Struct:SNMPData
:
Пин | Тип | Описание |
---|---|---|
Type | Enum | Определение типа входящих данных |
Data | String | Данные |
Id | String | OID внутри оборудования |
Struct:SNMPResponse
Описание структуры Struct:SNMPResponse
:
Пин | Тип | Описание |
---|---|---|
OID | String | Идентификатор объекта |
Data | Struct:SNMPData | Данные |
SSHRequest
Описание: Функция позволяет установить SSH соединение и выполнить команды на удаленном хосте
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
Configuration | Struct:SSHConfiguration | Конфигурация подключения |
Command | String | Текст отправляемой команды |
Outputs
Название | Тип | Описание |
---|---|---|
Out | Exec | Последовательность активна в случае успешного выполнения запроса |
Failed | Exec | Последовательность активна если запрос выполнен с ошибкой |
Result | String | Возвращает результат выполнения команды |
Error | String | Возвращает текст ошибки |
Struct:SSHConfiguration
Описание структуры Struct:SSHConfiguration
:
Пин | Тип | Описание |
---|---|---|
Host | String | Адрес сервера (IP-адрес, либо DNS-имя) |
Port | Integer | Номер порта SSH |
Username | String | Имя пользователя |
Password | String | Пароль для аутентификации пользователя (опционально, может быть пустым, если аутентификация через PrivateKey) |
PrivateKey | String | Закрытый ключ для установления соединения (опционально, может быть пустым, если аутентификация через Password) |
- Если передан и пароль и закрытый ключ, то функция отрабатывает по закрытому ключу
- Поддерживаются только RSA ключи в PEM-формате без Passphrase
Функции отправки сообщений
SendEmail
Назначение: Отправка почтовых сообщений
Описание: Функция позволяет отправить письмо через указанный SMTP сервер
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
Message | Struct:EmailMessage | Модель сообщения |
Configuration | Struct:EmailConfiguration | Модель конфигурации |
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed | Общие параметры для функций | |
Error | String | Текст ошибки, в случае ее возникновения |
Struct - EmailMessage
Описание структуры Struct:EmailMessage
:
Пин | Тип | Описание |
---|---|---|
Subject | String | Тема письма |
Body | String | Текст письма |
MailType | String | Формат письма (plain /html ) |
Recipients | String (array) | Список адресов получателей |
Struct - EmailConfiguration
Описание структуры Struct:EmailConfiguration
:
Пин | Тип | Описание |
---|---|---|
FromName | String | Имя отправителя |
FromEmail | String | Адрес отправителя |
Host | String | Адрес SMTP сервера |
Port | Integer | Порт сервера |
Username | String | Имя пользователя |
Password | String | Пароль пользователя |
SecureMode | String | Режим шифрования (TLS /SSL ) |
SendEmailExtended
Назначение: Отправка почтовых сообщений через Подключения типов действий
Описание: Функция позволяет отправить письмо через настроенное подключение в Типе действий
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
ConnectionCreds | Struct:ConnectionsStructApi | Модель подключения |
Message | Struct:EmailMessage | Модель сообщения |
DefaultCreds | Struct:EmailConfiguration | Модель конфигурации |
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed | Общие параметры для функций | |
Error | String | Текст ошибки, в случае ее возникновения |
Struct - ConnectionsStructApi
Описание структуры Struct:ConnectionsStructApi
: Служебная структура для передачи в функцию SendEmailExtended
параметров подключения.
Struct - EmailMessage Ext
Описание структуры Struct:EmailMessage
:
Пин | Тип | Описание |
---|---|---|
Subject | String | Тема письма |
Body | String | Текст письма |
MailType | String | Формат письма (plain /html ) |
Recipients | String (array) | Список адресов получателей |
Struct - EmailConfiguration Ext
Описание структуры Struct:EmailConfiguration
:
Пин | Тип | Описание |
---|---|---|
FromName | String | Имя отправителя |
FromEmail | String | Адрес отправителя |
Host | String | Адрес SMTP сервера |
Port | Integer | Порт сервера |
Username | String | Имя пользователя |
Password | String | Пароль пользователя |
SecureMode | String | Режим шифрования (TLS /SSL ) |
SendTelegramMessage
Назначение: Отправка сообщений через Telegram
Описание: Функция взаимодействия с API Telegram для отправки текстовых сообщений
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
BotToken | String | Токен Telegram-бота |
ChatId | String | Идентификатор чата в Telegram |
Message | Struct:TelegramMessage | Модель сообщения |
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed | Общие параметры для функций | |
Result | Wildcard | Ответ запроса |
Response | Struct:HttpResponse | Возвращает результат выполнения запроса согласно модели HttpResponse |
Struct - TelegramMessage
Описание структуры Struct:EmailMessage
:
Пин | Тип | Описание |
---|---|---|
Text | String | Текст сообщения |
ParseMode | String | Режим парсинга сообщения Telegram parse_mode |
DisableWebPagePreview | Bool | Отключение пред-просмотра ссылок в сообщении |
DisableNotification | Bool | Отключение уведомления для сообщения |
ProtectContent | Bool | Установка запрета на пересылку сообщения |
SendTelegramMessageExtended
Назначение: Отправка сообщений через Telegram
Описание: Функция взаимодействия с API Telegram для отправки текстовых сообщений
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
ConnectionCreds | Struct:ConnectionsStructApi | Модель подключения |
Recipients | String(array) | Список получателей (Telegram ChatId) |
Message | Struct:TelegramMessage | Модель сообщения |
DefaultCreds | Struct:TelegramCreds | Модель конфигурации |
ProxyConfiguration | Struct:ProxyConfiguration | Модель конфигурации прокси-сервера |
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed | Общие параметры для функций | |
Result | Dynamic (array) | Массив результатов выполнения каждого запроса в отдельности |
Response | Struct:HttpResponse | Возвращает результат выполнения запроса согласно модели HttpResponse |
Struct - TelegramCreds
Описание структуры Struct:TelegramCreds
:
Пин | Тип | Описание |
---|---|---|
Token | String | Токен Telegram-бота |
Struct - ProxyConfiguration
Описание структуры `Struct:ProxyConfiguration:
Пин | Тип | Описание |
---|---|---|
Address | String | Адрес сервера |
Port | Integer | Порт сервера |
Username | String | Пользователь |
Password | String | Пароль |
SendImageTelegram
Назначение: Отправка сообщений через Telegram
Описание: Функция взаимодействия с API Telegram для отправки текстовых сообщений
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
BotToken | String | Токен Telegram-бота |
ChatId | String | Идентификатор чата в Telegram |
Image | Struct:TelegramImage | Модель вложения |
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed | Общие параметры для функций | |
Result | Wildcard | Ответ запроса |
Response | Struct:HttpResponse | Возвращает результат выполнения запроса согласно модели HttpResponse |
Struct - TelegramImage
Описание структуры Struct:TelegramImage
:
Пин | Тип | Описание |
---|---|---|
ImageUri | String | Публичная ссылка на изображение |
Bytes | Byte (array) | Массив байт изображения. Если указан ImageUri данный параметр игнорируется |
FileName | String | Имя файла. Если оставить пустым будет задано дефолтное название Image |
Caption | String | Описание изображения |
Settings | Struct:TelegramImageSettings | Модель дополнительных настроек |
Struct - TelegramImageSettings
Описание структуры Struct:TelegramImageSettings
:
Пин | Тип | Описание |
---|---|---|
ParseMode | String | Режим парсинга сообщения Telegram parse_mode |
HasSpoiler | Bool | Защита изображение спойлером. Изображение будет видно после нажатия на спойлер. |
DisableNotification | Bool | Отключение уведомления для сообщения |
ProtectContent | Bool | Установка запрета на пересылку сообщения |
Вспомогательные функции для рассылок
FilterRecipients
Назначение: Вспомогательная функция фильтрации получателей из рассылки
Описание: Функция возвращает результат, согласно переданной в настройках действия рассылки (или нескольких рассылок)
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
RecipientsList | Struct:RecipientsListStructApi (Array) | Массив моделей рассылок, получаемых из входной модели действия |
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed | Общие параметры для функций | |
Result | Struct:FilterRecipientsResult (Array) | Модель подключения, которое указано для рассылки и список контактов |
Error | String | Текст ошибки в случае выполнения запроса с ошибкой |
Пример использования
Struct - FilterRecipientsResult
Описание структуры Struct:FilterRecipientsResult
:
Пин | Тип | Описание |
---|---|---|
Recipients | String (array) | Список контактов из рассылки |
Connection | Struct:ConnectionsStructApi | Модель, используемого подключения в рассылке РГ |
GetConnectionCreds
Назначение: Вспомогательная функция получения данных подключения
Описание: Функция возвращает данные, определенные в качестве параметров подключения в типе действий
рекомендуем использовать данную функцию только при создании глобальных функций в собственных библиотеках автоматона
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
BearerToken | String | Токен пользователя с правами администратора |
Connection | Struct:ConnectionsStructApi | Модель, используемого подключения в рассылке РГ |
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed | Общие параметры для функций | |
Result | Wildcard | Необходимо выбрать созданную структуру подключения, которая задействована в рассылке |
Error | String | Текст ошибки в случае выполнения запроса с ошибкой |
Пример использования
Пример структуры подключения из библиотеки Libs_us1.NotificationService
:
GetContacts
Назначение: Системная функция получения контактных данных пользователей
Описание: Функция используется при автоматическом создании функций рассылок, чтобы получить контактные данные для конкретных пользователей, согласно переданному типу контакта
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
BearerToken | String | Токен пользователя с правами администратора |
ContactId | Integer64 | Идентификатор контакта, который указан для подключения и по которому создана рассылка |
UserIds | Integer64 (Array) | Массив идентификаторов пользователей, у которых из профилей будет забираться контактная информация |
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed | Общие параметры для функций | |
Contacts | String (Array) | Массив строк с контактными данными |
Response | Struct:AutomatonResponse | Возвращает результат выполнения запроса согласно модели AutomatonResponse |
FilterUserIds
Назначение: Системная функция получения контактных данных пользователей при использовании ролей в рассылках
Описание: Функция используется при автоматическом создании функций рассылок, чтобы получить контактные данные для конкретных пользователей, согласно выбранной роли
Inputs
Название | Тип | Описание |
---|---|---|
In | Общие параметры для функций | |
RoleIds | Integer64 (Array) | Массив идентификаторов ролей пользователей в РГ |
Outputs
Название | Тип | Описание |
---|---|---|
Ok, Failed | Общие параметры для функций | |
UserIds | Integer64 (Array) | Массив идентификаторов пользователей, у которых в текущей РГ есть роли, переданные на вход |