Интеграция интернет-магазина с 1С и CRM: как устроен обмен данными
Интеграцию часто описывают одной строкой: «синхронизировать сайт с 1С и CRM». В этой строке спрятаны десятки решений. Какая система хранит правильную цену? Когда резервируется остаток? Можно ли менеджеру изменить заказ? Что делать, если обмен оборвался на середине?
Хорошая интеграция незаметна: сотрудники работают в привычных программах, покупатель видит актуальную информацию, а ошибки не превращаются в ручной поиск по трём таблицам. Чтобы получить такой результат, сначала проектируют правила, а уже потом пишут запросы к API.
Нарисуйте карту систем
Я начинаю с простой схемы. Сайт принимает заказ. 1С хранит номенклатуру и склад. CRM ведёт коммуникацию и этапы сделки. Служба доставки рассчитывает тариф. Платёжный сервис подтверждает оплату. Для каждого объекта отмечаем направление и частоту обмена.
Без карты легко получить круг: сайт обновил клиента в CRM, CRM вернула изменение на сайт, а затем оба события снова отправились по цепочке.
Определите источник правды
У каждого поля должен быть хозяин. Обычно наименование, артикул, закупочная цена и остаток приходят из учётной системы. Маркетинговое описание и SEO-поля удобнее редактировать на сайте. Статус разговора живёт в CRM, статус оплаты — у платёжного провайдера.
Если одно поле разрешено менять в двух местах, нужны правила конфликта. «Последняя запись победила» звучит просто, но может затереть только что согласованную цену.
Что обычно передают
- Товары: артикулы, категории, характеристики, варианты, изображения.
- Цены: базовые, акционные, оптовые, региональные.
- Остатки: по складам, резервы, доступное количество и срок поставки.
- Заказы: состав, покупатель, адрес, оплата, доставка, комментарий.
- Статусы: подтверждён, собран, передан в доставку, отменён, возвращён.
- Клиенты: контактные данные, согласия и история обращений — только в необходимом объёме.
Идентификаторы важнее названий
Товар нельзя надёжно связывать по названию: его исправят для рекламы или добавят размер. Нужен стабильный внешний ID или артикул. То же относится к вариантам, складам и заказам. Я отдельно проверяю дубли, ведущие нули и одинаковые артикулы у разных поставщиков — эти мелочи чаще ломают обмен, чем сложный код.
Обмен по расписанию или сразу
Каталог на десятки тысяч товаров удобно обновлять пакетами ночью, а остатки популярных позиций — чаще. Новый оплаченный заказ желательно передать сразу. Единого режима для всех данных нет: частота зависит от риска продать отсутствующий товар и допустимой нагрузки.
Даже обмен в реальном времени должен иметь очередь. Если 1С перезапускается, сайт сохраняет событие и повторяет попытку, а не сообщает покупателю, что магазин закрыт.
Логи, повторы и уведомления
Фраза «синхронизация не работает» бесполезна без деталей. В журнале должны быть время, объект, направление, результат и понятная ошибка без паролей и лишних персональных данных. Временную сетевую ошибку можно повторить автоматически. Некорректный артикул требует внимания человека.
Я также предусматриваю контрольные числа: сколько товаров получено, обновлено, пропущено; совпадает ли итоговая сумма заказа; не упал ли остаток всех позиций до нуля из-за пустого файла.
Безопасный запуск
- Взять копию данных и тестовую среду.
- Прогнать небольшой набор простых и сложных товаров.
- Проверить новый заказ, отмену, возврат и повторную оплату.
- Сверить суммы, налоги, доставку и остатки.
- Запустить полный обмен под наблюдением и иметь план отката.
Особенно опасно впервые проверять интеграцию на работающем магазине вечером перед распродажей.
Что влияет на стоимость
Цена зависит от качества API и исходных данных, числа направлений, нестандартных правил и необходимости дорабатывать обе стороны. Подключение типового формата может быть быстрым. Старую конфигурацию 1С без документации сначала приходится исследовать. Поэтому честная оценка появляется после тестового обмена, а не после фразы «у нас обычная 1С».
На проектах вроде «Сплит-склада» сайт является частью торгового процесса, а не отдельной витриной. Если вам нужен похожий обмен, услуга интеграции CRM и 1С начинается с карты данных и проверки реальных примеров файлов или API.