«Нам нужно связать сайт с 1С» — фраза, за которой скрываются десятки технических решений. Ошибка на этапе выбора протокола стоит месяцев переделок: каталог по CommerceML уже работает, а CRM требует OData, а мобильное приложение — свой REST. Ниже — честное сравнение трёх подходов и рекомендации CodeLab по типовым сценариям.
Типовой обмен: CommerceML и файлы
Суть: 1С выгружает XML (CommerceML 2.x) по расписанию или по событию; сайт забирает файл или принимает push.
Плюсы:
- Быстрый старт для интернет-магазина и B2B-портала.
- Поддержка в Bitrix, OpenCart, WooCommerce, OptiDesk, многих модулях «из коробки».
- Не нужно держать постоянное соединение с базой 1С.
Минусы:
- Не real-time — задержка от минут до часов.
- Сложно передать нестандартный документ или произвольный регистр.
- Большие каталоги требуют инкрементальной выгрузки и мониторинга.
OData
Суть: стандартный HTTP-интерфейс платформы 1С к объектам конфигурации.
Плюсы:
- Гибкий доступ к справочникам и документам без отдельной разработки под каждый объект.
- Штатный механизм — не «самопал».
Минусы:
- Крутая кривая обучения для PHP/JS-разработчиков.
- Риск тяжёлых запросов и утечки лишних данных.
- Настройка прав и публикации требует опытного 1С-администратора.
- Нет печатных форм: OData отдаёт поля документа, PDF бланка (счёт, акт, УПД) не формирует.
REST API (расширение bit_http_api)
Суть: узкий контролируемый HTTP-слой с JSON: счета, акты, контрагенты и PDF печатных форм.
Плюсы:
- Понятный контракт для любой backend-команды.
- Swagger, примеры curl, Basic Auth — быстрый онбординг.
- Легко аудировать: видно, кто что создал.
- Печать на сервере 1С: клиент кабинета получает тот же бланк, что кнопка «Печать» в учёте. Штатный OData этого не умеет.
Минусы:
- Не заменяет полный обмен каталогом — нужен второй канал или доработка.
- Требует установки расширения и публикации HTTP-сервиса.
Матрица выбора
| Задача | Рекомендация |
|---|---|
| Интернет-магазин, каталог + заказы | CommerceML или модуль CMS |
| B2B-портал оптовика | OptiDesk (CommerceML) или кастом + CommerceML |
| CRM: счета и акты из сделки | REST API |
| PDF счёта, акта, УПД в кабинет клиента | REST API (OData бланк не отдаёт) |
| Мобильное приложение, узкий набор операций | REST API |
| Аналитика, выгрузка «всего подряд» | OData с жёсткими фильтрами или DWH |
| Маркетплейс + 1С + доставка | CommerceML + API СДЭК + сквозная архитектура |
Гибридные схемы
На практике часто комбинируют: каталог и заказы — CommerceML; выставление счетов после оплаты на сайте — REST; отчётность для BI — OData ночью в отдельную базу. Главное — не плодить три независимых интеграции без общей документации.
Как OData прячут за операциями бизнеса (КП, превью, поиск по ИНН) — в статье OData 1С в сервисы. Проектирование интеграции под ваш стек — CodeLab. Готовый REST-слой — REST API для 1С:Бухгалтерия.
REST API для 1С: лицензия bit_http_api — 137 250 ₽, внедрение при необходимости — 30 000 ₽. Заказать · документация
Частые вопросы
OData 1С отдаёт печатные формы счетов и актов?
Нет. OData — поля, не бланк. PDF печатных форм — REST API bit_http_api.
Когда выбирать REST API, а когда OData?
OData — гибкая выгрузка справочников и документов для аналитики, если команда знает модель 1С. REST API — счета, акты, контрагенты и PDF бланка для сайта и CRM без изучения метаданных. Каталог и заказы пакетами чаще остаются на CommerceML.
Можно ли совмещать CommerceML, OData и REST?
Готовый REST-слой — bit_http_api. Обзор каналов — в этой статье.