← Все статьи

REST API для 1С:Бухгалтерия — простой обмен без OData

Зачем разработчикам отдельный HTTP-слой поверх 1С: OData не отдаёт печатные формы, bit_http_api печатает счёт и акт как в учёте. С чего начать за один день.

Связать сайт, CRM или мобильное приложение с 1С:Бухгалтерия — задача, с которой сталкивается каждый второй средний бизнес. Стандартные инструменты платформы — OData, COM-соединение, типовые веб-сервисы — рассчитаны на 1С-разработчиков. Команда на PHP, Python или Node.js хочет JSON, понятные URL и документацию в духе OpenAPI.

Примеры и документация: POST счёта (curl + Swagger) · тестовый стенд за день · лендинг /rest-api-1c · OpenAPI YAML.

Почему OData не всегда подходит

OData — штатный способ «вытащить» данные из 1С. Он мощный, но:

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

Это не ошибка 1С: OData — доступ к полям учёта, а не к кнопке «Печать». Чтобы сайт отдал тот же счёт или акт, что бухгалтер видит в 1С, нужен HTTP-сервис, который печатает на сервере. Для узкой задачи — «создать счёт, акт, найти контрагента, отдать PDF» — REST-слой поверх типовой конфигурации закрывает 90% потребностей быстрее.

Как устроен bit_http_api

Расширение bit_http_api для 1С:Бухгалтерия предприятия 3.0 публикует HTTP-сервис с ресурсами:

  • /invoices — счета на оплату;
  • /acts — акты выполненных работ;
  • /counterparties — контрагенты (поиск и создание).

Аутентификация — Basic Auth. Тело запроса — JSON. Ответ — JSON с номером документа. PDF — отдельный запрос …/print: сервер 1С собирает штатную печатную форму и отдаёт файл. Через OData так сделать нельзя.

Пример сценария

Интернет-магазин принимает оплату → backend отправляет POST на /hs/bit_http_api/invoices → в 1С появляется счёт с привязкой к контрагенту → клиент получает PDF по ссылке или из вашего сервиса.

Быстрый старт за один день

  1. Скопируйте тестовую базу 1С:Бухгалтерия 3.0 или используйте демо.
  2. Установите расширение штатными средствами («Администрирование» → «Печатные формы, отчёты и обработки» → «Расширения»).
  3. Опубликуйте HTTP-сервис на IIS или Apache — как обычный веб-сервис 1С.
  4. Создайте пользователя с ролью bitHttpApi_ОсновнаяРоль — не используйте учётку администратора.
  5. Отправьте тестовый POST из Postman или curl с Basic Auth.
  6. Проверьте документ в 1С и сверьте JSON со схемой в Swagger.

Безопасность и эксплуатация

  • HTTPS обязателен на боевом сервере.
  • Отдельный пользователь API с минимальными правами.
  • Логирование запросов на стороне reverse proxy (nginx) — проще разбирать инциденты.
  • Обновления расширения — через типовой механизм 1С, без снятия с поддержки конфигурации.

Когда REST API — правильный выбор

Подходит, если нужны счета, акты, контрагенты и PDF печатных форм для сайта, CRM, биллинга или мобильного приложения. Если планировали «просто включить OData и скачивать бланки» — этого канала в платформе нет; расширение как раз закрывает этот разрыв. Не заменяет полноценный обмен каталогом — для номенклатуры и остатков смотрите CommerceML или комбинируйте оба канала.

Полная документация, примеры curl и Swagger — на странице REST API для 1С:Бухгалтерия. Пошаговый POST счёта — создать счёт через API.

Заказать REST API для 1С:Бухгалтерия

Готовое расширение bit_http_api: счета, акты, контрагенты и PDF печатных форм через JSON — штатный OData бланк не отдаёт. Лицензия — 137 250 ₽. Внедрение на вашей базе (если нужно) — 30 000 ₽ отдельно.

Заказать — 137 250 ₽ Документация

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

Чем REST API bit_http_api лучше OData для счетов и актов?

OData открывает широкий доступ к полям 1С, но не формирует печатный бланк. bit_http_api — узкий контракт: invoices, acts, counterparties и PDF той же формы, что кнопка «Печать» в учёте. Веб-разработчик работает с JSON и Basic Auth без изучения модели 1С.

OData 1С отдаёт печатные формы счетов и актов в PDF?

Нет. OData отдаёт поля, не бланк. PDF — в готовом REST API bit_http_api: GET …/print.

Какая конфигурация 1С поддерживается?

1С:Бухгалтерия предприятия 3.0, релиз 3.0.190.22 и выше, включая КОРП. Другие конфигурации — по отдельному ТЗ CodeLab.

Нужен ли HTTPS для REST API 1С?

На тестовом стенде допустим HTTP в локальной сети. На боевом сервере — только HTTPS через reverse proxy или публикацию 1С с TLS.

Можно ли совмещать REST API и CommerceML?

Сравнение подходов — REST vs OData vs CommerceML.

Кто устанавливает расширение bit_http_api?

Один раз — 1С-специалист или интегратор: установка расширения, публикация HTTP-сервиса, пользователь с ролью bitHttpApi_ОсновнаяРоль. Дальше подключает backend-разработчик.

Где полная документация и OpenAPI?

Документация: bit22.ru/rest-api-1c. OpenAPI: bit_http_api-openapi.yaml.

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

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

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

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