Свой JavaScript-код в no-code автоматизации

Свой JavaScript-код в nana800 пишется в блоке «run custom script»: он выполняет код на JavaScript или TypeScript прямо в схеме и передаёт результат следующим блокам. Обратный путь тоже есть: npm-библиотека nana800-code-action запускает схему из кода вашего сайта, приложения или сервера. Оба блока бесплатные, платятся только остальные блоки схемы и часы её работы.

Собрать в конструкторе
  • Запуск блока: 0 ₽
  • Бесплатно каждый месяц: 350 ₽
  • Карта не нужна

Что можно сделать

  • Пересобирать данные по своим правилам: достать нужные поля из ответа API, отфильтровать список, посчитать сумму заказа
  • Писать на JavaScript или TypeScript с await и return, пользоваться библиотекой lodash и функцией паузы wait(ms)
  • Читать в коде результаты всех предыдущих блоков и переменные проекта
  • Видеть вывод console.log в результате блока, до 1000 строк, чтобы искать ошибки
  • Запускать схему из своего кода на Node.js 18+, в браузере или в React Native через npm-библиотеку nana800-code-action
  • Передавать из кода любые данные в схему и при желании ждать, пока она закончит работу

Блоки в конструкторе

  • Свой скрипт

    Действие · бесплатно

    Выполняет код на JavaScript или TypeScript в изолированной песочнице. То, что вернул return, попадает в result и доступно следующим блокам. Ещё блок возвращает logs, success и error_text. Блок бесплатный.

  • Запуск из кода (триггер)

    Триггер · бесплатно

    Запускает схему вызовом из вашего кода через npm-библиотеку nana800-code-action или обычным POST-запросом с API-ключом. Переданные данные приходят в схему в поле payload. Можно включить ожидание ответа схемы.

Как настроить

  1. 1

    Добавьте блок скрипта

    В конструкторе создайте схему с триггером «button» для проверки и добавьте блок «run custom script». В поле script напишите код и верните результат через return, например return { total: 5 }.

  2. 2

    Возьмите данные предыдущих блоков

    Результаты блоков доступны в коде в объекте NODES по имени блока, переменные проекта лежат в GLOBAL_ENV. Сеть, таймеры и модули Node.js в песочнице закрыты: запрос к API делайте блоком «request», а в коде разбирайте его ответ.

  3. 3

    Включите схему и проверьте результат

    Включите схему, нажмите кнопку триггера и откройте результат блока: в result лежит то, что вернул код, в logs строки из console.log, в error_text текст ошибки. Поля из result подставляются в следующие блоки.

  4. 4

    Запустите схему из своего кода

    Поставьте в схему триггер «code action from code with npm library». В настройках nana800 создайте API-ключ, установите библиотеку командой npm i nana800-code-action и вызовите startTriggerAction с ключом, ID схемы, именем блока-триггера и данными в payload.

  5. 5

    Оставьте схему включённой

    Пока схема выключена, вызов из кода её не запустит. Включённая схема стоит 0,42 ₽ в час. API-ключ привязан к вашему аккаунту, поэтому вызывайте схему со своего сервера, а не из кода страницы, который видят посетители.

Шаблоны с этим сервисом

  • Чат-бот для Telegram с автоответом

    Шаблон чат-бота для Telegram без программирования: бот принимает сообщения и фото клиентов и сразу отвечает. Нужен только токен, бесплатный баланс каждый месяц.

Частые вопросы

Блоки «run custom script» и «code action from code with npm library» бесплатные. Платятся остальные блоки схемы и время, пока схема включена: 0,42 ₽ в час. Баланс каждый месяц бесплатно пополняется до 350 ₽, карта не нужна. Если схема включена круглосуточно весь месяц, большая часть этой суммы уходит на часы её работы.

Весь скрипт вместе с await и wait должен уложиться в 5 секунд, непрерывные вычисления без пауз - в 500 мс. Память до 64 МБ, результат - JSON до 8 МБ, логи до 1000 строк. Если лимит превышен или код упал, блок вернёт success = false и текст ошибки, а схема пойдёт дальше.

Нет. Скрипт работает в изолированной песочнице без сети, таймеров и модулей Node.js: require, fetch, setTimeout и process недоступны. Для запросов поставьте перед скриптом блок «request», а в скрипте разберите его ответ. Из библиотек доступен lodash.

API-ключ создаётся в настройках аккаунта nana800, в разделе «API-ключ». ID схемы есть в адресе схемы в конструкторе, после /scheme/. Имя блока - это имя триггера «code action from code with npm library» в вашей схеме.

Вебхук - публичный адрес: запрос на него может прийти откуда угодно, и он умеет вернуть данные через блок «webhook response». Запуск из кода проверяет ваш API-ключ, поэтому чужой запрос схему не запустит. Если коду нужно получить данные от схемы в ответ, берите вебхук.

Нет. Большинство схем собирается из блоков с полями. Скрипт нужен, когда данные надо пересобрать по своим правилам, а запуск из кода - разработчикам, которые хотят вызывать схему из своего приложения.

Соберите первую схему бесплатно

Регистрация бесплатная, карта не нужна. Каждый месяц баланс бесплатно пополняется до 350 ₽, этого хватает примерно на 3 500 запусков простых блоков.

Собрать в конструкторе