This is the multi-page printable view of this section. Click here to print.
Партнерские программы
- 1: Реферальная система
- 2: Промокоды
1 - Реферальная система
Получение бонусов за приведенных клиентов по ссылке.
В SHM реализована двух-степенчатая реферальная программа.
В конфигурации биллинга в секции billing->partner->income_percent
можно указать значение партнерского начисления в процентах.
Клиенты могут получать пожизненные бонусы за приведенных клиентов (рефералов) по следующей схеме:
- Для Web, клиент распространяет ссылку вида:
https://bill.DOMAIN/#!/?partner_id=USER_ID
где USER_ID это идентификатор клиента
партнерскую ссылку клиент может получить в своём личном кабинете в профиле
- Для Telegram, клиент распространяет ссылку вида:
https://t.me/Name_bot?start=USER_ID
где USER_ID это идентификатор клиента
- Со всех платежей рефералов, которые зарегистрировались в SHM по партнерской ссылке, клиенту будут начилсяться бонусы в размере установленного процента
income_percent
.
2 - Промокоды
Промокоды генерируются и раздаются клиентам. Промокоды в SHM привязываются к произвольным Шаблонам. Каждый раз, когда клиент использует промокод, вызывыается привязанный Шаблон, который выполняет какие-то действия в системе SHM.
Таким образом, Промокод может выполнять практически любые задачи:
- Зачислять бонусы
- Регистрировать тарифы
- Выполнять какие-то внешние задачи, например отправлять HTTP запросы
Генерация промокодов
Создайте и выполните этот шаблон для генерации промокодов:
{{
codes = promo.generate(
template_id = 'template_promo'
count = 1
length = 10
prefix = 'TEST_'
settings = { amount = 123, tariff = 1, foo = 'bar' }
)
}}
{{ FOR code IN codes }}
{{ code }}
{{ END }}
где:
template_id
- название шаблона для выполнения при применении промокодаcount
- кол-во прокомодов, которое нужно сгенерироватьlength
- длина промокода без учета длины префиксаprefix
- префикс для промокода, если нуженsettings
- любые данные в формате JSON для использованиях их при выполнении Шаблона (при необходимости)
Использование промокодов
Для того, чтобы использовать промокод необходимо выполнить следующий код:
promo.apply( ПРОМОКОД )
Использование промокодов с помощью внешней ссылки
Создайте Шаблон для публичного использования с именем: my_promo
:
Запишем туда следующий код:
{{ IF user.switch( request.params.uid ).id }}
{{ IF promo.apply( request.params.code ) }}
Ваш промокод успешно применен
{{ ELSE }}
Ошибка: промокод не найден
{{ END }}
{{ ELSE }}
Ошибка: пользователь не найден
{{ END }}
Теперь, для использования промокода, мы можем давать клиентам ссылки вида: https://myshm.ru/shm/v1/public/my_promo?uid=123&code=XXXXXX
где:
my_promo
- имя шаблонаuid
- идентификатор пользователяcode
- промокод
Примеры шаблонов для промокодов
Шаблон для зачисления пользователю бонусов
Создайте шаблон с именем указанным при создании промокода и поместите туда следуюший код:
{{ user.add_bonus( promo.settings.amount, 'Зачисление бонусов по промокоду: ' _ promo.id ) }}
При использовании промокода, созданного для этого шаблона, будет прочитано кол-во бонусов для зачисления (amount
), и бонусы будут начислены.
Шаблон для регистрации тарифа
Создайте шаблон с именем указанным при создании промокода и поместите туда следуюший код:
{{
service.create_for_api(
service_id = promo.settings.tariff
check_allow_to_order = 0
)
}}
При использовании промокода, созданного для этого шаблона, будет зарегистрирован тариф с идентификатором promo.settings.tariff
.
Тариф будет зарегистрирован даже, если у него не стоит галка “Доступен к заказу”, из-за того, что мы используем флаг check_allow_to_order = 0
.