168 lines
5.1 KiB
Markdown
168 lines
5.1 KiB
Markdown
# 5. Данные и интеграции
|
||
|
||
## 5.1 Основные сущности данных
|
||
|
||
Система должна оперировать следующими основными сущностями:
|
||
|
||
- пользователь
|
||
- роль
|
||
- контрагент
|
||
- заявка на подключение
|
||
- товар
|
||
- складской остаток
|
||
- корзина
|
||
- заявка на заказ
|
||
- заявка на расчет
|
||
- заказ
|
||
- событие изменения статуса
|
||
- уведомление
|
||
- бонусная связь
|
||
- бонусная транзакция
|
||
- заявка на вывод вознаграждения
|
||
|
||
## 5.2 Обязательные данные по сущностям
|
||
|
||
### Пользователь
|
||
|
||
Обязательные поля:
|
||
|
||
- идентификатор
|
||
- имя
|
||
- email
|
||
- телефон
|
||
- роль
|
||
- статус учетной записи
|
||
- связанный контрагент
|
||
- подключенные каналы уведомлений
|
||
|
||
### Контрагент
|
||
|
||
Обязательные поля:
|
||
|
||
- идентификатор
|
||
- наименование компании
|
||
- ИНН
|
||
- КПП
|
||
- юридический адрес
|
||
- контактные лица
|
||
- закрепленный менеджер
|
||
|
||
### Товар
|
||
|
||
Обязательные поля:
|
||
|
||
- идентификатор
|
||
- SKU
|
||
- наименование
|
||
- тип продукции
|
||
- набор параметров
|
||
- остатки по складам
|
||
- признаки доступности
|
||
|
||
### Заявка на заказ
|
||
|
||
Обязательные поля:
|
||
|
||
- идентификатор
|
||
- инициатор
|
||
- дата создания
|
||
- состав позиций
|
||
- количество
|
||
- комментарий клиента
|
||
- статус
|
||
- закрепленный менеджер
|
||
- стоимость после обработки
|
||
- параметры доставки после обработки
|
||
|
||
### Заявка на расчет
|
||
|
||
Обязательные поля:
|
||
|
||
- идентификатор
|
||
- инициатор
|
||
- дата создания
|
||
- параметры изделия
|
||
- комментарий клиента
|
||
- статус
|
||
- закрепленный менеджер
|
||
- стоимость после обработки
|
||
- параметры доставки после обработки
|
||
|
||
### Заказ
|
||
|
||
Обязательные поля:
|
||
|
||
- внутренний идентификатор
|
||
- внешний идентификатор 1С
|
||
- статус
|
||
- даты изменений
|
||
- состав заказа
|
||
- стоимость
|
||
- доставка
|
||
- связанная клиентская заявка
|
||
|
||
## 5.3 Требования к данным каталога
|
||
|
||
Для каждой позиции в каталоге система должна хранить и отображать:
|
||
|
||
- тип товара
|
||
- параметры выбора
|
||
- описание параметров
|
||
- остатки по складам
|
||
- доступные варианты
|
||
- признаки кастомизации, если они применимы
|
||
|
||
## 5.4 Интеграция с 1С
|
||
|
||
Интеграция с 1С должна обеспечивать обмен данными о заказах и каталоге.
|
||
|
||
### Входящие события
|
||
|
||
Система должна принимать:
|
||
|
||
- событие создания заказа
|
||
- событие изменения заказа
|
||
- событие изменения статуса
|
||
- событие изменения доставки
|
||
- событие изменения состава или иных параметров
|
||
|
||
### Методы получения данных
|
||
|
||
Система должна получать:
|
||
|
||
- список заказов клиентов
|
||
- каталог товаров
|
||
- характеристики товаров
|
||
- остатки по складам
|
||
|
||
## 5.5 Требования к интеграционному обмену
|
||
|
||
Интеграционный слой должен обеспечивать:
|
||
|
||
- сопоставление внутренних идентификаторов и идентификаторов 1С
|
||
- защиту от дублирования событий
|
||
- журналирование входящих событий
|
||
- повторную обработку неуспешных событий
|
||
- сохранение истории обновлений
|
||
|
||
## 5.6 Требования к журналированию
|
||
|
||
Для ключевых операций система должна хранить:
|
||
|
||
- кто инициировал действие
|
||
- когда произошло действие
|
||
- какой объект был изменен
|
||
- какое состояние было до изменения
|
||
- какое состояние стало после изменения
|
||
|
||
## 5.7 Бонусные данные
|
||
|
||
Для бонусного контура система должна хранить:
|
||
|
||
- текущий баланс
|
||
- историю начислений
|
||
- историю списаний
|
||
- реферальные связи
|
||
- заявки на вывод
|
||
- статус обработки заявок на вывод
|