# 6. Требования к интеграциям ## 6.1 Общие требования к интеграционному контуру Интеграционный слой должен обеспечивать обмен данными между личным кабинетом и внешними системами без потери целостности внутренних сущностей и статусов. Интеграционный контур должен обеспечивать: - получение данных из 1С - передачу во внешние системы данных, необходимых для сопровождения заказов и клиентов - сопоставление внутренних идентификаторов и идентификаторов внешних систем - регистрацию входящих и исходящих операций обмена - повторную обработку неуспешных сообщений - хранение истории обновлений по интеграционным операциям ## 6.2 Интеграция с 1С Интеграция с 1С должна обеспечивать обмен данными, необходимыми для сопровождения каталога и заказов. Система должна обеспечивать получение из 1С следующих данных: - каталог товаров - характеристики товаров - складские остатки - сведения о заказах - статусы заказов - изменения состава, стоимости, доставки и иных существенных параметров заказа ## 6.3 Требования к структурам обмена Входные и выходные данные интеграционного слоя должны описываться в структурированном виде и позволять однозначно восстанавливать: - тип объекта обмена - идентификатор объекта - дату и время события - полезную нагрузку объекта - статус обработки - источник изменения Для обмена должны использоваться структурированные payload-форматы, пригодные для сериализации в `JSON`. ## 6.4 Интеграционные поля и служебные атрибуты Для сущностей, участвующих в обмене, должны поддерживаться: - внешний идентификатор учетной системы - дата последней синхронизации - источник последнего обновления - признак успешной или неуспешной обработки - журнал интеграционных ошибок при наличии ## 6.5 Журналирование интеграционных операций Для ключевых операций обмена система должна сохранять: - тип объекта - идентификатор объекта - предыдущее состояние - новое состояние - дату и время изменения - пользователя либо внешний источник, выполнивший изменение - статус обработки сообщения - текст ошибки при наличии