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

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

Запустить сценарий можно обычным GET запросом на эндпоинт сценария. n8n позволяет выбрать периодичность и автоматизировать запросы.
“Триггер” - событие которое запускает установленные действия в n8n. В качестве триггера, выберите “On a schedule”:
Image without caption
В настройках триггера указывается периодичность его запуска. Как пример, можно настроить триггер на запуск каждые 5 минут:
Image without caption
Следующим шагом после триггера необходимо одно лишь действие - HTTP запрос, который и будет ответственен за запуск нашего сценария на Кремаксе:
Image without caption
Скопируйте эндпоинт сценария и укажите его в URL HTTP запроса n8n:
Image without caption
Image without caption
Для запуска созданных действий переключите тумблер “Inactive”, на “Active”:
Image without caption
Сценарий будет запущен автоматически через указанный в n8n интервал времени. Результат запусков можно увидеть в логах сценария.

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

В случаях когда необходимо обработать данные сценария скриптом Python или JS, можно отправлять их из сценария в n8n.
Для отправки данных в n8n используется триггер - Webhook:
Image without caption
Метод запроса - POST. В настройке “Respond” необходимо указать Using ‘Respond to Webhook’ node. Скопируйте URL вебхука с n8n и вставьте его в действие HTTP запроса в сценарии Кремакса:
Image without caption
Image without caption
Данные передаются в теле запроса.
Для проверки запроса, можно активировать вебхук в тестовом режиме - “Listen for test events” и выполнить действие HTTP запроса на Кремаксе:
Image without caption
В “Output” поступят передаваемые данные:
Image without caption
Полученные данные передаются в следующий шаг “Code”, где можно выполнить скрипт:
Image without caption
Image without caption
В JS для обращения к данным из тела запроса используется объект $json.body. Скрипт должен возвращать объект, для передачи данных в следующий шаг при помощи return. В примере выше, мы создали простой пронумерованный массив используя входящие данные.
Для передачи данных обратно в наш сценарий необходим шаг “Respond to Webhook”, где результат передается в теле ответа (Response Body):
Image without caption
При отправке данных в формате JSON необходимо убедиться, что формат тела запроса является валидным JSON форматом. Конвертировать имеющиеся данные в JSON можно функцией JSON.stringify() :
Image without caption
Пример поля Response Body:
javascript
{ "result": {{ JSON.stringify($json.result) }} }
После активации действий в n8n, HTTP запрос из сценария Кремакса должен возвращать результат, полученный от n8n:
Image without caption