Тема
Клиентские кабинеты и маркетплейс от пользователей
Статус: проектирование объёма. Две темы: (1) личные кабинеты пользователей сайта (B2C/B2B), (2) публикации и мультивендор-маркетплейс со стороны клиентов (UGC). Кабинеты строятся на Inertia + React SSR поверх API-слоя ядра; маркетплейс — крупный функц-модуль.
Личные кабинеты (ЛК)
Кабинет — отдельная зона после логина, где SEO не важен, поэтому там оправдан богатый React-интерактив (в отличие от публичного Blade-фронта). Данные — через API-слой ядра.
Типовой функционал ЛК
| Раздел | Содержание |
|---|---|
| Профиль | ФИО, контакты, аватар, смена email/телефона с подтверждением, удаление аккаунта (152-ФЗ) |
| Заказы | Список, детализация, статусы в реальном времени, повтор, отмена, трекинг доставки |
| История | Покупки, просмотры, начисления/списания, действия |
| Адреса | Адресная книга, адрес по умолчанию, автозаполнение через DaData, привязка к ПВЗ |
| Подписки | На товары/рассылки/уведомления, регулярные заказы, управление периодичностью |
| Платёжные методы | Сохранённые карты (токены), способ по умолчанию, привязка/отвязка |
| Бонусы/лояльность | Баланс баллов, история, уровни/статусы, промокоды, рефералка, кешбэк |
| Документы/счета | Счета, чеки 54-ФЗ, акты/УПД (юрлица), договоры, выгрузка PDF, история платежей |
| Обращения/тикеты | Запросы в поддержку, переписка, статусы, вложения, оценка ответа, связь с CRM |
| Избранное | Вишлист, списки, сравнение, отложенные корзины |
| Уведомления | Каналы (email/SMS/push/мессенджер), типы событий, согласия на обработку ПДн и рекламу |
Роли кабинета
| Роль | Кто |
|---|---|
| Покупатель B2C | Физлицо: заказы, бонусы, избранное, простая регистрация |
| Юрлицо B2B | Организация: реквизиты, договоры, безнал, закрывающие документы, ЭДО |
| Партнёр/реферал | Вознаграждения, промо-материалы, отчёты, выплаты |
| Автор/продавец | Публикации, товары, статистика, вывод средств (см. маркетплейс ниже) |
B2B-кабинет (расширенный)
Отдельный крупный сценарий — корпоративные закупки:
- Иерархия «компания → сотрудники»: несколько пользователей на один аккаунт организации;
- роли внутри компании: администратор, закупщик, согласующий, бухгалтер, наблюдатель;
- договоры: список, статусы, спецификации, привязка заказов к договору;
- кредитный лимит / отсрочка: баланс взаиморасчётов, постоплата, лимиты на сотрудника;
- персональные цены: индивидуальные скидки, договорные цены, категории цен;
- повторные заказы: шаблоны, быстрый заказ по артикулам/CSV, регулярные закупки;
- согласование заказов: workflow «заявка сотрудника → одобрение → оформление»;
- выгрузка для 1С/бухгалтерии, интеграция с ЭДО, счета и УПД в кабинете.
Безопасность кабинета
- 2FA/MFA: TOTP-приложения, SMS-код, email-код, резервные коды;
- управление сессиями: список устройств/сессий, «выйти со всех устройств»;
- история входов: время, IP, устройство, гео, уведомление о новом входе;
- защита: политики паролей, антибрутфорс (rate-limit, captcha), уведомления о смене критичных данных;
- приватность (152-ФЗ): журнал согласий, экспорт своих данных, право на удаление.
Маркетплейс и публикации от пользователей (UGC)
Крупный функц-модуль. Отличается от студийного маркетплейса модулей (тот — про composer-модули для студии): здесь конечные пользователи сайта публикуют контент и товары.
Что публикуют пользователи
| Тип | Описание |
|---|---|
| Товары | Мультивендорный магазин: продавцы заводят карточки, цены, остатки, варианты |
| Объявления | Доска (C2C/B2C): категории, срок жизни, продление, поднятие |
| Статьи/блоги | Авторский контент, черновики, публикация по расписанию |
| Отзывы/рейтинги | На товары/продавцов/услуги, с фото/видео, верификация покупки |
| Портфолио/профили | Исполнители/фрилансеры/мастера: кейсы, услуги, прайс |
| Вакансии/резюме | Размещение работодателями и соискателями |
| Медиа | Фото/видео/файлы к публикациям, галереи |
Продавцы используют те же доменные модели магазина (товары/ТП, склады, цены с vendor_id) — заготовка заложена в модели e-commerce, ретрофит не потребуется. «Заявка по объявлению» — обычный лид ядра с полиморфной привязкой к публикации.
Модель мультивендора
- Продавцы: регистрация, верификация (документы, ИНН/самозанятость), статусы аккаунта;
- витрины продавцов: страница магазина, брендинг, каталог, контакты, условия;
- комиссии: гибкие правила (per-категория/продавец/тариф), фикс/процент, минимальная;
- выплаты и эскроу: удержание до подтверждения получения (безопасная сделка), расписание выплат, вывод на карту/счёт/самозанятого, сплит платежа через шлюз (54-ФЗ маркетплейс — раздельные чеки);
- рейтинги продавцов: агрегат оценки, отзывы, метрики (скорость ответа, % отмен, доставка в срок), бейджи/уровни;
- мультизаказ: товары разных продавцов в одной корзине → сплит-заказы.
Модерация UGC
- Режим: премодерация (до публикации) или постмодерация (после) — per-тип контента;
- автофильтры: стоп-слова, антиспам, детект дубликатов, проверка изображений (NSFW/запрещёнка), лимиты частоты;
- жалобы: кнопка «пожаловаться», категории нарушений, очередь для модераторов;
- очередь модерации: назначение модераторам, действия (одобрить/отклонить/на доработку/бан), причины, шаблоны ответов;
- репутация авторов: карма/уровень доверия, автопубликация для доверенных, ужесточение для новых/нарушителей, бан/шэдоу-бан;
- РФ-соответствие: возрастная маркировка (0+…18+), запрещённые товары, маркировка рекламы (ОРД/ЕРИР) для рекламных публикаций.
Монетизация публикаций
- Платное размещение: плата за публикацию объявления/товара/вакансии, пакеты;
- продвижение/буст: поднятие в топ, выделение бейджем, закреп в категории, премиум;
- подписки: тарифы для продавцов/авторов (лимиты публикаций, функции витрины, аналитика), автопродление;
- тарифы и лимиты: бесплатный/платный уровни, квоты на активные публикации, приоритет;
- комиссия со сделок, платные доп-услуги (фотосъёмка, приоритетная модерация);
- реклама: баннеры продавцов, спонсорские позиции в поиске (с маркировкой по 38-ФЗ).
Витрина маркетплейса
- Каталог: единое дерево категорий поверх всех продавцов, атрибуты per-категория;
- поиск: полнотекст с русской морфологией, подсказки, исправление опечаток, по продавцам и товарам;
- фильтры/фасеты: цена, атрибуты, продавец, рейтинг, наличие, город, способ доставки;
- страницы продавцов: витрина, отзывы, рейтинг, ассортимент, подписка на продавца;
- сортировки: релевантность, цена, рейтинг, новизна, популярность, продвигаемые (с пометкой);
- сравнение, рекомендации, персонализация, мультигород/геотаргетинг.
Что это значит для ядра
Даже если маркетплейс и B2B-кабинет — модули «на будущее», ядро обязано заложить точки расширения заранее (ретрофит болезнен):
- ролевая модель ядра остаётся плоской (Q11), но закладывает точку расширения: полиморфную принадлежность пользователя к «команде/организации» (spatie/permission teams-режим). Сама иерархия «организация → сотрудники» и роль «продавец» — модуль B2B/маркетплейса, не переделка ядра;
- API-слой — headless-ready для React-кабинетов;
- абстракции платежей — со сплитом и эскроу (маркетплейс);
- движок модерации (очередь, репутация) — переиспользуемый для отзывов и UGC;
- шина событий — для триггеров кабинета (статус заказа → уведомление).
См. решения (RBAC — Filament Shield + spatie/permission как база) и каталог подсистем.