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

  1. Подготовить список промокодов в Google Таблице, обучить Mavibot находить доступный код, передать его клиенту, а затем пометить его как выданный в таблице.
  2. Обучить Mavibot генерировать промокоды на основе определенных правил, предоставить код клиенту, а затем записать его в таблицу.

Вы можете проверять действительность кодов с помощью Google Таблиц и их API-запросов.

Узнайте больше об этих процессах ниже:

Как проверить промокод из 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.

Если первая ячейка пуста, функция не сработает. Обязательно заполните ее!

Вы получите ссылку, подобную этой:

https://docs.google.com/spreadsheets/d/**1HfnHDbJYTGz68-3KWIcRISncTmdEn8v7Vf\\_OKvDMrOI**/edit?usp=sharing

Выделенный жирным текст здесь — это идентификатор вашей страницы. Он понадобится вам позже.

Теперь вернемся к Mavibot и продолжим работу над вашим блоком с промокодом

Тип запроса: POST-json

URL-запрос: https://store.mavibot.ai/function/gsheets

Параметры JSON:

{"id": "1sl15vKFjo5TFD98GnVjF3AlLtdhr85-AkEjoeJkgDxE", "mapping":{"a":"#{Promo_code}"}}
Где вам нужно указать свой собственный идентификатор страницы вместо 1HfnHDbJYTGz68-3KWIcRISncTmdEn8v7Vf_OKvDMrOI

У вас должно получиться что-то вроде этого: