Salebot.pro
Search
K

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

Бот позволяет не только раздавать промокоды пользователям, но и проверять их валидность, контролировать, чтобы их не использовали по нескольку раз.
Выдать клиенту промокод на покупку можно двумя способами:
  1. 1.
    Подготовить список промокодов в Гугл таблице, научить Salebot находить свободный промокод, выдавать его клиенту и отмечать его как выданный в гугл таблице;
  2. 2.
    Научить Salebot генерировать его по некоему правилу, выдавать клиенту и вносить в Гугл таблицу.
Проверить валидность промокодов можно, используя Гугл таблицу и API запросы к ней.
Обо всем этом читайте ниже.

Как проверить промокод из гугл-таблицы

Если у вас стоит задача ограничить доступ к боту или специальным предложениям, вы можете воспользоваться функцией проверки промокодов.
Подготовьте Гугл таблицу, в которой в одном столбце будет список ваших промокодов. Настройки доступа в этой таблице выставьте «Редактировать могут все, у кого есть ссылка». Как это сделать читайте в статье Работа с Google таблицами
Функция работает следующим образом. Клиент вводит в бота свой промокод, функция проверяет есть ли этот промокод в таблице в колонке, которую вы указали. Если промокод найден то в соседнюю ячейку добавляется надпись "Промокод использован" при этом функция возвращает следующий ответ:
{“status”: ‘’0’’}
Для проверки промокода вам необходимо отправить из блока следующие параметры
{"id":"1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4", "promocode": "#{question}", "col_number": "1"}
Где id это id вашей гугл таблицы где хранятся промокоды. Вы можете получить его из ссылки на вашу гугл таблицу. Сама таблица должна быть доступна на редактирование для всех у кого есть ссылка.
Если промокоды находятся на отдельном листе, то вы можете использовать параметр list_name, в который необходимо передать название листа, например: {"id":"1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4", "promocode": "#{question}", "col_number": "1", "list_name": "Название листа"}
Следующий параметр это промокод который вводит посетитель.
col_number это номер колонки в таблице в которой хранятся промокоды.
{“status”: ‘’1’’}, после этого повторно ввести промокод нельзя.
Если функция не находит промокод в таблице или он уже использован то она возвращает ответ
{“status”: ‘’0’’}
Как это использовать и куда вводить, показано на рисунке ниже
#{custom_answer} - ответ с сервера, указанного в поле 'URL запроса"
Используйте эту переменную в поле ответ, чтобы посмотреть, что в нем содержится. Если вы все сделали правильно, то можете сохранить status->status, и в стрелках, в поле "Переменная для сравнения" выставить значения "status == 0" (и дать ответ пользователю, что код уже использован) или "status" == 1 (пользователь проходит дальше). Пример показан на рисунке ниже:

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

Подготовьте таблицу как на рисунке ниже. В первом столбце промокоды, а во втором пометка «Свободен». Настройки доступа в этой таблице выставьте «Редактировать могут все, у кого есть ссылка». Как это сделать читайте в статье Работа с Google таблицами
Вы получите ссылку вида: https://docs.google.com/spreadsheets/d/1-dAJz4m0qHqJ29-Qb6DCLmvOdtAOJ5m7-5pcbjGHeYg/edit?usp=sharing
Выделенный жирным фрагмент – это id вашей таблицы. Он нам понадобиться дальше.
В 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}
Где вместо 1-dAJz4m0qHqJ29-Qb6DCLmvOdtAOJ5m7-5pcbjGHeYg вставите id, полученный выше из адреса вашей таблицы.
Из этого блока создайте переход в следующий блок. В настройках Соединения кликните по фразе Настройки времени. В развернувшемся разделе в поле Задержка перед ответом выставьте -1, чтобы переход осуществлялся как можно быстрее.
В новом блоке выставьте настройки, описанные ниже.
Чтобы показать пользователю его промокод вставьте #{Промокод}. Тип запроса. POST-json URL запроса. https://store.salebot.pro/function/gsheets JSON POST-параметров. {"id": "1-dAJz4m0qHqJ29-Qb6DCLmvOdtAOJ5m7-5pcbjGHeYg", "write":{"b#{Строка}":"Использован"}}
Где вместо 1-dAJz4m0qHqJ29-Qb6DCLmvOdtAOJ5m7-5pcbjGHeYg вставите id, полученный выше из адреса вашей таблицы.

Как сгенерировать промокод средствами Salebot

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