Files
web-frontend/docs/tz/integrations.md
2026-05-04 09:59:07 +07:00

9.1 KiB
Raw Blame History

8. Требования к интеграции с 1С и внешним интерфейсам

8.1 Общие требования к интеграционному контуру

Интеграционный слой должен обеспечивать обмен данными между личным кабинетом и внешними системами без потери целостности внутренних сущностей и статусов.

Интеграционный контур должен обеспечивать:

  • получение данных из 1С
  • прием событий от 1С
  • передачу во внешние системы данных, необходимых для сопровождения заказов и клиентов, если такой обмен согласован сторонами
  • сопоставление внутренних идентификаторов и идентификаторов внешних систем
  • регистрацию входящих и исходящих операций обмена
  • повторную обработку неуспешных сообщений
  • хранение истории обновлений по интеграционным операциям

8.2 Интеграция с 1С

Интеграция с 1С должна обеспечивать обмен данными, необходимыми для сопровождения каталога, заказов, статусов, остатков и сведений о задолженности клиента.

Система должна обеспечивать получение из 1С следующих данных:

  • каталог товаров
  • характеристики товаров
  • складские остатки
  • сведения о заказах
  • статусы заказов
  • изменения состава, стоимости, доставки и иных существенных параметров заказа
  • текущая задолженность клиента
  • дата актуальности сведений, полученных из 1С

1С рассматривается как первичный источник учетных данных по заказам, складам, статусам, стоимости, доставке и задолженности. Личный кабинет отображает эти сведения и фиксирует дату их актуальности.

8.3 События от 1С

Система должна поддерживать прием webhook-событий от 1С в согласованном формате.

Минимальный состав событий:

  • создание нового заказа
  • изменение информации по заказу
  • изменение статуса заказа
  • изменение сроков, условий или параметров доставки
  • изменение состава заказа
  • изменение сведений о задолженности клиента, если такие данные передаются событийно

Для каждого события должны фиксироваться:

  • тип события
  • внешний идентификатор объекта 1С
  • внутренний идентификатор объекта, если сопоставление выполнено
  • дата и время события
  • источник события
  • статус обработки
  • текст ошибки при неуспешной обработке

Система должна защищаться от повторной обработки дублей webhook-событий.

8.4 Методы получения данных из 1С

Система должна поддерживать получение данных из 1С через согласованные методы.

Минимальный состав методов:

  • получение заказов клиента
  • получение товарного каталога
  • получение характеристик товаров
  • получение доступных остатков по складам
  • получение статусов и изменений по заказам
  • получение текущей задолженности клиента и даты актуальности этих сведений

Точный набор методов, параметры запросов, формат ответов и ограничения по частоте вызовов фиксируются в интеграционной спецификации.

8.5 Требования к структурам обмена

Входные и выходные данные интеграционного слоя должны описываться в структурированном виде и позволять однозначно восстанавливать:

  • тип объекта обмена
  • идентификатор объекта
  • дату и время события
  • полезную нагрузку объекта
  • статус обработки
  • источник изменения

Для обмена должны использоваться структурированные payload-форматы, пригодные для сериализации в JSON.

Точная структура payload, схема подписи запросов и набор обязательных полей согласуются сторонами до начала этапа интеграции с 1С.

8.6 Интеграционные поля и служебные атрибуты

Для сущностей, участвующих в обмене, должны поддерживаться:

  • внешний идентификатор учетной системы
  • дата последней синхронизации
  • источник последнего обновления
  • признак успешной или неуспешной обработки
  • журнал интеграционных ошибок при наличии
  • технический идентификатор последнего обработанного события, если он передается 1С

8.7 Журналирование интеграционных операций

Для ключевых операций обмена система должна сохранять:

  • тип объекта
  • идентификатор объекта
  • предыдущее состояние
  • новое состояние
  • дату и время изменения
  • пользователя либо внешний источник, выполнивший изменение
  • статус обработки сообщения
  • текст ошибки при наличии

8.8 Требования к защите интеграционного обмена

Интеграционные запросы должны выполняться с использованием согласованного механизма авторизации или подписи.

Система должна отклонять интеграционные запросы, если:

  • отсутствуют обязательные параметры авторизации
  • подпись или токен не прошли проверку
  • payload не соответствует согласованной структуре
  • невозможно определить тип события или объект обработки

Секреты, используемые для интеграции с 1С, должны храниться только в Vault и передаваться сервисам через runtime-конфигурацию.

8.9 Критерии приемки интеграции с 1С

Интеграция с 1С считается готовой в согласованном объеме, если:

  • каталог и характеристики товаров получаются и отображаются в личном кабинете
  • остатки по складам отображаются в карточках товаров
  • заказы клиента получаются и отображаются с актуальными статусами
  • изменения заказа из 1С отображаются в карточке заказа
  • текущая задолженность клиента и дата актуальности данных отображаются в предусмотренных интерфейсах
  • webhook-события не обрабатываются повторно при дублях
  • ошибки интеграционного обмена фиксируются в журнале
  • неуспешные сообщения могут быть проанализированы и повторно обработаны в согласованном порядке