Skip to content

Процесс регистрации пользователя

Полный путь пользователя от анонимного посетителя до полностью верифицированного пользователя платформы.

Обзор

Процесс регистрации состоит из нескольких этапов:

  1. Анонимный визит с атрибуцией реферала
  2. Регистрация и подтверждение email
  3. Заполнение профиля
  4. KYC-верификация (требуется для инвестиций и выплат)

Основная диаграмма процесса


Детали этапов

1. Анонимный визит

Триггер: Пользователь заходит на платформу по реферальной ссылке или напрямую.

Формат реферальной ссылки:

https://platform.com/?ref=ABC123&utm_source=instagram&utm_medium=post&utm_campaign=summer

Хранение в Cookie:

КлючЗначениеДлительность
iwm_ref_codeРеферальный код партнера30 дней
iwm_ref_link_idID конкретной ссылки (если отслеживается)30 дней
iwm_first_touchВременная метка первого визита30 дней
iwm_utmJSON с UTM-параметрамиСессия

Сохраняемые данные атрибуции:

json
{
  "partner_code": "ABC123",
  "link_id": "uuid-of-link",
  "first_touch_at": "2024-01-15T10:30:00Z",
  "last_touch_at": "2024-01-15T10:30:00Z",
  "utm_source": "instagram",
  "utm_medium": "post",
  "utm_campaign": "summer",
  "landing_page": "/products",
  "ip_address": "192.168.1.1",
  "user_agent": "Mozilla/5.0..."
}

2. Регистрация

Эндпоинт: POST /auth/register

Тело запроса:

json
{
  "email": "user@example.com",
  "password": "SecureP@ss123",
  "firstName": "John",
  "lastName": "Doe",
  "phone": "+7900123456",
  "acceptTerms": true,
  "acceptMarketing": false
}

Правила валидации:

ПолеПравила
emailОбязательно, корректный формат email, уникальный в БД
passwordМинимум 8 символов, 1 заглавная, 1 строчная, 1 цифра, 1 спецсимвол
firstNameОбязательно, 2-100 символов, только буквы
lastNameОбязательно, 2-100 символов, только буквы
phoneОпционально, формат E.164
acceptTermsОбязательно, должно быть true

Сценарии ошибок:

КодСценарийОтвет
400Ошибка валидации{ "errors": [...] }
409Email существует{ "code": "EMAIL_EXISTS" }
429Превышен лимит запросовЗаголовок Retry-After

3. Подтверждение Email

Токен верификации:

  • Формат: UUID v4
  • Срок действия: 24 часа
  • Одноразовый (удаляется после верификации)

Содержимое письма верификации:

  • Тема: "Подтвердите email - IWM Platform"
  • Ссылка: https://platform.com/verify?token={token}
  • Включает: Имя пользователя, уведомление об истечении, контакт поддержки

Логика повторной отправки:

  • Максимум 3 повторных отправки в час
  • Каждый раз генерируется новый токен
  • Предыдущие токены аннулируются

Обработка таймаута:

  • Токен истекает через 24 часа
  • Пользователь может запросить новый токен
  • Аккаунт автоматически удаляется через 7 дней, если не верифицирован

4. Заполнение профиля

Эндпоинт: PATCH /users/me/profile

Опциональные поля:

json
{
  "middleName": "Ivanovich",
  "dateOfBirth": "1990-05-15",
  "avatarUrl": "https://cdn.example.com/avatar.jpg",
  "language": "ru",
  "timezone": "Europe/Moscow"
}

Загрузка аватара:

  • Эндпоинт: POST /users/me/avatar
  • Максимальный размер: 5MB
  • Форматы: JPEG, PNG, WebP
  • Масштабируется до: 200x200, 400x400

5. Отправка KYC

Уровни KYC:

УровеньТребованияВозможности
NONEПо умолчаниюПросмотр, базовые покупки
BASICEmail подтвержденВсе покупки
STANDARDID + Селфи верифицированыИнвестиции до 1 млн руб.
ENHANCEDПодтверждение адреса + Подтверждение доходаНеограниченные инвестиции

Требуемые документы (STANDARD):

ДокументПринимаемые типы
Документ удостоверяющий личностьПаспорт, Национальный ID, Водительские права
СелфиФото с видимым ID

Загрузка документов:

  • Эндпоинт: POST /kyc/documents
  • Максимальный размер: 10MB на файл
  • Форматы: JPEG, PNG, PDF
  • Шифрование при хранении (AES-256)

Правила валидации:

  • Документ должен быть читаемым
  • На селфи должны быть четко видны лицо и ID
  • ID не просрочен
  • Имя совпадает с профилем

6. Процесс проверки KYC

Поток статусов:

NOT_STARTED -> DOCUMENTS_PENDING -> SUBMITTED -> UNDER_REVIEW -> APPROVED/REJECTED/NEEDS_INFO

Сроки проверки:

  • Стандартный: 24-48 рабочих часов
  • Приоритетный (крупные инвестиции): 4-8 часов

Причины отказа:

КодОписаниеДействие пользователя
DOCUMENT_BLURRYДокумент нечитаемыйЗагрузить более четкое изображение
DOCUMENT_EXPIREDID просроченЗагрузить действующий ID
SELFIE_MISMATCHЛицо не совпадает с IDПереснять селфи
INFO_MISMATCHДанные не совпадают с профилемОбновить профиль или загрузить корректные документы
SUSPECTED_FRAUDПодозрительная активностьСвязаться с поддержкой

Повторная отправка:

  • Максимум 3 попытки на тип документа
  • После 3 неудач требуется ручная проверка
  • Период ожидания: 24 часа между отправками

Сценарии ошибок

Ошибки регистрации

СценарийHTTP-кодКод ошибкиСообщение пользователю
Email уже зарегистрирован409EMAIL_EXISTS"Этот email уже зарегистрирован. Попробуйте войти."
Слабый пароль400WEAK_PASSWORD"Пароль не соответствует требованиям."
Неверный формат email400INVALID_EMAIL"Пожалуйста, введите корректный email адрес."
Условия не приняты400TERMS_REQUIRED"Необходимо принять условия для продолжения."
Превышен лимит запросов429RATE_LIMITED"Слишком много попыток. Пожалуйста, подождите."

Ошибки верификации

СценарийHTTP-кодКод ошибкиСообщение пользователю
Токен истек400TOKEN_EXPIRED"Срок действия ссылки истек. Запросите новую."
Токен уже использован400TOKEN_USED"Эта ссылка уже была использована."
Токен не найден404TOKEN_NOT_FOUND"Недействительная ссылка верификации."

Ошибки KYC

СценарийHTTP-кодКод ошибкиСообщение пользователю
Файл слишком большой413FILE_TOO_LARGE"Файл превышает лимит 10MB."
Неверный тип файла400INVALID_FILE_TYPE"Пожалуйста, загрузите JPEG, PNG или PDF."
KYC уже подтвержден400ALREADY_VERIFIED"Ваша личность уже верифицирована."
Превышено число попыток400MAX_ATTEMPTS"Пожалуйста, свяжитесь с поддержкой для помощи."

Связанные документы