Запуск сценария по расписанию
Запустить сценарий можно обычным 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:
javascript{ "result": {{ JSON.stringify($json.result) }} }
После активации действий в n8n, HTTP запрос из сценария Кремакса должен возвращать результат, полученный от n8n: