Expand technical specification content
This commit is contained in:
@@ -1,105 +1,167 @@
|
||||
# Данные и интеграции
|
||||
# 5. Данные и интеграции
|
||||
|
||||
## Основные сущности
|
||||
## 5.1 Основные сущности данных
|
||||
|
||||
В текущем ТЗ должны быть формально закреплены следующие сущности:
|
||||
Система должна оперировать следующими основными сущностями:
|
||||
|
||||
- пользователь
|
||||
- роль
|
||||
- контрагент
|
||||
- клиентская заявка на подключение
|
||||
- заявка на подключение
|
||||
- товар
|
||||
- остаток по складу
|
||||
- складской остаток
|
||||
- корзина
|
||||
- заявка на заказ
|
||||
- заявка на расчет
|
||||
- заказ
|
||||
- событие статуса заказа
|
||||
- событие изменения статуса
|
||||
- уведомление
|
||||
- бонусная связь
|
||||
- бонусная транзакция
|
||||
- заявка на вывод
|
||||
- заявка на вывод вознаграждения
|
||||
|
||||
## Минимальный состав данных по ключевым сущностям
|
||||
## 5.2 Обязательные данные по сущностям
|
||||
|
||||
### Пользователь
|
||||
|
||||
Обязательные поля:
|
||||
|
||||
- идентификатор
|
||||
- имя
|
||||
- email
|
||||
- телефон
|
||||
- роль
|
||||
- статус доступа
|
||||
- связанные мессенджеры
|
||||
- привязанный контрагент
|
||||
- статус учетной записи
|
||||
- связанный контрагент
|
||||
- подключенные каналы уведомлений
|
||||
|
||||
### Контрагент
|
||||
|
||||
Обязательные поля:
|
||||
|
||||
- идентификатор
|
||||
- наименование компании
|
||||
- ИНН
|
||||
- КПП
|
||||
- юридический адрес
|
||||
- контактные лица
|
||||
- закрепленный менеджер
|
||||
|
||||
### Товар
|
||||
|
||||
- SKU
|
||||
- наименование
|
||||
- тип товара
|
||||
- параметры товара
|
||||
- флаги кастомизации
|
||||
- остатки по складам
|
||||
|
||||
### Заявка на заказ / расчет
|
||||
Обязательные поля:
|
||||
|
||||
- идентификатор
|
||||
- SKU
|
||||
- наименование
|
||||
- тип продукции
|
||||
- набор параметров
|
||||
- остатки по складам
|
||||
- признаки доступности
|
||||
|
||||
### Заявка на заказ
|
||||
|
||||
Обязательные поля:
|
||||
|
||||
- идентификатор
|
||||
- тип заявки
|
||||
- инициатор
|
||||
- состав позиций или параметры изделия
|
||||
- дата создания
|
||||
- состав позиций
|
||||
- количество
|
||||
- комментарий клиента
|
||||
- статус
|
||||
- история изменений
|
||||
- стоимость после обработки
|
||||
- параметры доставки
|
||||
- закрепленный менеджер
|
||||
- стоимость после обработки
|
||||
- параметры доставки после обработки
|
||||
|
||||
### Заявка на расчет
|
||||
|
||||
Обязательные поля:
|
||||
|
||||
- идентификатор
|
||||
- инициатор
|
||||
- дата создания
|
||||
- параметры изделия
|
||||
- комментарий клиента
|
||||
- статус
|
||||
- закрепленный менеджер
|
||||
- стоимость после обработки
|
||||
- параметры доставки после обработки
|
||||
|
||||
### Заказ
|
||||
|
||||
- идентификатор во внутренней системе
|
||||
Обязательные поля:
|
||||
|
||||
- внутренний идентификатор
|
||||
- внешний идентификатор 1С
|
||||
- статус
|
||||
- даты статусов
|
||||
- состав
|
||||
- даты изменений
|
||||
- состав заказа
|
||||
- стоимость
|
||||
- доставка
|
||||
- связанная заявка
|
||||
- связанная клиентская заявка
|
||||
|
||||
## Интеграции
|
||||
## 5.3 Требования к данным каталога
|
||||
|
||||
### Интеграция с 1С
|
||||
Для каждой позиции в каталоге система должна хранить и отображать:
|
||||
|
||||
На уровне ТЗ фиксируем две группы обменов.
|
||||
- тип товара
|
||||
- параметры выбора
|
||||
- описание параметров
|
||||
- остатки по складам
|
||||
- доступные варианты
|
||||
- признаки кастомизации, если они применимы
|
||||
|
||||
#### Входящие события
|
||||
## 5.4 Интеграция с 1С
|
||||
|
||||
- создание нового заказа
|
||||
- изменение заказа
|
||||
- обновление статуса
|
||||
- обновление параметров доставки
|
||||
- обновление состава и других полей заказа
|
||||
Интеграция с 1С должна обеспечивать обмен данными о заказах и каталоге.
|
||||
|
||||
#### Методы получения данных
|
||||
### Входящие события
|
||||
|
||||
- получение заказов клиента
|
||||
- получение каталога
|
||||
- получение характеристик товаров
|
||||
- получение остатков по складам
|
||||
Система должна принимать:
|
||||
|
||||
## Что нужно зафиксировать отдельно до финальной версии
|
||||
- событие создания заказа
|
||||
- событие изменения заказа
|
||||
- событие изменения статуса
|
||||
- событие изменения доставки
|
||||
- событие изменения состава или иных параметров
|
||||
|
||||
- контракт webhook-событий
|
||||
- идентификаторы и правила синхронизации сущностей
|
||||
- правила дедупликации заказов
|
||||
- политика ретраев и повторной обработки
|
||||
- требования к логированию ошибок интеграции
|
||||
### Методы получения данных
|
||||
|
||||
## Требования к журналированию
|
||||
Система должна получать:
|
||||
|
||||
Для спорных операций система должна хранить:
|
||||
- список заказов клиентов
|
||||
- каталог товаров
|
||||
- характеристики товаров
|
||||
- остатки по складам
|
||||
|
||||
## 5.5 Требования к интеграционному обмену
|
||||
|
||||
Интеграционный слой должен обеспечивать:
|
||||
|
||||
- сопоставление внутренних идентификаторов и идентификаторов 1С
|
||||
- защиту от дублирования событий
|
||||
- журналирование входящих событий
|
||||
- повторную обработку неуспешных событий
|
||||
- сохранение истории обновлений
|
||||
|
||||
## 5.6 Требования к журналированию
|
||||
|
||||
Для ключевых операций система должна хранить:
|
||||
|
||||
- кто инициировал действие
|
||||
- когда оно произошло
|
||||
- когда произошло действие
|
||||
- какой объект был изменен
|
||||
- какое было предыдущее значение статуса
|
||||
- какое стало новое значение статуса
|
||||
- какое состояние было до изменения
|
||||
- какое состояние стало после изменения
|
||||
|
||||
## 5.7 Бонусные данные
|
||||
|
||||
Для бонусного контура система должна хранить:
|
||||
|
||||
- текущий баланс
|
||||
- историю начислений
|
||||
- историю списаний
|
||||
- реферальные связи
|
||||
- заявки на вывод
|
||||
- статус обработки заявок на вывод
|
||||
|
||||
Reference in New Issue
Block a user