Интеграция интернет-магазина с 1С: как не потерять остатки

Как настроить обмен интернет-магазина с 1С: товары, цены, остатки, заказы. Форматы обмена, частота синхронизации, типичные ошибки и как их избежать.

Коротко

Как настроить обмен интернет-магазина с 1С: товары, цены, остатки, заказы. Форматы обмена, частота синхронизации, типичные ошибки и как их избежать.

Пока товаров пятьдесят, менеджер обновляет остатки руками и всё работает. На пятистах это превращается в ежедневную рутину, а на трёх тысячах — в источник постоянных извинений перед клиентами.

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

Что именно синхронизируется

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

Варианты обмена

Штатный протокол CommerceML

Стандартный механизм 1С: система выгружает XML-пакеты, сайт их разбирает. Плюс — работает «из коробки» с типовыми конфигурациями и большинством CMS. Минус — обмен пакетный, а не мгновенный, и на больших каталогах может занимать десятки минут.

Подходит, когда товаров до нескольких тысяч и обновления раз в час-два достаточно.

Обмен через REST API

Сайт и 1С общаются напрямую по HTTP-сервисам. Плюсы: обмен близок к реальному времени, можно передавать только изменившееся, легко расширять. Минус — требует разработки на стороне 1С, то есть участия вашего программиста 1С.

Оптимальный вариант для магазинов, где остатки меняются в течение дня.

Через промежуточный сервис

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

Подводные камни

Что считать источником истины

Договоритесь на старте: где создаются товары, где меняются цены, где заводятся категории. Если редактировать можно и там, и там, при следующем обмене часть правок затрётся. Это классика, и обнаруживается всегда постфактум.

Резервирование при заказе

Между оформлением заказа и его попаданием в 1С проходит время. Если за эти минуты последний товар купит кто-то ещё, вы продадите то, чего нет. Решается резервированием на стороне сайта в момент оформления.

Изображения и описания

В 1С обычно хранятся сухие наименования вроде «Смеситель ХХ-123 хром». Продающие описания, фото и SEO-тексты живут на сайте — и обмен не должен их перезаписывать. Это отдельная настройка, которую легко упустить.

Нагрузка

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

Как проверить, что всё работает

  • товар, выведенный из ассортимента в 1С, исчезает с сайта
  • изменение цены доезжает за оговорённое время
  • заказ с сайта появляется в 1С со всеми полями, включая комментарий клиента
  • при нулевом остатке кнопка «Купить» меняется на «Под заказ», а не пропадает
  • логи обмена доступны и понятны — вы должны видеть, что и когда сломалось

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

Контакты

Обсудить проект

Отвечаем в рабочее время, обычно в течение часа.

Отвечаем в рабочее время, обычно в течение часа.