Направление работ: Back Код раздела: 1.1.1 Аккаунты и пользователи > Организация аккаунтов > Регистрация Статус: Готов Ответственный: Панкова Л.А. Версия: 0.2 Обновлено: 05.06.2026


1. Назначение

Регистрация переводит контактные данные пользователя и его согласие с условиями сервиса в создание подтвержденного Аккаунта, который может использовать функциональность платформы в пределах выданных прав доступа.

Это единый системный процесс, который запускается из разных интерфейсов: мобильного приложения, партнерской зоны, виджета и каталога.

Система обеспечивает прием и хранение регистрационных данных, проверку уникальности данных, выпуск и проверку кодов подтверждения, управление состоянием Аккаунта, связку с Карточкой клиента, фиксацию источника регистрации и выдачу стартовых доступов после успешной активации.

2. Ключевые понятия

Аккаунт — цифровое представление пользователя в системе. Хранит данные для входа, состояние подтверждения и набор выданных доступов. Не может существовать без связанной Карточки клиента.

Карточка клиента — сущность с персональными данными, контактами, историей заказов и отношениями с партнерами. В рамках регистрации и создания Аккаунта Система должна найти существующую карточку по телефону и связать с Аккаунтом или инициировать создание новой.

Источник регистрации — интерфейс или системный сценарий, из которого запущена регистрация: мобильное приложение, партнерская зона, виджет, каталог, или создание третьим лицом на стороне партнерской зоны (добавление сотрудника).

Пригласительный код — код из цифр, который может быть указан при регистрации для связи нового аккаунта с пригласившим аккаунтом и получении вторым бонусных баллов.

3. Scope

Входит

S1 Процесс создания Аккаунта

  • Создание Аккаунта в системе и привязка его к Карточкой клиента.

S2 Валидация и ограничения

  • Валидация по общим правилам для активации аккаунта.
  • Фиксация принятия согласия на обработку данных.
  • Фиксация источника регистрации в БД.

Не входит

  • Организация аккаунтов, связь Аккаунта с Карточкой клиента, состояния Аккаунта — Back 1.1
  • UI и фронтовые сценарии регистрации в интерфейсах — Mobile: 1.2 / WebLk: 1.1 / Widget: 3.2 / Catalog: 3.2
  • Начисление бонусов по пригласительной программе — Back: 8.4.2
  • Шаблоны SMS/email-уведомлений и правила их доставки — Back: 7.1
  • Авторизация и восстановление пароля — Back: 1.1.2 / Back: 1.1.3

4. Требования

Правила и ограничения бизнеса на уровне данных, источник истины в системе

IDПравилоКомментарийТип требованияВесСтатус
S1 BR1.1.1-1Регистрация завершается созданием активного аккаунта только после подтверждения обязательных данных.Обязательные данные: подтвержденный телефон, пароль, согласие на обработку данных. Требования к номеру телефона: только РФ, ровно 10 цифр после +7, код страны нередактируемый, лишние символы отбрасываются — другие страны/длины ввести нельзя.Бизнес1Не реализовано OQ1.1.1-5
S1 BR1.1.1-2При регистрации Пользователя Система проверяет уникальность телефона/email только среди неархивных Аккаунтов.Аккаунты с признаком IsArchive = true не участвуют в проверке уникальности и не блокируют повторную регистрацию с тем же телефоном/email.Системное2Не реализовано
S1 BR1.1.1-3Данные, переданные при регистрации, должны обновлять связанную Карточку клиента.Если карточка найдена, регистрационные данные заменяются или дополняются в Карточке клиента.

Если найдена карточка, связанная с архивным аккаунтом, то аккаунт восстанавливается.
Системное2Частично реализовано
S1 BR1.1.1-4Аккаунт, созданный третьим лицом, создается неактивным до подтверждения.К третьим лицам относятся партнер, сотрудник партнера или сотрудник сервиса. Активация происходит после подтверждения пользователем обязательных данных.Бизнес2Реализовано OQ1.1.1-2
S1 BR1.1.1-5Пароль обязателен для активации аккаунта.*Не менее 8 символов, 1 заглавная буква, 1 цифра, 1 специальный символ, белый список символов a-zA-Z0-9!@#$%^&*()-_+=<>?, 1 строчная букваСистемное1Реализовано OQ1.1.1-3
S2 BR1.1.1-6Система при регистрации должна поддерживать общие правила хранения и проверки учетных данных и общие лимиты попыток подтверждения и ввода учетных данных, описанных в Back: 1.1Системное1Back: 1.1 — открытые вопросы (4)
S2 BR1.1.1-7Согласие на обработку данных является обязательным условием регистрации.Процесс обновления согласий и порядок фиксации изменений описан в Back: 8.2.7Бизнес1Не реализовано
S2 BR1.1.1-8Источник регистрации должен фиксироваться для каждого регистрационного процесса.Источник нужен для аналитики и поддержки.Техническое2Не реализовано OQ1.1.1-4

5. Открытые вопросы

IDИсточникВопросКомуСтатусРекомендацииИтоговое решение
OQ1.1.1-1ЛайзаХранит ли система источник соглашения?ГерманClosed
OQ1.1.1-2Код
Б3
Код: создание сотрудника — отдельный поток (PartnerZoneEmployees/CreatePartnerZoneEmployee, не в Accounts), где может ставиться временный пароль; явного состояния «неактивный до подтверждения» у аккаунта нет, «неактивность» = PhoneNumberConfirmed==false. Поток создания сотрудника не дочитан за объёмом.

Решение: какое целевое состояние у аккаунта, созданного третьим лицом, и как оно отличается от самостоятельной регистрации?

RegistrationMobileEndCommandHandler.cs:135; CreatePartnerZoneEmployee (частично проверено за объёмом)
РазработкаClosed
OQ1.1.1-3Код
П1
Код: enforce-ит ≥8, цифра, заглавная, спецсимвол — И ДОПОЛНИТЕЛЬНО RequireLowercase (строчная) + RequiredUniqueChars=2 + белый список символов a-zA-Z0-9!@#$%^&*()-_+=<>?.

Расхождение: код СТРОЖЕ BRD на два правила (строчная буква, 2 уникальных символа) и ограничивает алфавит.

Привести BRD к коду или ослабить код?

ProgramExtenstions.cs:206-211; AllowedPasswordCharactersValidator.cs:8
Разработка / БизнесClosed
OQ1.1.1-4Код
П3
Код: источник не сохраняется отдельным полем записи аккаунта; Source живёт только в AccountSession и в AccountCreatedEvent.SourceId; перечисление Source не содержит значения «создание третьим лицом / добавление сотрудника».

Расхождение: «фиксация источника регистрации» в смысле BRD (привязка к аккаунту для правил/аналитики) не реализована.

Где должен храниться источник регистрации?

Account.cs:13-103 (нет поля Source); AccountSession.cs:15; Source.cs:3
РазработкаOpenВес: 2
OQ1.1.1-5Код
П4
Код: разделения обязательности email по источнику в потоке регистрации аккаунта не обнаружено за обход; источник регистрации в записи аккаунта не хранится (см. П3), поэтому «различение правил обязательности полей по источнику» технически не на чем строить.

Расхождение/не найдено за обход: как enforce-ится обязательность email именно для партнёрской зоны?

Source.cs:3; Account.cs (нет поля источника) — различение по источнику не найдено за обход
РазработкаClosedУбираем источники для email

0 items under this folder.