
Личный кабинет нужен, когда клиент регулярно получает результат, передаёт сведения или отслеживает работу. Начните с этих действий, а не набора экранов. Определите, кому принадлежит доступ, какие данные видны и что считается завершением операции. Вход по паролю — только начало сценария, а не готовый продукт.
Как описать пользователей и данные
Разделите человека, организацию и его роль в организации. У одного клиента могут быть несколько сотрудников с разными полномочиями. Автор заявки, согласующий и наблюдатель не обязательно должны видеть одинаковые документы или иметь право отправлять новые запросы.
Опишите сущности: заказ, обращение, документ, результат или счёт. Для каждой укажите владельца, состояния и допустимые действия клиента. Не копируйте внутреннюю CRM целиком наружу: часть комментариев и служебных статусов предназначена только команде. Публичное отображение требует осмысленного набора данных.
Что включить в первую версию
- Получение и прекращение доступа.
- Просмотр собственных объектов и необходимых документов.
- Одно основное действие клиента с подтверждением результата.
- Понятное состояние обработки и история значимых событий.
- Возврат на уточнение и способ получить помощь.
- Проверка границ между клиентами и ролями.
Рекомендации OWASP по авторизации помогают сформировать технические проверки. Видимость определяется на сервере для каждого обращения к объекту. Скрытая кнопка или фильтр в интерфейсе сами по себе не обеспечивают ограничения доступа.
Паспорт кабинета: какую работу клиент завершает сам
Рабочий сценарий
Кабинет вокруг законченного действия
Доступ, состояние и результат должны совпадать у сторон
01
Назначение
Выбрать работу, которую клиент завершает сам.
02
Владение
Человек, организация, объект и действие.
03
Передача
Показать требования и подтвердить сохранение.
04
Проверка
Отделить полученный документ от принятого.
05
Версия
Сохранить историю и повторное решение.
06
Приёмка
Проверить чужие объекты, повторы и потерю связи.
Полезное действие завершено с соблюдением текущих прав?
Условие выполнено: Показать результат и следующий доступный шаг.
Условие не выполнено: Сохранить известное состояние и объяснить исключение.
Ответственный
Владелец клиентского обслуживания
Подтверждение
Матрица ролей, словарь статусов и сценарии приёмки
Что измеряем
Незавершённые действия, дубли и нарушения границ доступа
Полезность кабинета проверяется простым вопросом: какую повторяющуюся работу клиент сможет закончить без уточняющей переписки? Ответ «видеть информацию» слишком широк. Уточните объект и действие: получить актуальный комплект документов по заказу, передать недостающие сведения, подтвердить результат или проверить состояние обращения. Для первой версии выберите законченный маршрут, который команда сможет сопровождать.
Не всякое письмо нужно заменять экраном. Если действие происходит редко, требует сложного обсуждения и не имеет устойчивых правил, кабинет может лишь перенести переписку в менее удобное место. Обследование должно показать частоту, участников, причины уточнений и доступные данные. Так набор функций следует из работы клиента, а не из стандартного списка разделов любого личного кабинета.
| Решение в паспорте | Что следует определить | Как это проверяется |
|---|---|---|
| Основной пользователь | Человек, организация и его полномочия | Представитель нужной роли проходит сценарий |
| Основной объект | Заказ, обращение или документ | У объекта есть владелец и устойчивый идентификатор |
| Полезное действие | Что клиент отправляет, получает или подтверждает | Результат сохраняется и доступен после входа |
| Источник состояния | Где принимается решение о готовности | Кабинет не показывает выдуманный промежуточный статус |
| Граница первой версии | Какие операции остаются у сотрудника | Для них указан понятный путь обращения |
| Правило поддержки | Как разбирать ошибку и спорную операцию | Обращение связано с объектом и событием |
В паспорте стоит отдельно указать, кто отвечает за актуальность информации. Если заказ изменяется в CRM, а кабинет обновляется с задержкой, это свойство должно быть учтено в требованиях. Нельзя обещать клиенту мгновенное состояние, когда фактически используется периодическая синхронизация. При недоступности источника интерфейс должен различать отсутствие новых данных и отсутствие самого заказа.
Модель доступа: человек, компания, объект, действие
Корпоративный клиент часто представлен несколькими людьми. Один создаёт запросы, другой подтверждает, третий только получает документы. Возможность входа не определяет, к какой компании относится человек и какие операции он выполняет. Отдельно опишите добавление сотрудника, смену роли, прекращение работы и ситуацию, когда человек представляет несколько организаций. В небольшой версии часть операций может выполнять оператор, но правило всё равно необходимо.
| Роль в учебной модели | Какие объекты видит | Что может делать | Существенное ограничение |
|---|---|---|---|
| Автор обращения | Разрешённые обращения своей организации | Создавать и дополнять собственные запросы | Не назначает себе повышенные права |
| Представитель с просмотром | Согласованный набор объектов организации | Читать состояние и доступные документы | Не подтверждает результат вместо согласующего |
| Согласующий клиента | Объекты в своей области полномочий | Подтверждать конкретное действие | Подтверждение связано с версией результата |
| Администратор клиентской стороны | Управление участниками в согласованных границах | Приглашать и отзывать доступ | Не получает автоматически права на чужую организацию |
| Сотрудник исполнителя | Объекты по рабочей роли | Обрабатывать заявки и передавать результат | Внутренний комментарий не становится внешним |
| Техническая поддержка | Минимум для разбора обращения | Диагностировать разрешённую операцию | Нет неограниченного просмотра по умолчанию |
Названия ролей здесь иллюстративные: их нельзя механически переносить в каждый бизнес. Матрица нужна для согласования различий. Иногда право просмотра всех заказов компании недопустимо даже внутри одного клиента. Тогда доступ уточняется по подразделению или назначению на объект. Главное — не оставлять такие правила неявной договорённостью, которую разработчик должен угадать по макету.
Рабочий процесс передачи документа через кабинет
Вход: открытый объект клиента, требование предоставить документ и разрешённая роль. Участники: клиент загружает, сотрудник проверяет содержание, система сохраняет и связывает файл, поддержка разбирает технические исключения. Выход: документ принят либо возвращён с понятным основанием. Проверка: состояние совпадает у клиента и сотрудника, а повтор действия не создаёт неразличимые дубли.
На первом шаге кабинет показывает, какой документ требуется и к какому объекту он относится. Указание допустимого формата и ограничения размера помогает до загрузки, но не заменяет серверную проверку. Если документ содержит несколько вариантов, клиент должен понимать, какой из них нужен. Формулировка «прикрепите файл» без назначения часто переносит проблему неполных данных на следующий этап обработки.
На втором шаге происходит передача. Интерфейс различает выбор файла, загрузку и успешное сохранение. При медленной связи кнопка не должна создавать повторные запросы из-за нетерпеливого нажатия. Если соединение оборвалось, пользователь видит известное состояние и безопасный путь продолжения. Техническое подтверждение связано с конкретным файлом и объектом, чтобы клиент не гадал, что именно принято системой.
На третьем шаге сотрудник проверяет содержание. Успешная загрузка не означает содержательную приёмку документа. Внешние статусы разделяют «получено» и «принято», если это соответствует процессу. При возврате указывается исправимая причина и следующее действие. Внутренние заметки о работе команды не должны случайно появляться как комментарий клиенту: для внешнего объяснения нужен отдельный согласованный канал.
На четвёртом шаге клиент отправляет новую версию, если она требуется. Система сохраняет связь с прежним документом и показывает, что сейчас находится на проверке. Ранее подтверждённое решение не должно автоматически распространяться на изменённое содержимое. Если процесс допускает замену без повторного согласования, это отдельное утверждённое правило, а не побочный эффект перезаписи файла под тем же названием.
На пятом шаге принятие отражается в кабинете и уведомлении. Ссылка ведёт к разрешённому объекту, а сообщение не раскрывает лишние сведения в теме письма или предпросмотре. Если уведомление не доставлено, сам объект остаётся источником состояния. Для поддержки сохраняется событие отправки и понятный результат, чтобы не путать отсутствие доставки с отсутствием документа.
Учебный разбор заказа с двумя сотрудниками клиента
Предположим, автор запроса загрузил исходные данные, а согласующий должен подтвердить подготовленный результат. Они принадлежат одной организации, но выполняют разные действия. Кабинет показывает автору состояние подготовки и доступный документ. Кнопка подтверждения доступна только согласующему. Проверка выполняется и на сервере, поэтому знание прямого адреса операции не даёт автору права подтвердить результат.
После отправки результата сотрудник исполнителя обнаруживает ошибку и выпускает исправленную версию. Ранее отправленное уведомление может продолжать существовать в почте. При открытии старой ссылки клиент должен увидеть, к какой версии относилось сообщение и какая версия действует сейчас. Если подтверждение требуется заново, интерфейс объясняет причину, а история сохраняет прежнее решение без подмены.
Когда согласующий покидает организацию, доступ отзывается. Незавершённое подтверждение назначается по согласованному порядку, а не остаётся навсегда привязанным к недоступной учётной записи. Этот сценарий часто важнее ещё одного красивого раздела кабинета: без него работа останавливается при обычном кадровом изменении. Пример является моделью требований и не описывает достигнутый результат какого-либо внедрения.
Матрица приёмки: данные, права и состояние
| Сценарий | Действие проверяющего | Ожидаемый результат | Доказательство |
|---|---|---|---|
| Изоляция клиентов | Открыть чужой объект по известному адресу | Доступ отклонён без раскрытия содержания | Ответ системы и отсутствие объекта в выдаче |
| Роль только просмотра | Отправить изменение напрямую | Операция не выполняется | Состояние объекта не изменилось |
| Повторное нажатие | Повторить отправку одной операции | Нет неразличимых повторов | Один принятый результат и понятная история |
| Потеря связи | Прервать загрузку или получение ответа | Можно определить факт сохранения | После входа показано реальное состояние |
| Новая версия результата | Открыть прежнюю ссылку | Видна связь версий и действующее решение | История не переписана задним числом |
| Отзыв доступа | Повторить действие прежним участником | Текущие права применены | Чат, ссылка и операция проверены отдельно |
| Задержка источника | Временно остановить синхронизацию | Состояние не выдаётся за подтверждённо свежее | Видимая информация и маршрут поддержки |
Матрицу проходят на данных с различимыми владельцами и ролями. Демонстрация под одним администратором почти не проверяет корпоративный кабинет. Нужны как минимум разные области владения и запрещённые операции в рамках выбранной модели. Результат подтверждается фактическим состоянием, а не только отсутствием кнопки или показанным уведомлением об успехе.
Как определить понятные внешние статусы
Сопоставьте внутренние состояния с тем, что клиенту действительно нужно знать. Техническая очередь или внутреннее согласование могут объединяться в понятное ожидание с объяснением следующего события. Однако нельзя показывать готовность, пока результат ещё не принят. Для каждого статуса укажите доступные действия клиента и причину ограничения. Проверьте уведомление вместе с открываемой страницей: они должны говорить об одном состоянии. Такой словарь помогает избежать лишних обращений в поддержку и не раскрывает внутренние детали, которые не помогают клиенту принять решение.
Что оставить после приёмки
Передайте владельцу продукта словарь внешних статусов, матрицу полномочий, перечень источников данных и маршрут исключений. Для сопровождения нужны способ найти операцию, безопасная диагностика и процедура изменения доступа. Полезно сохранить проверочные сценарии с ожидаемыми результатами: при новом разделе они помогут не нарушить прежние границы между клиентами.
Развитие кабинета следует за проверенным использованием. Если клиенты не завершают основное действие, добавление ещё десятка разделов редко решает причину. Разберите, где они останавливаются: неясное требование, отсутствие нужной роли, неактуальное состояние или техническая ошибка. Такая работа связывает дизайн и разработку с реальной задачей клиента и делает кабинет частью процесса обслуживания, которую можно измерять и улучшать.
Что подтверждает кейс площадки поставщиков
В проекте Поставки26 сделана площадка, где поставщики самостоятельно размещают товары, а покупатели пользуются общим каталогом. Задача кабинета связана с конкретным действием — передать своё предложение в каталог без входа в административную часть WordPress.
У Поставки26 кабинет решает задачу поставщика: разместить предложение в каталоге. Для нового проекта состав ролей, согласование, версии документов и связь с CRM нужно выбирать по действиям его пользователей.
Документация и источники
Спроектирую кабинет вокруг действия клиента
Опишите повторяющуюся задачу клиента и людей, которые в ней участвуют. Я помогу определить первую функцию кабинета, границы данных, роли и сценарии приёмки. Создание сайтов и веб-сервисов. Написать в Telegram · Написать в MAX
Практика по теме: Поставки26: площадка поставщиков с личными кабинетами.
Короткие ответы
Вопросы по теме
Как ограничить первую версию кабинета?
Выбрать одно полезное законченное действие, например передачу документа с понятным результатом.
Достаточно ли скрыть кнопку чужой организации?
Нет. Проверяют доступ к объекту и через прямой запрос под ограниченной ролью.
Какие статусы показывать клиенту?
Те, по которым он понимает состояние и следующее действие, без лишних внутренних технических этапов.