Интеграция WordPress и WooCommerce с 1С: четыре способа обмена и как выбрать

Товары, цены и остатки из 1С на сайт, заказы с сайта в 1С. Разбираем четыре способа связать WordPress и WooCommerce с 1С, чем они отличаются и на чём чаще всего спотыкается обмен.

Опубликовано Обновлено 8 мин чтения

1С

Из статьи вы узнаете

  • какие данные обычно передают между 1С и сайтом
  • как работает стандартный обмен 1С с сайтом и когда его хватает
  • когда нужны OData или свои HTTP-сервисы в 1С
  • что проверить до запуска, чтобы обмен не сломал каталог и адреса товаров

Что обычно передают между 1С и сайтом

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

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

Способ 1. Стандартный обмен 1С с сайтом (CommerceML)

В типовых торговых конфигурациях 1С есть встроенный обмен с сайтом. Данные передаются в формате CommerceML, это XML-файлы с каталогом (import.xml) и предложениями, то есть ценами и остатками (offers.xml). Обмен начинает 1С: она обращается к адресу обмена на сайте, проходит авторизацию, передаёт файлы и просит сайт их загрузить. Заказы 1С забирает тем же обменом.

Стандартный обмен 1С с сайтом

Обмен запускает 1С: она сама обращается к сайту по HTTP, поэтому базе не нужен внешний адрес.

  1. 1Свыгружает товары, цены, остатки
  2. Протокол обменаавторизация, файлы XML, загрузка
  3. Сайтплагин обмена создаёт и обновляет товары
  4. Заказы1С забирает их тем же обменом

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

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

Способ 2. OData: стандартный REST-интерфейс 1С

Платформа 1С:Предприятие 8.3 умеет отдавать данные по протоколу OData. Для этого базу публикуют на веб-сервере (Apache или IIS) и включают нужные справочники, документы и регистры в состав стандартного интерфейса OData. После этого сайт или промежуточный сервис читает данные запросами по HTTP.

Здесь направление обратное: обращается сайт, значит, опубликованная база должна быть доступна ему по сети. Это вопрос безопасности: отдельный пользователь с минимальными правами, HTTPS, доступ только с нужных адресов.

Способ 3. Свои HTTP-сервисы в 1С

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

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

Способ 4. Файлы по расписанию

Самый простой вариант: 1С по расписанию выгружает цены и остатки в файл (CSV, XLSX или XML), а сайт его забирает и загружает. Подходит, когда нужно обновлять цены и наличие в одну сторону и не нужны заказы в 1С. Минусы: данные обновляются с задержкой, а при ошибке в файле нужен журнал, иначе сбой заметят только покупатели.

Сравнение способов

СпособКто начинает обменДоработка 1СКогда выбирать
Стандартный обмен (CommerceML)1СОбычно не нужнаТиповая торговая конфигурация и обычный каталог
ODataСайт или сервисПубликация и настройка составаНужно читать данные, которых нет в обмене, без программирования в 1С
HTTP-сервисы и запросы из 1ССайт (опрос) или 1С (сразу при изменении)Да, разработкаНестандартные поля, своя логика заказов, интеграции с CRM
Файлы по расписанию1СМинимальнаяТолько цены и остатки в одну сторону

Что проверить до запуска любого обмена

  • Ключ сопоставления. Товар на сайте и в 1С связывается по идентификатору из 1С или по артикулу. Без устойчивого ключа повторная выгрузка создаёт дубли.
  • Характеристики и вариации. Характеристики номенклатуры в 1С должны лечь в вариации WooCommerce, иначе размеры и цвета превратятся в отдельные товары.
  • Виды цен и склады. Какая цена розничная, какая оптовая; остаток показывать суммой или по складам.
  • Адреса товаров. Повторная выгрузка не должна менять слаги товаров и разделов: смена адреса для поисковика означает новую страницу. Об этом подробно в статье о переезде сайта без потери позиций.
  • Что главнее. Поля, которые правят на сайте (тексты, SEO-заголовки), обмен не должен затирать.
  • Картинки и объём. Сколько весит выгрузка с фото и сколько она идёт на полном каталоге.
  • Журнал и уведомления. Каждый обмен пишет журнал, а об ошибке сразу приходит уведомление.
  • Копия базы. Настройку и первые выгрузки делаем на копии 1С и тестовом стенде сайта, а не в рабочих системах.

Интеграция оплачивается почасово: 2 500 ₽ в час, от 10 часов 2 250 ₽ в час, объём часов оцениваем заранее. Подробнее на странице интеграции сайта с 1С, а доработки и обновления самой 1С относятся к обслуживанию 1С.

Обмен с сайтом стоит проверять после каждого обновления 1С. Как обновлять базу, читайте в статье об обновлении 1С 8.3, а что ещё входит в поддержку, в статье о сопровождении 1С.

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

Нужно ли дорабатывать 1С для связи с WordPress?

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

Должна ли 1С быть доступна из интернета?

Для стандартного обмена нет: соединение открывает сама 1С, ей нужен только доступ к сайту. Для OData и HTTP-сервисов, к которым обращается сайт, база должна быть доступна ему по сети, с отдельным пользователем и HTTPS.

Как часто обновляются цены и остатки?

По расписанию, например каждые 15 минут, или сразу при изменении, если 1С сама отправляет изменения на сайт HTTP-запросом. Частоту выбирают под объём каталога и нагрузку на базу.

Что делать с заказами, если обмен сломался?

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

Читайте также

СтатьиОбновление 1С 8.3: как обновить платформу и конфигурацию и при чём тут ИТСПлатформа и конфигурация, типовая и доработанная база, порядок релизов, резервная копия, проверка после обновления, ИТС.ПодробнееСтатьиСопровождение 1С: что входит, как считают стоимость и как не переплачиватьОбновления, доработки, обмены, консультации и резервные копии; почасовая оплата и абонемент; ИТС; учёт часов.ПодробнееСтатьиSEO-аудит сайта: что проверяют, как читать отчёт и что исправлять первым18 разделов проверки, приоритеты P0, P1, P2, пример отчёта, автоматические и ручные проверки, что исправлять первым.ПодробнееСтатьиКак собрать семантическое ядро для сайта: от подсказок поиска до посадочных страницИсточники запросов, чистка мусора с причинами, группы и посадочные, одна страница на главный запрос, статусы страниц.Подробнее

Все статьи

Обсудим вашу задачу

Ответим в рабочее время и предложим следующий шаг.