This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Партнерские программы

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.