home Главная chevron_right Блог и статьи chevron_right Гайд по кастомной интеграции 1С:УТ и Bitrix: REST API vs стандартный CommerceML в 2026 году

Гайд по кастомной интеграции 1С:УТ и Bitrix: REST API vs стандартный CommerceML в 2026 году

Когда базового модуля обмена уже недостаточно: бенчмарки скорости, пакетная обработка тяжелых XML-файлов и переход на JSON webhook architecture.

SK Pro Lab
Команда SK Pro Lab Инженерная база знаний
• 14 мая 2026 • schedule 9 мин чтения

Стандартный обмен по CommerceML — рабочая лошадка, но у неё есть предел. Рассказываем, как понять, что вы упёрлись в потолок, и что даёт переход на обмен через REST API: на замерах, без религиозных войн.

Когда CommerceML хватает

check_circleКаталог до ~30 000 SKU и обмен 1–2 раза в сутки
check_circleСтандартная номенклатура: товары, цены, остатки, заказы
check_circleНет требования к скорости реакции: «обновилось за час» — норма

Где потолок

CommerceML — это XML-файлы, которые собираются на стороне 1С, выгружаются на сайт и разбираются целиком. При 100 000+ SKU файл выгрузки весит сотни мегабайт, разбор съедает минуты процессора, а изменение одного товара всё равно тащит за собой пакет. Наши замеры на стенде (1С:УТ 11.4, Битрикс 23.x, 120 000 SKU):

Полная выгрузка каталога (CommerceML)38 мин
Полная выгрузка каталога (REST, batch)11 мин
Изменение 1 товара (CommerceML)~4 мин
Изменение 1 товара (REST webhook)~1.2 c
Остатки, 5 000 позиций (CommerceML)9 мин
Остатки, 5 000 позиций (REST, batch)40 c

Архитектура REST-обмена

Со стороны сайта создаётся вебхук с правами на catalog и sale, со стороны 1С — регламентное задание, которое при изменении документа/номенклатуры ставит событие в очередь и отправляет на сайт пачками через batch. Идемпотентность — по GUID объектов: повторная отправка того же GUID не создаёт дубликат.

// пакетное обновление через batch (PHP-пример со стороны сайта)
$commands = []; foreach ($stocks as $i => $s) {   $commands["stock_".$i] = "catalog.store.amount.add?" . http_build_query($s); } CRest::batch($commands); // 50 команд за запрос, лимит API

Гибрид — наш выбор по умолчанию

Мы почти всегда делаем гибрид: первичную загрузку каталога — CommerceML-ом (надёжно, проверено), а оперативные дельты (остатки, цены, статусы заказов) — вебхуками по REST. Так заказчик получает и быструю реакцию на изменения, и простой откат к стандартному обмену, если что-то пойдёт не так.

check_circleВебхуки на изменение, batch на массовые операции, очередь на стороне 1С
check_circleЖурналируйте каждуюexchange-сессию: кто, что, когда, результат
check_circleМониторинг глубины очереди — иначе узнаете о проблеме от клиентов
Нужна такая же автоматизация? Разберём ваш процесс и предложим решение — бесплатно.
forum Обсудить проект

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

Ещё материалы из инженерной базы знаний SK Pro Lab

1С-Битрикс & Highload
schedule 8 мин
17 сентября 2026

Как ускорить каталог на 1С-Битрикс: методология — фасетные индексы, Redis-кэш и репликация MySQL

Пошаговая методология: как найти узкие места каталога на 1С-Битрикс, перестроить фасетные индексы, разгрузить MySQL через master-slave репликацию и настроить композитный кэш под пиковые нагрузки.

SK Pro Lab
Команда SK Pro Lab
arrow_forward

call Позвонить send Telegram calculate Рассчитать