Работа с промокодами
Выдать клиенту промокод на покупку можно двумя способами:
- Подготовить список промокодов в Google Таблице, настроить поиск свободного промокода, выдать его клиенту и отметить в таблице как использованный.
- Настроить генерацию промокода по заданному правилу, выдать его клиенту и записать в Google Таблицу.
Проверять действительность промокодов можно с помощью Google Таблиц и API-запросов.
Подробнее обо всех способах расскажем ниже.
Как проверить промокод из Google Таблицы
Если необходимо ограничить доступ к боту или специальным предложениям, можно настроить проверку промокодов.
Подготовьте Google Таблицу, в одном из столбцов которой будет находиться список промокодов.
В настройках доступа укажите:
Редактировать могут все, у кого есть ссылка



Подробнее о работе с Google Таблицами в Salebot читайте в разделе Google и в статье «Google Таблицы».
Функция работает следующим образом:
-
Клиент вводит промокод в чат-боте.
-
Функция проверяет, есть ли этот промокод в указанном столбце таблицы.
-
Если промокод найден, в соседнюю ячейку записывается значение:
Промокод использован -
Функция возвращает ответ:
{ "status": "1" }
После этого повторно использовать промокод нельзя.
Если промокод не найден или уже был использован, функция возвращает:
{
"status": "0"
}
Адрес функции:
https://store.salebot.pro/function/check-promocode
Для проверки промокода отправьте из блока следующие параметры:
{
"id": "1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4",
"promocode": "#{question}",
"col_number": "1"
}
Параметры:
| Параметр | Описание |
|---|---|
id |
ID Google Таблицы, в которой находятся промокоды |
promocode |
Промокод, введенный пользователем |
col_number |
Номер столбца, в котором находятся промокоды |
ID таблицы можно получить из ее ссылки.
Например:
https://docs.google.com/spreadsheets/d/1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4/edit#gid=0
ID таблицы:
1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4
Таблица должна быть доступна для редактирования всем, у кого есть ссылка.
Если промокоды находятся на отдельном листе, добавьте параметр list_name:
{
"id": "1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4",
"promocode": "#{question}",
"col_number": "1",
"list_name": "Название листа"
}
Пример настройки блока:

Переменная:
#{custom_answer}
содержит ответ сервера, указанного в поле URL запроса.
Добавьте эту переменную в поле ответа, чтобы проверить содержимое ответа.
Если запрос настроен правильно, сохраните значение:
status->status
После этого настройте переходы в поле Переменная для сравнения.
Если промокод недействителен или уже использован:
status == 0
Если промокод действителен:
status == 1

Как выдать промокод из Google Таблицы
Подготовьте таблицу:
- в первом столбце разместите промокоды;
- во втором столбце укажите статус
Свободен.
В настройках доступа укажите:
Редактировать могут все, у кого есть ссылка

Ссылка на таблицу будет иметь примерно такой вид:
https://docs.google.com/spreadsheets/d/1-dAJz4m0qHqJ29-Qb6DCLmvOdtAOJ5m7-5pcbjGHeYg/edit?usp=sharing
ID таблицы:
1-dAJz4m0qHqJ29-Qb6DCLmvOdtAOJ5m7-5pcbjGHeYg
Он понадобится для настройки запроса.
Настройка первого блока
Создайте в Salebot блок со следующими параметрами.
Тип запроса:
POST-json
URL запроса:
https://store.salebot.pro/function/findcell
Сохраняемые данные из JSON-ответа:
data->Промокод
cell_number|row->Строка
JSON POST-параметров:
{
"id": "1-dAJz4m0qHqJ29-Qb6DCLmvOdtAOJ5m7-5pcbjGHeYg",
"find": "Свободен",
"col": 2,
"return": 1
}
Вместо указанного значения id вставьте ID своей таблицы.

Создайте переход из этого блока в следующий.
В настройках соединения укажите в поле Задержка перед ответом:
-1
Это позволит выполнить переход максимально быстро.
Настройка второго блока
Чтобы показать пользователю промокод, вставьте в поле ответа:
#{Промокод}
Настройте запрос.
Тип запроса:
POST-json
URL запроса:
https://store.salebot.pro/function/gsheets
JSON POST-параметров:
{
"id": "1-dAJz4m0qHqJ29-Qb6DCLmvOdtAOJ5m7-5pcbjGHeYg",
"write": {
"b#{Строка}": "Использован"
}
}
Вместо указанного значения id вставьте ID своей таблицы.
После выполнения запроса во втором столбце строки с выданным промокодом появится значение:
Использован

Как сгенерировать промокод средствами Salebot
Если промокод создается по определенному правилу, его можно генерировать прямо в Salebot, а затем записывать в Google Таблицу.
Для этого понадобятся переменные.
Например, можно использовать встроенную переменную:
#{client_id}
client_id — уникальный идентификатор клиента в Salebot.
В поле Расширенные настройки → Калькулятор при переходе укажите:
Промокод = 'промо' + '#{client_id}'
В поле Ответ укажите:
#{Промокод}
В результате пользователь получит промокод примерно такого вида:
промо1330882
Добавление случайного числа
Чтобы сделать промокод менее предсказуемым, используйте функцию random():
Промокод = 'promo' + '#{client_id}' + random(0, 10)
В этом примере в конец промокода добавляется случайное число.
Как записать сгенерированный промокод в Google Таблицу
Создайте пустую Google Таблицу.
В настройках доступа укажите:
Редактировать могут все, у кого есть ссылка
В ячейке A1 укажите заголовок:
Промокод
Первая ячейка не должна быть пустой, иначе функция не сработает.
Ссылка на таблицу будет иметь примерно такой вид:
https://docs.google.com/spreadsheets/d/1sl15vKFjo5TFD98GnVjF3AlLtdhr85-AkEjoeJkgDxE/edit?usp=sharing
ID таблицы:
1sl15vKFjo5TFD98GnVjF3AlLtdhr85-AkEjoeJkgDxE
Вернитесь в Salebot и продолжите настройку блока с промокодом.
Тип запроса:
POST-json
URL запроса:
https://store.salebot.pro/function/gsheets
JSON POST-параметров:
{
"id": "1sl15vKFjo5TFD98GnVjF3AlLtdhr85-AkEjoeJkgDxE",
"mapping": {
"a": "#{Промокод}"
}
}
Вместо указанного значения id вставьте ID своей таблицы.
После выполнения запроса сгенерированный промокод будет добавлен в столбец A.
