Содержание

Интеграция сайта с 1С и CRM избавляет от ручного переноса товаров, остатков, цен, заказов и клиентов между системами. Надёжная интеграция строится на трёх решениях: для каждой сущности определена главная система, обмен идёт через API и очереди, а ошибки видны сразу, а не через неделю, когда клиент пожалуется.

Разберём, какие данные обычно синхронизируют, какие бывают способы обмена и почему интеграции ломаются.

Какие данные синхронизируют между системами?

Обычно синхронизируют товары, цены и остатки из 1С на сайт, заказы с сайта в 1С и CRM, а клиентов и статусы — в обе стороны. Чтобы данные не перезаписывали друг друга, для каждой сущности заранее определяют главную систему — источник правды.

Данные Главная система Направление Частота
Товары и характеристики 1С 1С → сайт Раз в час или при изменении
Цены и остатки 1С 1С → сайт Каждые 5–15 минут
Заказы Сайт Сайт → 1С, CRM Сразу после оформления
Статусы заказов 1С 1С → сайт При изменении
Клиенты и сделки CRM Сайт ↔ CRM Сразу

Какие бывают способы обмена?

Есть три основных способа: обмен файлами по расписанию, прямые вызовы API и обмен через очередь сообщений. Файлы — самое старое и всё ещё распространённое решение для 1С, API — для современных CRM, а очередь делает обмен устойчивым к сбоям любой из сторон.

  • файловый обмен — 1С выгружает XML по расписанию, сайт забирает и загружает; просто, но с задержкой;
  • HTTP-сервисы 1С — сайт обращается к 1С по API в реальном времени; быстро, но 1С должна выдерживать нагрузку;
  • API CRM — у популярных CRM есть документированные API и вебхуки о событиях;
  • очередь — события записываются в очередь, отдельный обработчик доставляет их и повторяет при ошибке.

Как устроены очереди, мы разбирали в статье очереди задач в веб-приложении.

Высокие стеллажи с коробками на складе Фото: Unsplash

Как сделать обмен надёжным?

Обмен становится надёжным, когда сайт не зависит от доступности 1С и CRM в момент действия пользователя. Заказ сначала сохраняется на сайте, а отправка в другие системы идёт в фоне с повторами — так клиент не увидит ошибку, даже если 1С на обслуживании.

Правила надёжной интеграции:

  1. Идемпотентность. Повторная отправка того же заказа не создаёт дубль — у каждого события есть уникальный ключ. Подробнее — в статье идемпотентность платежей и вебхуков.
  2. Повторы с паузой. Если система недоступна, отправка повторяется через увеличивающиеся интервалы.
  3. Сопоставление идентификаторов. Храните соответствие внутренних ID сайта и ID в 1С и CRM.
  4. Частичные обновления. Остатки и цены обновляются отдельно от каталога — это быстрее и безопаснее.
  5. Журнал обмена. Каждое сообщение и ответ сохраняются, чтобы разбирать спорные случаи.

Почему интеграции ломаются?

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

Частые причины:

  • доработку 1С выкатили без проверки обмена;
  • разные справочники: единицы измерения, склады, статусы называются по-разному;
  • нет обработки ошибок — неудачная отправка просто теряется;
  • обмен запускается вручную и зависит от одного сотрудника;
  • полная выгрузка каталога каждый раз вместо изменений — обмен идёт часами.

Как контролировать работу интеграции?

Работу интеграции контролируют дашбордом и оповещениями: сколько событий в очереди, сколько ошибок, когда была последняя успешная синхронизация. Если остатки не обновлялись дольше часа или заказ не дошёл до 1С за 15 минут — ответственный получает уведомление.

  • оповещение об ошибках обмена в рабочий мессенджер;
  • отчёт о заказах, которые не дошли до 1С или CRM;
  • кнопка повторной отправки для менеджера без участия разработчика;
  • тестовая среда 1С для проверки изменений до выкатки.

Подробнее о мониторинге — в статье мониторинг и логирование, а об экономике автоматизации — в материале окупаемость автоматизации бизнес-процесса.

Коротко

  • Для каждой сущности заранее выберите главную систему — источник правды.
  • Обмен строят через файлы, API и очереди; очередь делает его устойчивым к сбоям.
  • Сайт не должен зависеть от доступности 1С в момент действия пользователя.
  • Идемпотентность, повторы и журнал обмена защищают от дублей и потерь.
  • Мониторинг очереди и последней синхронизации показывает сбои сразу.

Частые вопросы

  • Сколько времени занимает интеграция с 1С?

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

  • Можно ли обойтись готовым модулем обмена?

    Для типовых конфигураций и стандартных CMS — да, готовые модули закрывают базовый обмен. Если у вас нестандартные цены, скидки, склады или доработанная 1С, модуль придётся дорабатывать или писать интеграцию с нуля.

  • Что делать, если 1С недоступна?

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