IT-КУБиК-Сервис • Форум 1С
Абстрактный тёмно-синий фон с мягкими геометрическими линиями и оранжевыми акцентами, создающий технологичную атмосферу

Агрегатор публикаций с Инфостарта по 1С:Предприятие — обработки, расширения, конфигурации, интеграции и администрирование. Сообщество специалистов 1С.

Интеграция 1С с WooCommerce: практическое руководство

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

Соединить эти системы можно через стандартную выгрузку CommerceML, прямые вызовы REST API магазина, промежуточный HTTP-сервис или сторонний коннектор. У каждого варианта своя трудоёмкость и ограничения, поэтому выбор зависит от объёма каталога и частоты обновлений. Стоит сразу понимать, какие данные нужно передавать в первую очередь — это сужает круг задач и помогает выбрать подходящий стек.

Ниже — последовательность действий, которая работает в типичном магазине с каталогом до нескольких тысяч товаров. Описанный путь опирается на типовые механизмы платформы и подходит для 1С:Управление торговлей, 1С:ERP и 1С:УНФ с минимальными доработками.

Подготовительный этап

На стороне WordPress включите постоянные ссылки в формате «название записи», установите SSL-сертификат и создайте отдельного пользователя с правами чтения и записи. Для него в меню WooCommerce → Настройки → Дополнительно → REST API выпустите Consumer Key и Consumer Secret — они станут логином и паролем при обращениях из 1С.

В самой 1С убедитесь, что у вас есть доступ в конфигуратор, понимание справочника «Номенклатура» и регистров сведений по ценам и остаткам. Если конфигурация доработана, держите под рукой описание регистров и место хранения картинок товаров — это понадобится при переносе медиа в каталог магазина.

Сразу договоритесь о правилах сопоставления объектов: какой реквизит становится артикулом в WooCommerce, как различаются цены по группам покупателей, каким образом фиксируется статус заказа. Такие договорённости экономят часы отладки и помогают избежать дублей в каталоге.

Выбор способа обмена

Способ Сложность Доработки Подходит для
CommerceML через плагин 1С Низкая Типовая обработка Каталог до 500 товаров
Прямая работа с REST API Средняя Собственная обработка 500–10 000 SKU
HTTP-сервис на стороне 1С Высокая Публикация базы и приёмник Большие каталоги и сложные сценарии
Сторонний коннектор Низкая-средняя Установка модуля Быстрый запуск без программистов

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

Создание обработки в 1С

В конфигураторе добавьте новую обработку с управляемой формой. Разместите на ней реквизиты: адрес сайта, Consumer Key, Consumer Secret, флаги «Выгружать товары» и «Загружать заказы», а также поле для указания группы номенклатуры, которая пойдёт в выгрузку. Этого набора достаточно для первой рабочей версии.

В модуле опишите функцию отправки HTTP-запроса. Для аутентификации используется Basic Auth со строкой consumer_key:consumer_secret, закодированной в Base64. В платформе за это отвечает объект HTTPСоединение с методом Получить, через который удобно сразу разбирать JSON-ответ. Учтите, что многие методы WooCommerce возвращают данные постранично, поэтому цикл строится с параметром per_page и общим числом страниц из заголовка X-WP-TotalPages.

Отдельно подготовьте формирование JSON для эндпоинтов /products/batch и /orders/batch: они позволяют за один запрос создать, обновить или удалить до 100 объектов, что радикально ускоряет первичную выгрузку.

Подключение к REST API магазина

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

Проверьте доступ к эндпоинтам через Postman или аналогичный клиент. Пройдитесь по основным коллекциям — /products, /products/categories, /orders, /customers, /system_status — это помогает понять, какие поля доступны в вашей версии плагина и нет ли ограничений из-за установленных расширений.

Синхронизация каталога и заказов

Для товаров удобно использовать схему «один артикул — один SKU». Формируйте массив объектов и передавайте его пакетом: при создании нового товара 1С получает от WooCommerce числовой ID, который сохраняйте в дополнительном реквизите номенклатуры. Этот ID нужен при следующих обновлениях, иначе появятся дубли.

Заказы загружайте каждые 5–15 минут: этого достаточно, чтобы менеджер видел новые позиции почти в реальном времени без избыточной нагрузки на сервер. Сопоставление покупателей выполняйте по e-mail, а при отсутствии совпадения создавайте контрагента в 1С и привязывайте к нему заказ. Для проектов, где нужно связать сразу несколько информационных баз или подключить внешнюю CRM, полезно опираться на готовые примеры — подробный разбор с шаблонами кода даёт материал про обмен через HTTP-сервисы.

Рабочие правила для ежедневной эксплуатации:

Признаки того, что связка работает корректно:

Распространённые ошибки и их решение

Чаще всего встречаются четыре группы сбоев. Таймаут при выгрузке большого пакета лечится уменьшением размера пакета и повторными попытками с нарастающим интервалом. Проблемы с кодировкой кириллицы решаются заголовком charset=UTF-8 и формированием JSON средствами платформы, а не конкатенацией строк.

Ошибки авторизации обычно означают, что Consumer Key создан в режиме «Read» или отключён администратором сайта — пересоздайте ключ с полными правами, чтобы вернуть обмен в строй. Расхождение цен из-за разной логики налогов — самый коварный сценарий: пока товар хранится в рублях без НДС, а в магазине цена уже включает налог, разница заметна только при сверке остатков.

Если ошибки повторяются, добавьте в обработку уведомление в Telegram или на почту администратору. Это сокращает разбор инцидента с часа до нескольких минут и фиксирует проблему до того, как о ней узнают покупатели.


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