Ошибки при сборке сценария
Ниже — частые ошибки, которые возникают при настройке узлов, подстановке переменных и выполнении сценария. Формат подстановок описан в Шаблонах переменных.
Ошибки синтаксиса переменных
Корректный формат переменных и подстановок описан на странице Передача данных. Платформа использует свой формат подстановок. Простое имя вроде {{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()и проверка на пустоту.