К содержимому

Как интегрировать сайт с 1С и избежать расхождений

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

Самая частая ошибка интеграции — сразу обсуждать API, не договорившись, где находится правильная версия товара, цены, остатка и заказа. Технический обмен может работать без ошибок, но данные всё равно будут расходиться, если обе системы считают себя главными.

Сначала определите владельцев данных

  • Номенклатура и базовые характеристики: чаще всего принадлежат 1С.
  • Маркетинговое описание и медиаконтент: могут редактироваться на сайте или в PIM.
  • Остатки и доступность: обычно рассчитываются в учётном контуре, но сайт может резервировать товар.
  • Цена: зависит от типа клиента, акции, договора и канала продаж.
  • Заказ: создаётся на сайте, а дальнейшие статусы могут приходить из 1С, CRM, склада и доставки.
  • Платёж: подтверждается платёжным провайдером, после чего результат передаётся в остальные системы.

Для каждого объекта нужен единый идентификатор. Название товара, телефон клиента или номер документа не подходят для надёжной связи: они могут изменяться и повторяться.

Выберите подходящий способ обмена

Регламентный обмен

Данные передаются пакетами по расписанию. Подходит для большого каталога и информации, которая не должна обновляться мгновенно. Важно уметь продолжить обмен после ошибки и не отправлять полный массив без необходимости.

API в реальном времени

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

Очередь сообщений

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

Как не создавать дубли

Каждая команда обмена должна быть идемпотентной: повтор одного и того же сообщения не создаёт второй заказ или оплату. Для этого используются внешний идентификатор операции, контроль версии и сохранение результата предыдущего выполнения.

  • не связывайте записи только по названию или телефону;
  • храните идентификаторы обеих систем;
  • разделяйте создание и обновление;
  • фиксируйте время и версию изменения;
  • определите, какая система побеждает при конфликте;
  • проверяйте повторную доставку сообщений на тестовом контуре.

Мониторинг — часть интеграции

Фраза «обмен работает» недостаточна. Команде нужны показатели: сколько сообщений обработано, сколько находится в очереди, когда был последний успешный обмен и какие ошибки требуют участия человека. Критический сбой должен создавать уведомление до того, как его заметит покупатель.

Безопасный план запуска

  1. Зафиксировать карту данных и владельцев.
  2. Собрать реальные примеры товаров, заказов, скидок и возвратов.
  3. Развернуть отдельный тестовый контур.
  4. Проверить полный обмен и сценарии ошибок.
  5. Запустить ограниченную группу товаров или заказов.
  6. Сверить результаты автоматически и вручную.
  7. Только после этого масштабировать поток.

Подробнее о составе проекта: интеграция сайта, CRM и приложений с 1С. Пример продукта с обменом каталога, складов и заказов — Хас Маркет.

Следующий шаг

Есть идея продукта?
Давайте создадим его.

Телефон+7 938 800-99-96
Почтаinfo@djig-it.ru
Ответв течение рабочего дня