Ссылка на оплату товара со скидкой за баллы
Допустим, у вас есть курс, где ученики зарабатывают баллы за активность. Нужно обналичить эти баллы и выставить счет на оплату со скидкой.
Пример: вы ведете тренинг и за сдачу домашних работ начисляете баллы.
- Курс обмена, например: 1 балл = 100 рублей.
- Ваш видеокурс стоит 5000 рублей.
- 5 заданий = 5 баллов. Максимальная скидка будет 500 рублей.
Для начала будет показана геймификация с написанием комментария и получением балла за это. Для упрощения сделаем отдельную команду на каждый пост.
Команда: «Список с баллами»
В отдельной команде создаем список с баллами. Команду можно выключить. Если у вас есть такой список тогда команда не нужна.
Событие:
1) Событие: «Добавлен в список игроков». Не забудьте записать номер события. Пример: 885833
. Для более комфортной проверки списка, вы можете переключить список в публичный рейтинг
.
Для эффектной настройки рейтинга рекомендуется воспользоваться разделом: «Страницы приложения»

Команда: «Марафон — пост 1»
Пример команды которая засчитывает комментарий со фразой содержащей слово: готово и вложением — картинкой.
Событие:
1) Событие: «Написал комментарий» под постом (вставляем ID поста) и текстом содержащим: готово

2) Опционально. Добавляем условие: переменная %attach_type%
содержит photo
Как прописать другие типы вложений — посмотрите здесь
Реакция на невыполнение — Написать комментарий с текстом:
@id%vk_id% (%first_name%), прочтите задание внимательно. Вы ошиблись со вложением

3) Для того, чтобы баллы начислялись один раз, добавляем условие: «Выполнена команда» 0
ровно 0
раз.
Реакция на невыполнение — Написать комментарий с текстом:
@id%vk_id% (%first_name%), Вы уже выполнили это задание. Переходите к следующему.

4) Опционально для того, чтобы команда не выполнялась для админов, добавляем условие: «сотрудник аккаунта» и нажимаем кнопку «Если не»

Действия:
1) Для начисления баллов добавим действие: «Добавлен в список» 885833
и уровень увеличен на 1

2) Для ответного комментария добавим действие: «Написать комментарий»
с текстом:
@id%vk_id% (%first_name%), задание принято. Вам добавлен 1 балл.
Нажимаем «Еще»
→ «Больше опций»
→ «Ответить» на комментарий
с ID: %object_id%

Аналогично, можно скопировать эту команду и обязательно заменить событие копиями (нажав на пункт «Замена копией»
), и вставив ссылку на новый пост. Аналогично можете заменить условия копиями, там где вам нужно. Условия могут быть любые нужные вам. Список условий можно увидеть здесь.
Команда: «Заказ товара со скидкой»
Пример команды которая высчитывает скидку в зависимости от количества набранных баллов.
Важно! Если какой-то блок у Вас уже есть,то просто находим нужный блок, нажав на кнопку «Найти в каталоге», либо копируем номер из нужной команды и вставляем в поле ввода.
Событие:
1) Событие: «Написал сообщение» с товаром:

2) Добавляем условие: «Есть Email» и в реакции на невыполнение пишем текст с просьбой его ввести:
%first_name%, для завершения заказа введите пожалуйста свой email в ответном сообщении.

Действия:
Для формирования заказа нам понадобится временная переменная цена товара: %vk_product_price%
с помощью функции {math} (про нее можно прочитать тут) мы отнимем цену по формуле:
Цена товара - (количество баллов *100) // Например, товар стоит 4000, накоплено 5 баллов (1 балл = 100 рублей)= 4000 - 500 = 3500 цена товара со скидкой. В примере список 885833
, но у Вас будет другой номер. Подробнее о переменных можно узнать отсюда:
1) Опционально: если мы хотим выставлять товар после истечения времени по полной цене, то создаем временную переменную %old_vk_product_price%
= %vk_product_price%

2) Временная переменная %vk_product_price%
= {math}%vk_product_price%-({level}885833{/level}*100){/math}

3) Для выставления счета добавляем действие: «Создать счет в Автопилоте»
с параметрами по умолчанию. Если Вы планируете после истечения срока жизни ссылки выставлять полную стоимость, то в поле Цена после завершения скидки
вставьте переменную %old_vk_product_price%
(в примере этого нет)
Важно! Если в действии стоит переключатель :«Найден или создан»
, то Автопилот будет сначала искать старые заказы с аналогичным названием или номером счета. Будьте внимательны. Если нужно обновлять информацию о счёте, то ставьте переключатель :«Обновлен или создан»

Важно! В данном примере баллы списываются в момент заказа товара, чтобы нечестный игрок не смог сделать кучу заказов со скидками
4) Для сохранения количества баллов запишем их во временную переменную %ball%
= {level}885833{/level}

5) Для удаления заработанных баллов добавим действие: «Добавлен в список» 885833
и уровень уменьшен на %ball%

6) Для сохранения «нового» количества баллов запишем их во временную переменную %balance%
= {level}885833{/level}

7) Действие: «Отправить сообщение» клиенту с текстом и переменной ссылка на оплату %payment_link%
:
%first_name%, отличное решение! Создал Вам заказ товара «%vk_product_title%»
Скидка применена.Ваши %ball% {case} %ball%|балл|балла|баллов{/case} ушли на заказ товара.
Сейчас у вас баллов: %balance% {case} %balance%|балл|балла|баллов{/case}
Цена с учетом заработанных баллов: %vk_product_price%
Для завершения покупки переходите сюда:
%payment_link%

Вот и все. Тестируем.


Как видно, у меня 3 балла = 300 рублей скидки. Заказываем товар за 4000


Пробуем схитрить и заказать товар за 7000.

Как видно выше ничего сложного. Дополнительные навороты, например, возможность оплатить баллами только часть товара, или товар только определенной ценовой категории вы можете реализовать самостоятельно, например с помощью условных переменных. Дерзайте.
Творческих взлётов и успешного внедрения.