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

Бот позволяет не только раздавать промокоды пользователям, но и проверять их валидность, контролировать, чтобы их не использовали по нескольку раз.

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

  1. Подготовить список промокодов в Google-таблице, научить Salebot находить свободный промокод, выдавать его клиенту и отмечать его как выданный в гугл-таблице;

  2. Научить Salebot генерировать его по некоему правилу с выдачей клиенту и внесением в Google-таблицу.

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

Обо всем этом читайте ниже.

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

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

Подготовьте Google-таблицу, где в одном столбце будет список ваших промокодов. Настройки доступа в этой таблице выставьте «Редактировать могут все, у кого есть ссылка».

Как работать с Google-таблицами в платформе Salebot читайте в разделе Google в статье Google-таблицы.

Функция работает следующим образом. Клиент вводит в бота свой промокод, функция проверяет есть ли этот промокод в таблице в колонке, которую вы указали. Если промокод найден, то в соседнюю ячейку добавляется надпись "Промокод использован" при этом функция возвращает следующий ответ:

{“status”: ‘’0’’}

Адрес функции: https://store.salebot.pro/function/check-promocode

Для проверки промокода вам необходимо отправить из блока следующие параметры

{"id":"1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4", "promocode": "#{question}", "col_number": "1"}

Где id - это id вашей Google-таблицы, где хранятся промокоды. Вы можете получить его из ссылки на вашу Google-таблицу.

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

Если промокоды находятся на отдельном листе, то вы можете использовать параметр list_name, в который необходимо передать название листа, например: {"id":"1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4", "promocode": "#{question}", "col_number": "1", "list_name": "Название листа"}

https://docs.google.com/spreadsheets/d/1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4/edit#gid=0

Следующий параметр - это промокод, который вводит посетитель.

col_number - это номер колонки в таблице в которой хранятся промокоды.

{“status”: ‘’1’’}, после этого повторно ввести промокод нельзя.

Если функция не находит промокод в таблице или он уже использован, то она возвращает ответ

{“status”: ‘’0’’}

Как это использовать и куда вводить, показано на рисунке ниже:

#{custom_answer} - ответ с сервера, указанного в поле 'URL запроса"

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

Как выдать промокод из 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 и записывать в Google-таблицу для дальнейшей проверки использования.

Для этого нам понадобятся переменные. Например, чтобы сгенерировать уникальный промокод, мы можем использовать переменную #{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, полученный выше из адреса вашей таблицы.

У вас должно получиться так же, как на рисунке ниже:

Last updated