Работа с промокодами

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

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

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

Подробнее обо всех способах расскажем ниже.

Как проверить промокод из Google Таблицы

Если необходимо ограничить доступ к боту или специальным предложениям, можно настроить проверку промокодов.

Подготовьте Google Таблицу, в одном из столбцов которой будет находиться список промокодов.

В настройках доступа укажите:

Редактировать могут все, у кого есть ссылка

Подробнее о работе с Google Таблицами в Salebot читайте в разделе Google и в статье «Google Таблицы».

Функция работает следующим образом:

  1. Клиент вводит промокод в чат-боте.

  2. Функция проверяет, есть ли этот промокод в указанном столбце таблицы.

  3. Если промокод найден, в соседнюю ячейку записывается значение:

    Промокод использован
    
  4. Функция возвращает ответ:

    {
      "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.