Clarify invite-only client onboarding
This commit is contained in:
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 7.4 KiB |
@@ -444,13 +444,15 @@ const pages = {
|
|||||||
titleBlock('1С'),
|
titleBlock('1С'),
|
||||||
text(72, 168, 'Статус загрузки файлов обмена', { size: 16, weight: 500, fill: C.mid }),
|
text(72, 168, 'Статус загрузки файлов обмена', { size: 16, weight: 500, fill: C.mid }),
|
||||||
cardGrid(72, 230, [
|
cardGrid(72, 230, [
|
||||||
|
['counterparties_snapshot', 'Контрагенты'],
|
||||||
['catalog_snapshot', 'Каталог и остатки'],
|
['catalog_snapshot', 'Каталог и остатки'],
|
||||||
['balances_snapshot', 'Задолженность клиентов'],
|
['balances_snapshot', 'Задолженность клиентов'],
|
||||||
['orders_snapshot', 'Заказы клиентов'],
|
['orders_snapshot', 'Заказы клиентов'],
|
||||||
], 3),
|
], 4),
|
||||||
rect(72, 450, 1296, 250, { rx: 28 }),
|
rect(72, 450, 1296, 250, { rx: 28 }),
|
||||||
text(104, 494, 'Последние загрузки', { size: 24, weight: 800 }),
|
text(104, 494, 'Последние загрузки', { size: 24, weight: 800 }),
|
||||||
orderRows(104, 530, 1232, [
|
orderRows(104, 530, 1232, [
|
||||||
|
['Контрагенты', 'Загружены реквизиты и признаки доступа', 'Работает'],
|
||||||
['Каталог и остатки', 'Загружено 2 418 записей · последний run сегодня', 'Работает'],
|
['Каталог и остатки', 'Загружено 2 418 записей · последний run сегодня', 'Работает'],
|
||||||
['Задолженность клиентов', 'Баланс по клиентам с личным кабинетом', 'Работает'],
|
['Задолженность клиентов', 'Баланс по клиентам с личным кабинетом', 'Работает'],
|
||||||
['Заказы клиентов', 'Статусы заказов за рабочий период', 'Работает'],
|
['Заказы клиентов', 'Статусы заказов за рабочий период', 'Работает'],
|
||||||
|
|||||||
@@ -138,23 +138,22 @@
|
|||||||
= Функциональные требования
|
= Функциональные требования
|
||||||
|
|
||||||
|
|
||||||
== Требования к регистрации и подключению клиентов
|
== Требования к подключению клиентов
|
||||||
|
|
||||||
|
|
||||||
Система должна поддерживать два базовых сценария подключения клиента:
|
Система должна поддерживать подключение клиента только по инициативе менеджера:
|
||||||
|
|
||||||
- регистрация по персональному приглашению
|
- менеджер создает или выбирает карточку клиента и привязывает ее к контрагенту
|
||||||
- самостоятельная заявка на подключение
|
- менеджер направляет клиенту персональное приглашение на электронную почту
|
||||||
|
- клиент завершает подключение по персональной ссылке из письма
|
||||||
|
|
||||||
Функциональные требования:
|
Функциональные требования:
|
||||||
|
|
||||||
+ Менеджер должен иметь возможность направить клиенту приглашение на регистрацию по электронной почте.
|
+ Менеджер должен иметь возможность направить клиенту приглашение на подключение по электронной почте.
|
||||||
+ Клиент должен иметь возможность завершить регистрацию по персональной ссылке.
|
+ Менеджер должен иметь возможность связать приглашение с контрагентом, полученным из 1С либо заведенным для клиентской работы.
|
||||||
+ Клиент должен иметь возможность подать заявку на подключение через публичную форму.
|
+ Клиент должен иметь возможность завершить подключение по персональной ссылке.
|
||||||
+ Самостоятельная заявка должна поступать в менеджерский контур на рассмотрение.
|
+ После завершения подключения клиент должен получить доступ к личному кабинету.
|
||||||
+ Менеджер должен иметь возможность подтвердить либо отклонить заявку на подключение.
|
+ Публичная страница входа не должна содержать самостоятельную регистрацию или самостоятельную заявку на подключение.
|
||||||
+ При подтверждении заявки система должна предоставить клиенту возможность завершить регистрацию.
|
|
||||||
+ После завершения регистрации клиент должен получить доступ к личному кабинету.
|
|
||||||
+ Система должна поддерживать подключение доступных каналов уведомлений для клиентской учетной записи.
|
+ Система должна поддерживать подключение доступных каналов уведомлений для клиентской учетной записи.
|
||||||
|
|
||||||
== Требования к каталогу готовой продукции
|
== Требования к каталогу готовой продукции
|
||||||
@@ -296,8 +295,7 @@
|
|||||||
|
|
||||||
Система должна поддерживать уведомления по следующим событиям:
|
Система должна поддерживать уведомления по следующим событиям:
|
||||||
|
|
||||||
- приглашение к регистрации
|
- приглашение к подключению
|
||||||
- подтверждение либо отклонение заявки на подключение
|
|
||||||
- публикация условий по заявке
|
- публикация условий по заявке
|
||||||
- изменение статуса заказа
|
- изменение статуса заказа
|
||||||
- изменение бонусного баланса
|
- изменение бонусного баланса
|
||||||
@@ -350,8 +348,7 @@
|
|||||||
|
|
||||||
Клиенту должны быть доступны следующие действия:
|
Клиенту должны быть доступны следующие действия:
|
||||||
|
|
||||||
- завершение регистрации по персональному приглашению
|
- завершение подключения по персональному приглашению
|
||||||
- подача заявки на подключение
|
|
||||||
- просмотр и изменение разрешенных профильных данных
|
- просмотр и изменение разрешенных профильных данных
|
||||||
- подключение доступных каналов уведомлений
|
- подключение доступных каналов уведомлений
|
||||||
- просмотр каталога готовой продукции
|
- просмотр каталога готовой продукции
|
||||||
@@ -372,9 +369,9 @@
|
|||||||
|
|
||||||
Менеджеру должны быть доступны следующие действия:
|
Менеджеру должны быть доступны следующие действия:
|
||||||
|
|
||||||
- рассмотрение заявок на подключение клиентов
|
- создание или выбор клиентской карточки
|
||||||
- подтверждение либо отклонение заявок на подключение
|
|
||||||
- привязка клиента к контрагенту и назначение ответственного сопровождения
|
- привязка клиента к контрагенту и назначение ответственного сопровождения
|
||||||
|
- отправка персонального приглашения клиенту
|
||||||
- просмотр и обработка заявок на заказ
|
- просмотр и обработка заявок на заказ
|
||||||
- просмотр и обработка заявок на расчет
|
- просмотр и обработка заявок на расчет
|
||||||
- указание стоимости, условий поставки и сопроводительного комментария
|
- указание стоимости, условий поставки и сопроводительного комментария
|
||||||
@@ -411,14 +408,14 @@
|
|||||||
[*Клиент*],
|
[*Клиент*],
|
||||||
[*Менеджер*],
|
[*Менеджер*],
|
||||||
[*Суперменеджер*],
|
[*Суперменеджер*],
|
||||||
[Завершение регистрации],
|
[Завершение подключения],
|
||||||
[Да],
|
[Да],
|
||||||
[Нет],
|
[Нет],
|
||||||
[Нет],
|
[Нет],
|
||||||
[Подача заявки на подключение],
|
[Отправка приглашения клиенту],
|
||||||
|
[Нет],
|
||||||
|
[Да],
|
||||||
[Да],
|
[Да],
|
||||||
[Нет],
|
|
||||||
[Нет],
|
|
||||||
[Просмотр каталога],
|
[Просмотр каталога],
|
||||||
[Да],
|
[Да],
|
||||||
[Да],
|
[Да],
|
||||||
@@ -528,12 +525,9 @@
|
|||||||
[CounterpartyProfile],
|
[CounterpartyProfile],
|
||||||
[Профиль контрагента],
|
[Профиль контрагента],
|
||||||
[Юридические и банковские реквизиты клиента],
|
[Юридические и банковские реквизиты клиента],
|
||||||
[RegistrationRequest],
|
|
||||||
[Заявка на подключение],
|
|
||||||
[Самостоятельная заявка клиента на подключение],
|
|
||||||
[Invitation],
|
[Invitation],
|
||||||
[Приглашение],
|
[Приглашение],
|
||||||
[Менеджерское приглашение на регистрацию],
|
[Менеджерское приглашение на подключение],
|
||||||
[MessengerConnection],
|
[MessengerConnection],
|
||||||
[Подключение мессенджера],
|
[Подключение мессенджера],
|
||||||
[Связка пользователя с Telegram или MAX],
|
[Связка пользователя с Telegram или MAX],
|
||||||
@@ -694,29 +688,6 @@
|
|||||||
- createdAt
|
- createdAt
|
||||||
- updatedAt
|
- updatedAt
|
||||||
|
|
||||||
=== RegistrationRequest
|
|
||||||
|
|
||||||
|
|
||||||
Русское наименование: Заявка на подключение
|
|
||||||
|
|
||||||
Назначение:
|
|
||||||
|
|
||||||
- хранение самостоятельной заявки клиента на подключение
|
|
||||||
|
|
||||||
Основные поля:
|
|
||||||
|
|
||||||
- id
|
|
||||||
- companyName
|
|
||||||
- inn
|
|
||||||
- contactName
|
|
||||||
- email
|
|
||||||
- status
|
|
||||||
- rejectionReason
|
|
||||||
- requesterId
|
|
||||||
- reviewedById
|
|
||||||
- createdAt
|
|
||||||
- updatedAt
|
|
||||||
|
|
||||||
=== Invitation
|
=== Invitation
|
||||||
|
|
||||||
|
|
||||||
@@ -724,7 +695,7 @@
|
|||||||
|
|
||||||
Назначение:
|
Назначение:
|
||||||
|
|
||||||
- хранение менеджерского приглашения клиента на регистрацию
|
- хранение менеджерского приглашения клиента на подключение к личному кабинету
|
||||||
|
|
||||||
Основные поля:
|
Основные поля:
|
||||||
|
|
||||||
@@ -1116,7 +1087,7 @@
|
|||||||
[Приглашение клиента],
|
[Приглашение клиента],
|
||||||
[/clients/invite],
|
[/clients/invite],
|
||||||
[менеджер],
|
[менеджер],
|
||||||
[выдача приглашения на регистрацию],
|
[выдача приглашения на подключение],
|
||||||
[Список заказов],
|
[Список заказов],
|
||||||
[/orders],
|
[/orders],
|
||||||
[менеджер],
|
[менеджер],
|
||||||
@@ -1243,7 +1214,7 @@
|
|||||||
[Детали клиента, его заказы и бонусные данные],
|
[Детали клиента, его заказы и бонусные данные],
|
||||||
[/clients/invite],
|
[/clients/invite],
|
||||||
[Пригласить клиента],
|
[Пригласить клиента],
|
||||||
[Создание приглашения на регистрацию],
|
[Создание приглашения на подключение],
|
||||||
[/orders],
|
[/orders],
|
||||||
[Список заказов],
|
[Список заказов],
|
||||||
[Очередь заказов и заявок для менеджера],
|
[Очередь заказов и заявок для менеджера],
|
||||||
@@ -1477,12 +1448,13 @@ Wireframe-прототип:
|
|||||||
- история статусов
|
- история статусов
|
||||||
- системные комментарии
|
- системные комментарии
|
||||||
|
|
||||||
=== Страница логина и регистрации
|
=== Страница входа и завершения приглашения
|
||||||
|
|
||||||
|
|
||||||
Назначение страницы:
|
Назначение страницы:
|
||||||
|
|
||||||
- запуск входа в систему
|
- запуск входа в систему
|
||||||
|
- завершение подключения по персональной ссылке из приглашения
|
||||||
- запуск сценариев входа через мессенджеры
|
- запуск сценариев входа через мессенджеры
|
||||||
|
|
||||||
Состав страницы:
|
Состав страницы:
|
||||||
@@ -1743,6 +1715,7 @@ Wireframe-прототип:
|
|||||||
|
|
||||||
Система должна обеспечивать получение из 1С следующих данных:
|
Система должна обеспечивать получение из 1С следующих данных:
|
||||||
|
|
||||||
|
- сведения о контрагентах
|
||||||
- каталог товаров
|
- каталог товаров
|
||||||
- характеристики товаров
|
- характеристики товаров
|
||||||
- складские остатки
|
- складские остатки
|
||||||
@@ -1752,12 +1725,12 @@ Wireframe-прототип:
|
|||||||
- текущая задолженность клиента
|
- текущая задолженность клиента
|
||||||
- дата актуальности сведений, полученных из 1С
|
- дата актуальности сведений, полученных из 1С
|
||||||
|
|
||||||
1С рассматривается как первичный источник учетных данных по заказам, складам, статусам, стоимости, доставке и задолженности. Личный кабинет отображает эти сведения и фиксирует дату их актуальности.
|
1С рассматривается как первичный источник учетных данных по контрагентам, заказам, складам, статусам, стоимости, доставке и задолженности. Личный кабинет отображает эти сведения, связывает их с созданными менеджером кабинетами клиентов и фиксирует дату их актуальности.
|
||||||
|
|
||||||
== Основной способ обмена с 1С
|
== Основной способ обмена с 1С
|
||||||
|
|
||||||
|
|
||||||
Основным способом интеграции является файловый обмен по согласованным структурам. Личный кабинет формирует список контрагентов, по которым требуется синхронизация, а 1С на основании этого списка формирует ответные выгрузки только по таким контрагентам и только в согласованном объеме.
|
Основным способом интеграции является файловый обмен по согласованным структурам. 1С формирует регламентные snapshot-выгрузки с согласованным составом учетных данных, а личный кабинет принимает эти выгрузки, обновляет локальное представление данных и показывает клиентам только сведения, доступные их контрагенту.
|
||||||
|
|
||||||
В качестве базового формата обмена используется JSON. Если на стороне 1С по техническим причинам удобнее использовать XML или CSV, стороны могут согласовать эквивалентную структуру без изменения состава передаваемых данных.
|
В качестве базового формата обмена используется JSON. Если на стороне 1С по техническим причинам удобнее использовать XML или CSV, стороны могут согласовать эквивалентную структуру без изменения состава передаваемых данных.
|
||||||
|
|
||||||
@@ -1769,23 +1742,24 @@ Wireframe-прототип:
|
|||||||
|
|
||||||
Базовая логика обмена:
|
Базовая логика обмена:
|
||||||
|
|
||||||
+ Личный кабинет передает в 1С список контрагентов, у которых есть личный кабинет либо которые заведены в системе для клиентской работы.
|
+ 1С формирует выгрузку контрагентов, балансов, заказов, статусов, каталога и остатков в согласованном объеме.
|
||||||
+ 1С формирует выгрузки только по указанным контрагентам.
|
+ Личный кабинет принимает snapshot, сопоставляет данные по внешним идентификаторам 1С, ИНН и иным согласованным ключам.
|
||||||
|
+ Менеджер при создании доступа выбирает или связывает кабинет клиента с контрагентом, полученным из 1С.
|
||||||
+ Каталог и остатки передаются как актуальный общий snapshot.
|
+ Каталог и остатки передаются как актуальный общий snapshot.
|
||||||
+ Балансы и задолженность передаются как состояние по контрагентам на дату формирования выгрузки.
|
+ Балансы и задолженность передаются как состояние по контрагентам на дату формирования выгрузки.
|
||||||
+ Заказы и статусы передаются по указанным контрагентам за согласованный период, по умолчанию за последние 60 календарных дней.
|
+ Заказы и статусы передаются по контрагентам за согласованный период, по умолчанию за последние 60 календарных дней, а также по активным заказам вне этого периода при необходимости отображения клиенту.
|
||||||
|
|
||||||
== Состав файлов обмена
|
== Состав файлов обмена
|
||||||
|
|
||||||
|
|
||||||
Минимальный состав файлов обмена:
|
Минимальный состав файлов обмена:
|
||||||
|
|
||||||
- `cabinet_counterparties` — список контрагентов из личного кабинета, по которым требуется синхронизация
|
- `counterparties_snapshot` — контрагенты, реквизиты и признаки доступности для клиентского кабинета
|
||||||
- `balance_snapshot` — баланс, задолженность и дата актуальности по контрагентам из списка
|
- `balance_snapshot` — баланс, задолженность и дата актуальности по контрагентам
|
||||||
- `catalog_snapshot` — актуальная продукция, характеристики и складские остатки
|
- `catalog_snapshot` — актуальная продукция, характеристики и складские остатки
|
||||||
- `orders_snapshot` — заказы, статусы, состав, стоимость, доставка и существенные изменения по заказам за согласованный период
|
- `orders_snapshot` — заказы, статусы, состав, стоимость, доставка и существенные изменения по заказам за согласованный период
|
||||||
|
|
||||||
Файл `cabinet_counterparties` передается из личного кабинета в 1С. Файлы `balance_snapshot`, `catalog_snapshot` и `orders_snapshot` передаются из 1С в личный кабинет.
|
Файлы `counterparties_snapshot`, `balance_snapshot`, `catalog_snapshot` и `orders_snapshot` передаются из 1С в личный кабинет. Обратная передача файлов из личного кабинета в 1С выполняется только для согласованных клиентских заявок или иных событий, если такой контур отдельно согласован сторонами.
|
||||||
|
|
||||||
Состав файлов может быть расширен по согласованию сторон, если в ходе интеграции появится отдельный тип данных, который нецелесообразно включать в существующие файлы обмена.
|
Состав файлов может быть расширен по согласованию сторон, если в ходе интеграции появится отдельный тип данных, который нецелесообразно включать в существующие файлы обмена.
|
||||||
|
|
||||||
@@ -1808,22 +1782,24 @@ Wireframe-прототип:
|
|||||||
|
|
||||||
Для заказов регулярная синхронизация ограничивается согласованным периодом. По умолчанию передаются заказы за последние 60 календарных дней, а также активные заказы, если они не попадают в этот период, но должны отображаться клиенту.
|
Для заказов регулярная синхронизация ограничивается согласованным периодом. По умолчанию передаются заказы за последние 60 календарных дней, а также активные заказы, если они не попадают в этот период, но должны отображаться клиенту.
|
||||||
|
|
||||||
== Пример cabinet_counterparties
|
== Пример counterparties_snapshot
|
||||||
|
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"document_type": "cabinet_counterparties",
|
"document_type": "counterparties_snapshot",
|
||||||
"schema_version": "1.0",
|
"schema_version": "1.0",
|
||||||
"snapshot_id": "cabinet-counterparties-2026-05-04T10:00:00",
|
"snapshot_id": "1c-counterparties-2026-05-04T10:00:00",
|
||||||
"generated_at": "2026-05-04T10:00:00+03:00",
|
"generated_at": "2026-05-04T10:00:00+03:00",
|
||||||
"source": "cabinet",
|
"source": "1c",
|
||||||
"counterparties": [
|
"counterparties": [
|
||||||
{
|
{
|
||||||
"counterparty_external_id": "1c-counterparty-77",
|
"counterparty_external_id": "1c-counterparty-77",
|
||||||
"inn": "7700000000",
|
"inn": "7700000000",
|
||||||
"name": "ООО Клиент",
|
"name": "ООО Клиент",
|
||||||
"cabinet_enabled": true
|
"kpp": "770001001",
|
||||||
|
"cabinet_allowed": true,
|
||||||
|
"manager_external_id": "1c-manager-12"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1952,6 +1928,7 @@ Wireframe-прототип:
|
|||||||
|
|
||||||
Интеграция с 1С считается готовой в согласованном объеме, если:
|
Интеграция с 1С считается готовой в согласованном объеме, если:
|
||||||
|
|
||||||
|
- контрагенты из 1С принимаются и доступны менеджеру для привязки клиентского кабинета
|
||||||
- каталог и характеристики товаров получаются и отображаются в личном кабинете
|
- каталог и характеристики товаров получаются и отображаются в личном кабинете
|
||||||
- остатки по складам отображаются в карточках товаров
|
- остатки по складам отображаются в карточках товаров
|
||||||
- заказы клиента получаются и отображаются с актуальными статусами
|
- заказы клиента получаются и отображаются с актуальными статусами
|
||||||
@@ -2535,7 +2512,7 @@ Wireframe-прототип:
|
|||||||
|
|
||||||
Пользовательская документация должна описывать:
|
Пользовательская документация должна описывать:
|
||||||
|
|
||||||
- вход в личный кабинет и завершение регистрации
|
- вход в личный кабинет и завершение подключения по приглашению
|
||||||
- работу с профилем и каналами уведомлений
|
- работу с профилем и каналами уведомлений
|
||||||
- просмотр каталога готовой продукции
|
- просмотр каталога готовой продукции
|
||||||
- добавление товаров в корзину и отправку заявки
|
- добавление товаров в корзину и отправку заявки
|
||||||
@@ -2622,7 +2599,7 @@ Wireframe-прототип:
|
|||||||
|
|
||||||
В состав этапа входят:
|
В состав этапа входят:
|
||||||
|
|
||||||
- регистрация и подключение клиентов
|
- подключение клиентов по приглашению менеджера
|
||||||
- роли и разграничение доступа
|
- роли и разграничение доступа
|
||||||
- каталог готовой продукции
|
- каталог готовой продукции
|
||||||
- корзина и заявки на заказ
|
- корзина и заявки на заказ
|
||||||
|
|||||||
Reference in New Issue
Block a user