# Данные и интеграции ## Основные сущности В текущем ТЗ должны быть формально закреплены следующие сущности: - пользователь - роль - контрагент - клиентская заявка на подключение - товар - остаток по складу - корзина - заявка на заказ - заявка на расчет - заказ - событие статуса заказа - уведомление - бонусная связь - бонусная транзакция - заявка на вывод ## Минимальный состав данных по ключевым сущностям ### Пользователь - идентификатор - имя - email - телефон - роль - статус доступа - связанные мессенджеры - привязанный контрагент ### Товар - SKU - наименование - тип товара - параметры товара - флаги кастомизации - остатки по складам ### Заявка на заказ / расчет - идентификатор - тип заявки - инициатор - состав позиций или параметры изделия - статус - история изменений - стоимость после обработки - параметры доставки - закрепленный менеджер ### Заказ - идентификатор во внутренней системе - внешний идентификатор 1С - статус - даты статусов - состав - стоимость - доставка - связанная заявка ## Интеграции ### Интеграция с 1С На уровне ТЗ фиксируем две группы обменов. #### Входящие события - создание нового заказа - изменение заказа - обновление статуса - обновление параметров доставки - обновление состава и других полей заказа #### Методы получения данных - получение заказов клиента - получение каталога - получение характеристик товаров - получение остатков по складам ## Что нужно зафиксировать отдельно до финальной версии - контракт webhook-событий - идентификаторы и правила синхронизации сущностей - правила дедупликации заказов - политика ретраев и повторной обработки - требования к логированию ошибок интеграции ## Требования к журналированию Для спорных операций система должна хранить: - кто инициировал действие - когда оно произошло - какой объект был изменен - какое было предыдущее значение статуса - какое стало новое значение статуса