June 27, 2024

Как с помощью бесплатного сервера научить геткурс делить числа

Поднять сервер -> Использовать код

Если вам нужно разбить полную сумму курса на n частей с округлением, чтобы потом присылать в рассылках ссылку на оплату такой части, вы можете использовать бесплатный сервер по этой инструкции

1. Создайте таблицу и сервер в App Script по инструкции по поднятию сервера. Остановитесь на пункте 3, где мы могли вставить код:

2. Вставьте код

function doGet(e) {
  // Проверка наличия параметров 'splitValue' и 'splitParts' в запросе
  if (e.parameter.splitValue && e.parameter.splitParts) {
    var splitValue = parseInt(e.parameter.splitValue, 10);
    var splitParts = parseInt(e.parameter.splitParts, 10);

    // Разделение значения splitValue на splitParts
    var result = splitValue / splitParts;

    // Округление вверх до ближайшего числа, кратного 50
    result = Math.ceil(result / 50) * 50;

    // Возврат результата как строки
    return ContentService.createTextOutput(result.toString());
  } else {
    // Если параметры не предоставлены, вернуть сообщение об ошибке
    return ContentService.createTextOutput("Parameters 'splitValue' and 'splitParts' are required.");
  }
}

Как этот код промптился:

напиши функцию doget для AppScript, которая проверит, есть ли в гет-запросе гет-параметр "splitValue" и гет-параметр splitParts. Если они есть, нужно разделить splitValue на splitParts и полученное число округлить в большую сторону, чтобы оно было кратно 50. То есть, если 4000\3, то должно получиться 1350. Полученный результат функция должна вернуть в виде строки

3. Разверните проект по инструкции с этим кодом. Если у вас уже был развернут проект по инструкции, вы можете переразвернуть его с имеющимся кодом. Для этого нажмите "управление развертываниями"

... затем "редактировать"

и "новая версия". Когда выберите новую

4. Копируйте ссылку под надписью "Веб-приложение"

Теперь, если вы допишете к ссылке случайную сумму и случайное число частей, чтобы получилось что-то типа https://script.google.com/macros/s/AKfycbzieV0UOCBh_bGCfGwMGI--zLWAgGWoFs3AodxPTFR9CbYwyts9oVGgC231XqXHSITj/exec?splitValue=4000&splitParts=3

и перейдёте по ней, вы увидите ответ сервера. Если у вас происходит все также — вы всё сделали верно до этого пункта.

5. Создайте на геткурсе дополнительное поле заказа с именем partialValue с типом "строка" или "число"

6. Создайте процесс по заказу с вызовом URL и такими настройками:

Метод — Get
Url — наш урл, в котором в splitValue вместо тестовой суммы переменная геткурса {object.cost_money_value}. Таким образом, скрипт будет записывать индивидуальную сумму каждому ученику. Если кто-то купил по более дорогому тарифу, а кто-то купил с промокодом дешевле — у каждого будет своя часть, посчитанная автоматически

SSL верификация — Да

Записать результат в доп. поле — выбираем свою переменную

Теперь в рассылках по заказам вы можете использовать переменную {payment_link}? paymentValue={paymentValue} и там будет формироваться автоматическая ссылка на нужную сумму. В последнем письме по такой "рассрочке" можете просто высылать ссылку на остаток