Exabit Logo

Интеграция информационных систем без хаоса: как связать 1С, CRM, ERP и API и не утонуть в обменах

27 мая 2025 · 4 мин чтения ·
Интеграция информационных систем без хаоса: как связать 1С, CRM, ERP и API и не утонуть в обменах
  • «У нас интеграция уже есть: сайт передает заказы в CRM, CRM - в 1С, остатки тоже обновляются».
  • «Тогда почему менеджеры каждый день сверяют статусы вручную?»
  • «Потому что после обновления 1С опять непонятно, где правильные данные».

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

Сначала решают не транспорт, а право на правду

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

На проекте для интернет-магазина связка была такой: сайт, amoCRM, 1С и служба доставки. Адрес меняли в CRM, состав заказа - в 1С, статус доставки жил отдельно. В ручную сверку улетало 15-20% заказов в день.

Мы сделали скучную, но полезную вещь. Заказ создается на сайте, коммерческий статус живет в CRM, документы и учет - в 1С. Через 4 недели конфликты по статусам упали примерно на 70%.

Первым ломается не API. Первой ломается модель данных, если две системы считают себя главными по одной записи.

Прямые связи работают, пока их можно держать в голове

Для 2-3 систем прямая интеграция часто разумна. Запуск быстрый, поддержка терпимая, бизнес понимает, где что происходит. Но у 6 систем уже 15 связей по формуле n(n-1)/2, и логика начинает жить кусками в каждой паре.

У нас был неудачный кейс в прошлом году. CRM, сайт, 1С, WMS и маркетплейсы связали прямыми webhooks и REST-вызовами, потому что хотели сэкономить 2-3 недели на старте. Сэкономили. Потом обновили CRM, и команда почти неделю искала, где расходятся статусы оплат и резервы. Я и сам когда-то принимал такие решения: на бумаге все выглядит быстрее, а в эксплуатации счет приходит позже.

Подход Запуск Поддержка Рост
Прямой API быстро дорожает слабый
Промежуточный сервис средне предсказуемо хороший
Очереди не самый быстрый старт надежно высокий
iPaaS быстро для типовых задач зависит от тарифа средний

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

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

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

На проекте в оптовой торговле клиент хотел real-time для всего. Мы разобрали процесс и увидели, что мгновенно нужен только подтвержденный заказ. Остатки можно обновлять раз в 5-10 минут, цены - по событию или по расписанию, оплаты - сразу после проведения документа.

Схему собрали так: Laravel 11, PostgreSQL 16, коннектор к 1С по HTTP-сервисам, RabbitMQ для событий. Нагрузка на 1С просела, обмен стал предсказуемым, бюджет вышел ниже примерно на 28%, чем в варианте с синхронными вызовами везде.

Нужен ли real-time везде? Почти никогда. Если задержка в 5 минут не влияет на продажу или отгрузку, лучше брать расписание или очередь. Для бизнеса важнее понятный срок доставки данных, чем красивая надпись «онлайн».

Архитектуру выбирают по типу события

Системно это выглядит так: один и тот же контур почти всегда требует разных режимов обмена. Проверить цену здесь и сейчас - это API. Гарантированно довезти событие «заказ создан» - это очередь. Отправить данные в BI раз в час - это пакетный обмен.

Сайт -> API -> Order Service
Order Service -> RabbitMQ -> 1С Connector
Order Service -> CRM Connector
Export Service -> batch every 1h -> BI

Для среднего e-commerce этого обычно хватает с запасом. Без тяжелой шины, без лишней церемонии, с понятной точкой контроля.

Что смотреть перед стартом?

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

Запускать надо с потока, который уже ест деньги

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

На одном проекте менеджеры переносили около 100 заказов в день из CRM в учетную систему. Это давало 8-12 часов ручной работы ежедневно.

До

  • копирование реквизитов руками
  • ошибки в статусах и суммах
  • потеря времени на сверки

После MVP за 6 недель

  • лид -> заказ -> счет -> отгрузка без ручного ввода
  • мониторинг через Prometheus, Grafana и Sentry
  • люди разбирают только исключения

Хорошая интеграция - это управляемый процесс с владельцами данных, SLA и точками контроля. Если этого нет, у вас пока не интеграция, а набор обменов с непредсказуемым поведением.

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

Нужна помощь с реализацией?

Расскажите о задаче - предложим решение и дадим оценку сроков.