← Все статьи

Интеграция сайта с 1С: REST, OData или типовой обмен — что выбрать

Сравниваем три подхода к связке сайта и 1С: CommerceML, OData и REST. OData не печатает бланк — PDF счёта и акта даёт REST API.

«Нам нужно связать сайт с 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. Обзор каналов — в этой статье.

Была ли статья полезной?

Нужна интеграция с 1С?

CodeLab проектирует REST API, B2B-порталы и обмен с внешними системами.

Обсудить задачу