Вы можете предоставить клиенту промокод одним из двух способов:
- Подготовить список промокодов в Google Таблице, обучить Mavibot находить доступный код, передать его клиенту, а затем пометить его как выданный в таблице.
- Обучить Mavibot генерировать промокоды на основе определенных правил, предоставить код клиенту, а затем записать его в таблицу.
Вы можете проверять действительность кодов с помощью Google Таблиц и их API-запросов.
Узнайте больше об этих процессах ниже:
- Как проверить промокод из Google Таблицы
- Как выдать промокод из Google Таблицы
- Как сгенерировать промокод с помощью Mavibot
Как проверить промокод из Google Таблицы
Если ваша цель — ограничить доступ к боту или специальным предложениям, вы можете использовать функцию проверки промокодов.
Подготовьте Google Таблицу, в которой один столбец будет содержать список ваших промокодов. Установите настройку доступа «Все, у кого есть ссылка, могут редактировать». Как это сделать, читайте в этой статье
Вот как работает функция: клиент вводит свой промокод в бота. Затем функция проверяет, существует ли код в указанном вами столбце. Если код найден, в соседнюю ячейку добавляется фраза «Промокод был использован», и функция возвращает этот ответ:
{“status”: ‘’0’’}
Адрес функции: https://store.mavibot.ai/function/check-promocode
Для проверки кода вам нужно отправить эти параметры из блока:
{"id":"1HfnHDbJYTGz68-3KWIcRISncTmdEn8v7Vf_OKvDMrOI", "promocode": "#{question}", "col_number": "1"}
id — это идентификатор вашей Google Таблицы, содержащей промокоды. Вы можете найти его в URL вашего документа. Убедитесь, что настройки общего доступа к документу позволяют редактировать его всем, у кого есть ссылка.

Если промокоды находятся на отдельном листе, то вам нужно использовать параметр list_name, в котором необходимо указать его название, например:
{"id":"1HfnHDbJYTGz68-3KWIcRISncTmdEn8v7Vf_OKvDMrOI", "promocode": "#{question}", "col_number": "1", "list_name": "Название листа"}
Следующий параметр — это промокод, который применяет клиент.
col_number — номер столбца, содержащего коды
{“status”: ‘’1’’}, после этого вы не сможете применить код второй раз
Если функция не находит промокод в таблице или он уже был использован, то она отвечает:
{“status”: ‘’0’’}
Если вам интересно, как это использовать и где разместить, посмотрите на скриншот ниже.

#{custom_answer} — ответ от сервера, который упоминается на вкладке «URL-запрос».
Используйте эту переменную на вкладке ответа, чтобы увидеть ее содержимое. Если все настроено правильно, сохраните status->status, затем в стрелках под вкладкой «Переменная для сравнения» установите условия "status == 0" (ответ пользователю, что код уже использован) или "status == 1" (разрешение пользователю продолжить).
Пример показан ниже.

Как выдать промокод из Google Таблицы
Подготовьте свою таблицу, как показано на изображении ниже, с промокодами в первом столбце и словом «Доступен» во втором столбце. Настройте параметры доступа на «Все в интернете, у кого есть ссылка, могут редактировать». Как это сделать, читайте в этой статье

Вы получите ссылку, подобную этой: https://docs.google.com/spreadsheets/d/**1HfnHDbJYTGz68-3KWIcRISncTmdEn8v7Vf\\_OKvDMrOI**/edit?usp=sharing
Выделенный жирным текст здесь — это идентификатор вашей страницы. Он понадобится вам позже.
Создайте блок в Mavibot и вставьте эти параметры в его настройки:
Тип запроса: POST-json
URL-запрос: https://store.salebot.ai/function/findcell
Сохраненные значения:
data->Промокод;
cell_number|row ->line;
Параметры JSON:
{"id": "1HfnHDbJYTGz68-3KWIcRISncTmdEn8v7Vf_OKvDMrOI", "find": "Доступен", "col": 2, "return": 1}
где вам нужно указать свой собственный идентификатор страницы вместо 1HfnHDbJYTGz68-3KWIcRISncTmdEn8v7Vf_OKvDMrOI

Создайте блок ниже и нажмите «Настройки времени» в настройках соединения. В открывшемся разделе на вкладке «Задержка перед ответом» введите -1, чтобы переход произошел как можно быстрее.
В новом блоке установите параметры, указанные ниже.
Чтобы показать клиенту его код, введите #{Promo_code}
Тип запроса: POST-json
URL-запрос: https://store.mavibot.ai/function/gsheets
Параметры JSON:
{"id": "1HfnHDbJYTGz68-3KWIcRISncTmdEn8v7Vf_OKvDMrOI", "write":{"b#{line}":"Использован"}}
где вам нужно указать свой собственный идентификатор страницы вместо 1HfnHDbJYTGz68-3KWIcRISncTmdEn8v7Vf_OKvDMrOI

Как сгенерировать промокод с помощью Mavibot
Если промокод может быть создан по определенным правилам, вы можете сгенерировать его прямо в Mavibot и записать в Google Таблицу для последующей проверки.
Для этого вам понадобятся переменные. Например, для генерации уникального промокода вы можете использовать переменную #{client_id}. Это переменная в Mavibot, которая указывает номер вашего клиента в системе.
В настройках блока «Дополнительно» -> «Калькулятор» запишите:
Promocode = promo#{client_id}
Вставьте #{Promo_code} в поле «Ответ»
Вы получите промокод promo1330882.
Если вы хотите добавить больше случайности в ваш код, добавьте вызов функции random()
Promocode = 'promo' + '#{client_id}' + random(0,10)
В этом случае в конце добавляется 1 случайное число
Теперь давайте вставим его в нашу таблицу кодов.
Сначала создайте новую пустую Google Таблицу. Установите права доступа «Все, у кого есть ссылка, могут редактировать».
Затем введите «Промокоды» в ячейку A1.
Если первая ячейка пуста, функция не сработает. Обязательно заполните ее!
Вы получите ссылку, подобную этой:
Выделенный жирным текст здесь — это идентификатор вашей страницы. Он понадобится вам позже.
Теперь вернемся к Mavibot и продолжим работу над вашим блоком с промокодом
Тип запроса: POST-json
URL-запрос: https://store.mavibot.ai/function/gsheets
Параметры JSON:
{"id": "1sl15vKFjo5TFD98GnVjF3AlLtdhr85-AkEjoeJkgDxE", "mapping":{"a":"#{Promo_code}"}}
Где вам нужно указать свой собственный идентификатор страницы вместо 1HfnHDbJYTGz68-3KWIcRISncTmdEn8v7Vf_OKvDMrOI
У вас должно получиться что-то вроде этого:



