Nodul LogoNodul
Возможные ошибки

Ошибки при сборке сценария

Ниже — частые ошибки, которые возникают при настройке узлов, подстановке переменных и выполнении сценария. Формат подстановок описан в Шаблонах переменных.


Ошибки синтаксиса переменных

Корректный формат переменных и подстановок описан на странице Передача данных. Платформа использует свой формат подстановок. Простое имя вроде {{first_name}}, нелатинские символы или голый оператор внутри {{ }} не допускаются.

Сообщения: Unexpected symbol: f — invalid variable format {{first_name}}, Unexpected symbol: 乙 — non-Latin character, Unexpected symbol: & — expression {{&&}} contains invalid operator

Причина: использовано «голое» имя {{first_name}}, нелатинские символы в имени или оператор (&&, ||) прямо внутри {{ }}.

Что делать

  • Данные узла: {{$номер_узла.поле}}, например {{$11.first_name}}.
  • Переменная сценария: {{_.имя_переменной}}, глобальная: {{%.имя}}.
  • Вставляйте подстановки через виджет переменных или сверьтесь с Шаблонами переменных.

Ошибки разбора выражений

Движок выражений не может разобрать формулу, условие или вызов функции.

Сообщения: Expression parsing error: unsupported expression, Expression error: split() called with three arguments, invalid syntax near '&&'

Причина: вызов функций вроде randomString() или split() с неподдерживаемым синтаксисом; использование && / || прямо внутри {{ }}; незакрытые скобки или кавычки.

Что делать

  • Сложную логику вынесите в узел JavaScript.
  • Для условий используйте узел связи с фильтром или узел с условием (IF).
  • Проверяйте выражение в редакторе перед сохранением.

Пустые обязательные поля

Обязательный параметр узла не заполнен в момент выполнения.

Сообщения: required field "Message ID" is empty, required field "Chat ID" is empty, required field "Search Value" is empty

Причина: поле оставлено пустым или подставлена несуществующая переменная {{xxx}}; предыдущий узел не вернул данные; путь к полю не совпадает с выводом узла.

Что делать

  • Подставьте вывод предыдущего узла: {{$номер.поле}}, например {{$11.id}}.
  • Проверьте вывод предыдущего узла в истории выполнения.
  • Добавьте проверку (условие), что значение есть, перед передачей в узел.

Undefined / null (обращение к несуществующему полю)

Узел обращается к полю значения, которое не существует (undefined/null).

Сообщения: Cannot read properties of undefined (reading "0"), Cannot read properties of null (reading 'access_token'), undefined is not an array or an array-like object

Причина: предыдущий узел вернул пустую или другую структуру данных; путь к полю указывает на несуществующее поле; токен авторизации отсутствует или истёк.

Что делать

  • Проверьте вывод предыдущего узла и реальную структуру данных.
  • В узле JavaScript используйте опциональную цепочку: data?.field ?? ''.
  • Добавьте условие: выполнять следующий узел только если значение есть.

Ошибки разбора JSON

Узел JSON Parse получил на вход не валидный JSON (текст, HTML, разметка).

Сообщения: SyntaxError: invalid or unexpected token, Unexpected token 'R' — input is plain text, Bad control character in string literal, Parameter "..." is invalid JSON

Причина: предыдущий узел вернул обычный текст, HTML или сообщение об ошибке; вывод AI-узла обёрнут в markdown-блоки ```json; в JSON есть неэкранированные переносы строк; на вход подан CSV, XML и т.п.

Что делать

  • Посмотрите сырой вывод перед узлом JSON Parse (логи выполнения).
  • При необходимости уберите обёртку markdown в узле JavaScript.
  • В промпте AI-узла укажите: «отвечай только валидным JSON, без markdown».

Не итерируемые данные / пустой вывод

Узел ожидает массив, а получает один объект, null или пустоту.

Сообщения: rows_input is not iterable, undefined is not an array or an array-like object, get last records empty list

Причина: в узел, ожидающий массив, передаётся один объект; предыдущий узел вернул пустой результат; неверная структура данных от вышестоящего узла.

Что делать

  • Оберните один объект в массив в узле JavaScript: [data].
  • Добавьте условие: при пустом массиве не выполнять итерацию.
  • Убедитесь, что источник данных возвращает массив перед узлом.

Превышение времени выполнения

Сценарий или узел превысил допустимое время выполнения (таймаут).

Сообщения: Scenario execution time exceeded, TimeoutError: Waiting for selector failed: 60000ms exceeded, 524 timeout — webhook scenario marked Canceled

Причина: обработка слишком большого объёма записей за один запуск; неэффективный цикл или отсутствие фильтров; Headless Browser ждёт селектор, который не появляется; вебхук требует ответ за <3 с, а сценарий выполняется дольше.

Что делать

  • Разбейте большие пачки на части с помощью Iterator.
  • Добавьте фильтры, чтобы уменьшить объём данных до тяжёлых операций.
  • Для вебхуков с быстрым ответом: сразу верните 200, обработку выполните асинхронно.
  • Для тяжёлых сценариев используйте расширенные ресурсы (Engine Tier 1).

Ошибки в узле HTTP Request

Ошибка в настройках или в значении URL узла HTTP Request: неверный или пустой URL, неподдерживаемая схема, управляющие символы в поле.

Сообщения: unsupported protocol scheme "", URL missing http:// or https://, invalid control character in URL, Invalid URL — empty or malformed URL

Причина: переменная с URL подставилась как null (получается https://null); в поле URL попали символы перевода строки или возврата каретки; URL собран из частей, базовая часть пустая.

Что делать

  • Проверьте значение переменной URL перед узлом HTTP Request (логи).
  • Добавьте условие: выполнять запрос только если URL не пустой и не null.
  • При необходимости очистите URL в узле JavaScript: url.trim() и проверка на пустоту.