Здравствуйте, подскажите пожалуйста как мажно настроить реферальную систему для веба, наверно прозвучит глупо но пытался забрать из path вбивая сылку+реферальный код но не получилось ), вопрос в том как сделать регистрацию пользователя по сылке
@Monnom Здравствуйте. Спасибо за вопрос. Уточню детали с командой и вернусь к вам с ответом
@Monnom Реферальную систему можно сделать следующим образом:
Сущности (таблицы):
- referral_code – будет хранить id, referral_code, owner (владелец кода. Связь с таблицей User 1 к 1), reward (размер вознаграждения для нового пользователя кредиты, монеты и тд), award (размер вознаграждения для владельца кода), expiration_date (при необходимости)
- referral_clicks – логгирует использование реферальных кодов. id, referral_code (связь с таблицей referral_code 1 ко многим), user (1 к 1), created_at.
Endpoints:
/v2/register/Стандартный эндпоинт регистрации. Расширяем и добавляем проверку для кода.
Логика:
- Создание реферального кода. Генерируйте короткие, нечитаемые, устойчивые к угадыванию коды (8–12 символов), например
Ab3kd9XQ. Ассоциируйте код с пользователем (owner).
Создаете ссылку с кодом в query. Например,https://example.com/?ref=Ab3kd9XQ - Регистрация. Настраиваем глобальный триггер On App Launch, проверяем авторизацию. Если пользователь не авторизирован – перенаправляем на страницу регистрации/авторизации, сохранив реф. код из query (в глобальную переменную). Далее проводим стандартную регистрацию и передаем реф. код если был.
- Вознаграждение. Проверяем код на наличие в базе. Если код валидный – добавляем запись в таблицу
referral_clicks. Затем проверяем вознаграждение (reward) вreferral_codeи добавляем на баланс новому пользователю. Аналогично с award для владельца кода, проверяем и добавляем на баланс.