Перейти к основному содержимому
Версия: 8.8

Внешние взаимодействия и интеграции

В этом разделе описаны функции для взаимодействия с внешними системами и сервисами, включая HTTP-запросы, SNMP и SSH соединения.


HTTP функции

HTTPRequest

Описание: Расширенная версия функции AutomatonHTTPRequest. В функцию добавлена возможность указать:

  • Тип данных
  • Кодировку
  • Заголовки запроса
  • Параметры запроса
  • Таймаут запроса
  • Параметры прокси
  • Параметры сериализации

Inputs

НазваниеТипОписание
InОбщие параметры для функций
UrlStringАбсолютный путь к запрашиваемому ресурсу
MethodStringHTTP метод запроса
ContentWildcard: Struct array/singleТело запроса
MediaTypeStringТип данных. По умолчанию определяется в зависимости от типа пина Content
EncodingStringКодировка, которая используется при кодировании контента в запросе. По умолчанию UTF-8
HeadersStruct:StringKeyValueСписок заголовков запроса
ContentHeadersStruct:StringKeyValueСписок заголовков для описания контента. Несет дополнительную информацию о типе контента
UrlParametersStruct:StringKeyValueСписок параметров запроса
RequestTimeoutSecondsIntegerТаймаут запроса в секундах. При указании 0, используется значение по умолчанию = 60 секунд.
ProxyConfigurationStruct:ProxyConfigurationКонфигурация подключения с использованием прокси-сервер (адрес, порт, пользователь и пароль).
JsonSerializationSettingsStruct:JsonSerializationSettingsНастройка сериализации ключей тела ответа/запроса
Справка по JsonSerializationSettings

Структура JsonSerializationSettings содержит следующие переменные:

  • UseCamelCase (Boolean): включает преобразование ключей в CamelCase в пине Content при сериализации и в пине Result при десериализации
  • PropertyNameCaseInsensitive (Boolean): включает преобразование ключей в CamelCase в пине Result при десериализации. Тип пина Result при этом должен быть существующей структурой.
    Пример работы PropertyNameCaseInsensitive: в структуре пина Result существует параметр "numCase". Если будет включена настройка и в Result придет "NUMCASE", то значение попадет в "numCase". При отключенной настройке значение останется пустым.
    Включать имеет смысл только при отключенном UseCamelCase.

Outputs

НазваниеТипОписание
Ok, Failed, ResponseОбщие параметры для функций
ResultWildcard: Struct array/singleРезультат запроса будет передан для исходящего пина Result, формат которого будет определен по установленной связи Wildcard

AutomatonHTTPRequest

Описание: Функция позволяет сформировать http-запрос для обращения к публичному API системы.

Для формирования запроса, необходимо указать:

  • адрес API

    Если Uri не начинается с http:// или с https://, то автоматически будет подставлен BaseUri из переменной Scenario для удобства работы с API Monq.

  • метод запроса
  • тело запроса

Inputs

НазваниеТипОписание
In, BearerTokenОбщие параметры для функций
UrlStringАдрес API
MethodStringТип (метод) запроса
BodyWildcard: Struct array/singleТело запроса

Outputs

НазваниеТипОписание
Ok, Failed, ResponseОбщие параметры для функций
ResultWildcard: Struct array/singleРезультат запроса будет передан для исходящего пина Result, формат которого будет определен по установленной связи Wildcard

Функции SNMP & SSH

SNMPRequestV1V2

Описание: Функция позволяет формировать SNMP-запросы для обращения к сетевым устройствам

Inputs

НазваниеТипОписание
InОбщие параметры для функций
ConfigurationStruct:SNMPConfigurationКонфигурация подключения
OIDStringИдентификатор объекта
VersionEnum (v1/v2)Версия протокола SNMP
MethodEnum (get/set/walk)Метод запроса
DataStruct:SNMPDataОпределение типа входящих данных при использовании метода Set
WalkModeEnum (Default/WithinSubtree)Режим обхода, имеет смысл только если в параметре Method выбран Walk

Outputs

НазваниеТипОписание
OutExecПоследовательность активна в случае успешного выполнения запроса
FailedExecПоследовательность активна если запрос выполнен с ошибкой
ResponseStruct:SNMPResponseВозвращает результат запроса согласно модели SNMPResponse
ErrorStringВозвращает текст ошибки

Struct:SNMPConfiguration

Описание структуры Struct:SNMPConfiguration:

ПинТипОписание
IPAddressStringАдрес сервера (IP-адрес, либо DNS-имя)
PortIntegerНомер порта оборудования
CommunityStringПароль
TimeoutSecondsIntegerТаймаут подключения (по умолчанию 60 секунд)
MaxRepetitionIntegerУказывает, сколько строк таблицы должно быть получено за одну операцию (применимо к SNMPv2 и методу walk)

Struct:SNMPData

Описание структуры Struct:SNMPData:

ПинТипОписание
TypeEnumОпределение типа входящих данных
DataStringДанные
IdStringOID внутри оборудования

Struct:SNMPResponse

Описание структуры Struct:SNMPResponse:

ПинТипОписание
OIDStringИдентификатор объекта
DataStruct:SNMPDataДанные

SSHRequest

Описание: Функция позволяет установить SSH соединение и выполнить команды на удаленном хосте

Inputs

НазваниеТипОписание
InОбщие параметры для функций
ConfigurationStruct:SSHConfigurationКонфигурация подключения
CommandStringТекст отправляемой команды

Outputs

НазваниеТипОписание
OutExecПоследовательность активна в случае успешного выполнения запроса
FailedExecПоследовательность активна если запрос выполнен с ошибкой
ResultStringВозвращает результат выполнения команды
ErrorStringВозвращает текст ошибки

Struct:SSHConfiguration

Описание структуры Struct:SSHConfiguration:

ПинТипОписание
HostStringАдрес сервера (IP-адрес, либо DNS-имя)
PortIntegerНомер порта SSH
UsernameStringИмя пользователя
PasswordStringПароль для аутентификации пользователя (опционально, может быть пустым, если аутентификация через PrivateKey)
PrivateKeyStringЗакрытый ключ для установления соединения (опционально, может быть пустым, если аутентификация через Password)
  • Если передан и пароль и закрытый ключ, то функция отрабатывает по закрытому ключу
  • Поддерживаются только RSA ключи в PEM-формате без Passphrase

Функции отправки сообщений

SendEmail

Назначение: Отправка почтовых сообщений
Описание: Функция позволяет отправить письмо через указанный SMTP сервер

Inputs

НазваниеТипОписание
InОбщие параметры для функций
MessageStruct:EmailMessageМодель сообщения
ConfigurationStruct:EmailConfigurationМодель конфигурации

Outputs

НазваниеТипОписание
Ok, FailedОбщие параметры для функций
ErrorStringТекст ошибки, в случае ее возникновения

Struct - EmailMessage

Описание структуры Struct:EmailMessage:

ПинТипОписание
SubjectStringТема письма
BodyStringТекст письма
MailTypeStringФормат письма (plain/html)
RecipientsString (array)Список адресов получателей

Struct - EmailConfiguration

Описание структуры Struct:EmailConfiguration:

ПинТипОписание
FromNameStringИмя отправителя
FromEmailStringАдрес отправителя
HostStringАдрес SMTP сервера
PortIntegerПорт сервера
UsernameStringИмя пользователя
PasswordStringПароль пользователя
SecureModeStringРежим шифрования (TLS/SSL)

SendEmailExtended

Назначение: Отправка почтовых сообщений через Подключения типов действий
Описание: Функция позволяет отправить письмо через настроенное подключение в Типе действий

Inputs

НазваниеТипОписание
InОбщие параметры для функций
ConnectionCredsStruct:ConnectionsStructApiМодель подключения
MessageStruct:EmailMessageМодель сообщения
DefaultCredsStruct:EmailConfigurationМодель конфигурации

Outputs

НазваниеТипОписание
Ok, FailedОбщие параметры для функций
ErrorStringТекст ошибки, в случае ее возникновения

Struct - ConnectionsStructApi

Описание структуры Struct:ConnectionsStructApi: Служебная структура для передачи в функцию SendEmailExtended параметров подключения.

Struct - EmailMessage Ext

Описание структуры Struct:EmailMessage:

ПинТипОписание
SubjectStringТема письма
BodyStringТекст письма
MailTypeStringФормат письма (plain/html)
RecipientsString (array)Список адресов получателей

Struct - EmailConfiguration Ext

Описание структуры Struct:EmailConfiguration:

ПинТипОписание
FromNameStringИмя отправителя
FromEmailStringАдрес отправителя
HostStringАдрес SMTP сервера
PortIntegerПорт сервера
UsernameStringИмя пользователя
PasswordStringПароль пользователя
SecureModeStringРежим шифрования (TLS/SSL)

SendTelegramMessage

Назначение: Отправка сообщений через Telegram
Описание: Функция взаимодействия с API Telegram для отправки текстовых сообщений

Inputs

НазваниеТипОписание
InОбщие параметры для функций
BotTokenStringТокен Telegram-бота
ChatIdStringИдентификатор чата в Telegram
MessageStruct:TelegramMessageМодель сообщения

Outputs

НазваниеТипОписание
Ok, FailedОбщие параметры для функций
ResultWildcardОтвет запроса
ResponseStruct:HttpResponseВозвращает результат выполнения запроса согласно модели HttpResponse

Struct - TelegramMessage

Описание структуры Struct:EmailMessage:

ПинТипОписание
TextStringТекст сообщения
ParseModeStringРежим парсинга сообщения Telegram parse_mode
DisableWebPagePreviewBoolОтключение пред-просмотра ссылок в сообщении
DisableNotificationBoolОтключение уведомления для сообщения
ProtectContentBoolУстановка запрета на пересылку сообщения

SendTelegramMessageExtended

Назначение: Отправка сообщений через Telegram
Описание: Функция взаимодействия с API Telegram для отправки текстовых сообщений

Inputs

НазваниеТипОписание
InОбщие параметры для функций
ConnectionCredsStruct:ConnectionsStructApiМодель подключения
RecipientsString(array)Список получателей (Telegram ChatId)
MessageStruct:TelegramMessageМодель сообщения
DefaultCredsStruct:TelegramCredsМодель конфигурации
ProxyConfigurationStruct:ProxyConfigurationМодель конфигурации прокси-сервера

Outputs

НазваниеТипОписание
Ok, FailedОбщие параметры для функций
ResultDynamic (array)Массив результатов выполнения каждого запроса в отдельности
ResponseStruct:HttpResponseВозвращает результат выполнения запроса согласно модели HttpResponse

Struct - TelegramCreds

Описание структуры Struct:TelegramCreds:

ПинТипОписание
TokenStringТокен Telegram-бота

Struct - ProxyConfiguration

Описание структуры `Struct:ProxyConfiguration:

ПинТипОписание
AddressStringАдрес сервера
PortIntegerПорт сервера
UsernameStringПользователь
PasswordStringПароль

SendImageTelegram

Назначение: Отправка сообщений через Telegram
Описание: Функция взаимодействия с API Telegram для отправки текстовых сообщений

Inputs

НазваниеТипОписание
InОбщие параметры для функций
BotTokenStringТокен Telegram-бота
ChatIdStringИдентификатор чата в Telegram
ImageStruct:TelegramImageМодель вложения

Outputs

НазваниеТипОписание
Ok, FailedОбщие параметры для функций
ResultWildcardОтвет запроса
ResponseStruct:HttpResponseВозвращает результат выполнения запроса согласно модели HttpResponse

Struct - TelegramImage

Описание структуры Struct:TelegramImage:

ПинТипОписание
ImageUriStringПубличная ссылка на изображение
BytesByte (array)Массив байт изображения. Если указан ImageUri данный параметр игнорируется
FileNameStringИмя файла. Если оставить пустым будет задано дефолтное название Image
CaptionStringОписание изображения
SettingsStruct:TelegramImageSettingsМодель дополнительных настроек

Struct - TelegramImageSettings

Описание структуры Struct:TelegramImageSettings:

ПинТипОписание
ParseModeStringРежим парсинга сообщения Telegram parse_mode
HasSpoilerBoolЗащита изображение спойлером. Изображение будет видно после нажатия на спойлер.
DisableNotificationBoolОтключение уведомления для сообщения
ProtectContentBoolУстановка запрета на пересылку сообщения

Вспомогательные функции для рассылок

FilterRecipients

Назначение: Вспомогательная функция фильтрации получателей из рассылки
Описание: Функция возвращает результат, согласно переданной в настройках действия рассылки (или нескольких рассылок)

Inputs

НазваниеТипОписание
InОбщие параметры для функций
RecipientsListStruct:RecipientsListStructApi (Array)Массив моделей рассылок, получаемых из входной модели действия

Outputs

НазваниеТипОписание
Ok, FailedОбщие параметры для функций
ResultStruct:FilterRecipientsResult (Array)Модель подключения, которое указано для рассылки и список контактов
ErrorStringТекст ошибки в случае выполнения запроса с ошибкой

Пример использования

image

Struct - FilterRecipientsResult

Описание структуры Struct:FilterRecipientsResult:

ПинТипОписание
RecipientsString (array)Список контактов из рассылки
ConnectionStruct:ConnectionsStructApiМодель, используемого подключения в рассылке РГ

GetConnectionCreds

Назначение: Вспомогательная функция получения данных подключения
Описание: Функция возвращает данные, определенные в качестве параметров подключения в типе действий

Для сохранности логинов и паролей

рекомендуем использовать данную функцию только при создании глобальных функций в собственных библиотеках автоматона

Inputs

НазваниеТипОписание
InОбщие параметры для функций
BearerTokenStringТокен пользователя с правами администратора
ConnectionStruct:ConnectionsStructApiМодель, используемого подключения в рассылке РГ

Outputs

НазваниеТипОписание
Ok, FailedОбщие параметры для функций
ResultWildcardНеобходимо выбрать созданную структуру подключения, которая задействована в рассылке
ErrorStringТекст ошибки в случае выполнения запроса с ошибкой

Пример использования

image

Пример структуры подключения из библиотеки Libs_us1.NotificationService:

image

GetContacts

Назначение: Системная функция получения контактных данных пользователей
Описание: Функция используется при автоматическом создании функций рассылок, чтобы получить контактные данные для конкретных пользователей, согласно переданному типу контакта

Inputs

НазваниеТипОписание
InОбщие параметры для функций
BearerTokenStringТокен пользователя с правами администратора
ContactIdInteger64Идентификатор контакта, который указан для подключения и по которому создана рассылка
UserIdsInteger64 (Array)Массив идентификаторов пользователей, у которых из профилей будет забираться контактная информация

Outputs

НазваниеТипОписание
Ok, FailedОбщие параметры для функций
ContactsString (Array)Массив строк с контактными данными
ResponseStruct:AutomatonResponseВозвращает результат выполнения запроса согласно модели AutomatonResponse

FilterUserIds

Назначение: Системная функция получения контактных данных пользователей при использовании ролей в рассылках
Описание: Функция используется при автоматическом создании функций рассылок, чтобы получить контактные данные для конкретных пользователей, согласно выбранной роли

Inputs

НазваниеТипОписание
InОбщие параметры для функций
RoleIdsInteger64 (Array)Массив идентификаторов ролей пользователей в РГ

Outputs

НазваниеТипОписание
Ok, FailedОбщие параметры для функций
UserIdsInteger64 (Array)Массив идентификаторов пользователей, у которых в текущей РГ есть роли, переданные на вход