Execute JS

Подскажите, не совсем понятно как работает блок Execute JS.
Как именно он должен возвращать полученные данные? Не совсем понятно как работает сервисная функция _return в блоке execute js в описании.

У меня есть код js, он рабочий

// Получаем данные из Telegram WebApp
const getTelegramData = () => {
Telegram.WebApp.ready();

// Получаем данные
const initData = Telegram.WebApp.initData;
const initDataUnsafe = Telegram.WebApp.initDataUnsafe;

// Выводим в консоль
console.log(‘Telegram InitData:’, initData);
console.log(‘Parsed InitData:’, initDataUnsafe);

// Возвращаем данные
return {
raw: initData, // Сырые данные в формате строки
parsed: initDataUnsafe // Разобранный объект
};
};

// Использование
const telegramData = getTelegramData();

В консоли браузера я вижу, что нужные данные мне пришли

Далее не могу передать их в бэк. При записи в логи видно, из execute js от return возвращается null, т.е. код не может передать данные из этого блока

Как получать данные из блока и передавать их правильно ? Спасибо

И второй вопрос, новый блок, который добавили недавно, авторизация через телеграм. На входе он принимает параметры в виде строки и это нельзя изменить на массив или json, а на выходе выдает разные значения.

Я установил виджет авторизации через телеграм и он возвращает массив данных, которые нельзя передать в этот блок в виде строки. Или я что то упускаю

Здравствуйте!

  1. Блок Execute JS использует специальную функцию _return(result, success, errorMessage) для передачи данных из JS-кода в бизнес-процесс.
    Каждый аргумент этой функции важен:
    result — это возвращаемое значение (строка), которое передаётся дальше по логике;
    success — bool флаг (true или false), определяет, была ли операция успешной.
    errorMessage — строка с текстом ошибки, используется только если success = false. Она помогает понять причину ошибки.

  2. Блок Sign-In with Telegram: Validate data ожидает строку в формате base64, содержащую JSON-объект с данными от Telegram. Это необходимо для корректной работы валидации и проверки подписи (hash).

Пример ExecuteJS:

const a = 5;
const b = 3;
const sum = a + b;
_return(sum, true, null);
1 Like