CreatiumMax

Автоматизация с n8n

Запуск сценария по расписанию

Запустить сценарий можно обычным GET запросом на эндпоинт сценария. n8n позволяет выбрать периодичность и автоматизировать запросы.

"Триггер" - событие которое запускает установленные действия в n8n. В качестве триггера, выберите "On a schedule":

В настройках триггера указывается периодичность его запуска. Как пример, можно настроить триггер на запуск каждые 5 минут:

Следующим шагом после триггера необходимо одно лишь действие - HTTP запрос, который и будет ответственен за запуск нашего сценария на Кремаксе:

Скопируйте эндпоинт сценария и укажите его в URL HTTP запроса n8n:

Для запуска созданных действий переключите тумблер "Inactive", на "Active":

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

Обработка данных сценария кодом Python и JS

В случаях когда необходимо обработать данные сценария скриптом Python или JS, можно отправлять их из сценария в n8n.

Для отправки данных в n8n используется триггер - Webhook:

Метод запроса - POST. В настройке “Respond” необходимо указать Using ‘Respond to Webhook’ node.
Скопируйте URL вебхука с n8n и вставьте его в действие HTTP запроса в сценарии Кремакса:

Данные передаются в теле запроса.

Для проверки запроса, можно активировать вебхук в тестовом режиме - “Listen for test events” и выполнить действие HTTP запроса на Кремаксе:

В "Output" поступят передаваемые данные:

Полученные данные передаются в следующий шаг "Code", где можно выполнить скрипт:

В JS для обращения к данным из тела запроса используется объект $json.body. Скрипт должен возвращать объект, для передачи данных в следующий шаг при помощи return.
В примере выше, мы создали простой пронумерованный массив используя входящие данные.

Для передачи данных обратно в наш сценарий необходим шаг "Respond to Webhook", где результат передается в теле ответа (Response Body):

При отправке данных в формате JSON необходимо убедиться, что формат тела запроса является валидным JSON форматом. Конвертировать имеющиеся данные в JSON можно функцией JSON.stringify() :

Пример поля Response Body:

typescript
{
  "result":  {{ JSON.stringify($json.result) }}
}

После активации действий в n8n, HTTP запрос из сценария Кремакса должен возвращать результат, полученный от n8n:

Было полезно?

Остались вопросы? — Напишите нам в чат поддержки будучи авторизованным в своем аккаунте cremax.ru или через чат поддержки в Телеграме: @CreatiumMaxSupportBot