Как обратиться к переменным jobParams переданным в скрипт через runScriptForPerson

Подскажите, как обратиться к данным переданным в скрипт из кода через bot.runScriptForPerson? Вроде в request должны быть, но там пусто. Всю документацию перерыл, не нашел ничего :tired_face:

/**
 * Отправка уведомлений персонам по их ID.
 * @param {Array} person_ids - Массив ID персон.
 * @param {string} survey_title - Название опроса.
 * @param {string} survey_description - Описание опроса.
 */
function sendNotificationToPersons(person_ids, survey_title, survey_description) {
    person_ids.forEach(person_id => {
      // Запуск скрипта для каждого пользователя
      bot.runScriptForPerson(bot.getScriptIdByCode('survey_notification_script'), 
                             person_id, null, true, {
                                "survey_title": survey_title,
                                "survey_description": survey_description
                            });
    });
}
1 лайк

У вас ошибка в коде. jobParams надо обернуть в script_request_params.

/**
 * Отправка уведомлений персонам по их ID.
 * @param {Array} person_ids - Массив ID персон.
 * @param {string} survey_title - Название опроса.
 * @param {string} survey_description - Описание опроса.
 */
function sendNotificationToPersons(person_ids, survey_title, survey_description) {
    person_ids.forEach(person_id => {
      // Запуск скрипта для каждого пользователя
      bot.runScriptForPerson(bot.getScriptIdByCode('survey_notification_script'), 
                             person_id, null, true, 
                             {"script_request_params": {
                                "survey_title": survey_title,
                                "survey_description": survey_description
                            }});
    });
}

В скрипте данные будут доступны в request, например, можно посмотреть:

debug(request.json)

Примеры в документацию добавим. Спасибо за замечание!

1 лайк