Реферальная программа в Sailplay
Реферальная программа позволяет клиентам приглашать друзей в программу лояльности и получать вознаграждения. В рамках сценария участвуют две стороны:
- Реферер — клиент, который приглашает.
- Реферал — клиент, который регистрируется/совершает действия по приглашению.
Вознаграждение (бонусные баллы или другие преимущества) может начисляться как рефереру, так и рефералу — в зависимости от настроек акций/сценариев в Sailplay.
- Клиент видит свой реферальный код и делится им.
- Новый клиент регистрируется или вводит код при покупке.
- В профилях обоих клиентов фиксируются события/теги, а также (при настроенной механике) начисляются бонусы.
Как это выглядит в событиях и тегах
После успешной регистрации реферала в профиле реферала появляются:
- Событие «Клиент был приглашен “Имя Фамилия (пригласившего)”»
- Тег «Регистрация друга по приглашению»
В профиле реферера появляются:
- Событие «Пригласил клиента “Имя Фамилия (приглашенного друга)”»
- Тег «Клиент пригласил друга»
Когда реферал совершает покупку (и выполнены условия механики), в карточках могут отображаться события:
- У реферера — «Реферал совершил покупку»
- У реферала — «Подтверждения покупки рефералом»
Реферальный промокод
Программа использует уникальный реферальный промокод — каждый клиент, зарегистрированный в Sailplay, получает индивидуальный код.
Как получить промокод клиента
Получите данные клиента методом:
/api/v2/users/info/
В ответе промокод возвращается в поле:
referral_promocode
Как показывать промокод клиенту
В интерфейсе (ЛК/МП/сайт):
- Выведите значение
referral_promocodeв профиле клиента.
В коммуникациях (email/SMS/push):
- Подставляйте реферальный код в сообщениях через переменную (см. раздел «Переменные клиентов»).
Создание реферальной связи
Реферальную связь между реферером и рефералом можно создать двумя основными способами.
Реальная логика начислений (за регистрацию, за покупку, за подтверждение покупки и т. п.) задаётся на стороне Sailplay через акции/сценарии. Интеграция отвечает за корректную передачу реферального кода/идентификаторов.
Способ 1. Реферальный код при покупке
Реферал вводит промокод реферера в момент оформления заказа.
1) Расчёт корзины (calc)
На этапе чекаута отправьте запрос на расчёт акций:
/api/v2/marketing-actions/calc/
Передайте промокод реферера в параметре promocodes.
Пример (cURL):
curl --request POST \
--url https://api.sailplay.ru/api/v2/marketing-actions/calc/ \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data token=*** \
--data store_department_id=*** \
--data order_num=171 \
--data 'cart={"1":{"sku":"1","price":1000,"quantity":1},"2":{"sku":"2","price":300,"quantity":3}}' \
--data user_phone=70001234567 \
--data 'promocodes=["<referral_promocode>"]'
2) Создание покупки (new)
После оформления заказа создайте покупку:
/api/v2/purchases/new/
Параметры аналогичны (включая promocodes).
Пример (cURL):
curl --request POST \
--url https://api.sailplay.ru/api/v2/purchases/new/ \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data token=*** \
--data store_department_id=*** \
--data order_num=171 \
--data 'cart={"1":{"sku":"1","price":1000,"quantity":1},"2":{"sku":"2","price":300,"quantity":3}}' \
--data user_phone=70001234567 \
--data 'promocodes=["<referral_promocode>"]'
Реферальная связь при создании покупки образуется только если на системную группу Реферальные промокоды настроена акция в ЛК Sailplay и промокод применится в покупке.
Способ 2. Реферальная связь при регистрации клиента
Связь создаётся в момент регистрации реферала: вы создаёте клиента и одновременно передаёте данные реферера.
Используйте метод создания клиента:
/api/v2/users/add/
Передайте идентификаторы реферала (телефон/email/origin_user_id) и один из наборов данных реферера:
referrer_promocode— реферальный код реферера
и/илиreferrer_phonereferrer_emailreferrer_origin_user_id
Такой подход удобен для «пригласительных ссылок», где вы заранее фиксируете промокод/идентификатор реферера и передаёте его при регистрации реферала.
Если вы используете invite-link, старайтесь фиксировать реферальный промокод (самый удобный для передачи и хранения на фронтенде), либо один стабильный идентификатор реферера.
Отображение данных по реферальной программе через историю клиента
Чтобы увидеть реферальные события в истории, запросите информацию о клиенте методом:
/api/v2/users/info/
и передайте параметр:
history=1
Пример: история у реферала
В истории реферала может появиться запись вида:
{
"action": "manual_change_referrer",
"user_name": "Имя Фамилия",
"action_date": "2023-11-17T11:52:43.121",
"user_id": 123456789,
"name": "Покупка приглашенного"
}
Пример: история у реферера
В истории реферера может появиться запись вида:
{
"action": "manual_change_referred",
"user_name": "Имя Фамилия",
"action_date": "2023-11-17T11:52:43.121",
"user_id": 987654321,
"name": "За приглашение друга"
}
Пример: начисления бонусов (если настроено)
Если настроено начисление баллов рефереру/рефералу, в истории могут появляться записи:
У реферера:
{
"action": "referral",
"action_date": "2023-11-17T14:38:54.021",
"is_completed": true,
"points_delta": 1000,
"name": "За регистрацию по приглашению"
}
У реферала:
{
"action": "referred",
"action_date": "2023-11-17T14:38:54.109",
"is_completed": true,
"points_delta": 2000,
"name": "За приглашение друга"
}
Количество приглашённых друзей
Суммарная информация о количестве приглашённых клиентов хранится в системном теге «Кол-во приглашенных друзей».
Чтобы получить значение, запросите список тегов клиента методом:
/api/v2/users/tags/list/
количество приглашенных клиентом друзей будет в параметре fire_count
Пример (cURL):
curl --request GET \
--url https://api.sailplay.ru/api/v2/users/tags/list/ \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data token=*** \
--data store_department_id=*** \
--data user_phone=17784604 \
--data 'tags=["Кол-во приглашенных друзей"]' \