«Интеграция с 1С — это надолго» — миф, который откладывает запуск на месяцы. Для сценария «счета, акты, контрагенты через HTTP» тестовый стенд REST API реально поднять за один рабочий день, если следовать чек-листу. Ниже — пошаговый план для backend-разработчика без глубокого опыта 1С.
Что понадобится
- Тестовая база 1С:Бухгалтерия предприятия 3.0 (копия обезличенной боевой или демо с сайта 1С).
- Сервер с IIS или Apache, на котором уже публиковали веб-сервисы 1С (или виртуалка под это).
- Postman, Insomnia или curl.
- Расширение bit_http_api — с страницы продукта.
Утро (2–3 часа): 1С и публикация
- Установите расширение в конфигураторе или через «Расширения» в пользовательском режиме.
- Создайте пользователя
api_testс рольюbitHttpApi_ОсновнаяРоль. - Опубликуйте HTTP-сервис на веб-сервере — путь вида
/base_name/hs/bit_http_api/. - Проверьте доступность GET-запросом с Basic Auth (даже 401/404 подскажут, где ошибка публикации).
- Убедитесь, что время на сервере синхронизировано (NTP) — иначе странные ошибки в логах.
День (2–3 часа): первые документы
Контрагент
POST или GET /counterparties — создайте тестового партнёра с ИНН и наименованием. Проверьте карточку в 1С.
Счёт
POST /invoices с JSON-телом по схеме из Swagger: контрагент, строки номенклатуры или услуг, сумма. Откройте документ в 1С — номер, дата, проведение.
Акт
POST /acts — аналогично. При необходимости привяжите к тому же контрагенту.
Если в ответе есть ссылка на PDF — скачайте и сверьте реквизиты. Если нет — проверьте печатную форму в конфигурации.
Вечер (1–2 часа): передача команде
- Зафиксируйте base URL, логин и пароль тестового пользователя в секрет-хранилище (не в git).
- Экспортируйте коллекцию Postman из Swagger или приложите примеры curl из документации.
- Опишите коды ошибок, которые видели, и как их устранили.
- Запланируйте нагрузочный тест: 10–50 последовательных POST — нет ли блокировок.
Типовые проблемы в первый день
- 401 Unauthorized — неверный Basic Auth или пользователь без роли API.
- 404 — неверный путь публикации или не перезапустили веб-сервер после публикации.
- 500 от 1С — смотрите журнал регистрации 1С; часто не заполнено обязательное поле в JSON.
- SSL — на тесте можно HTTP, на бой только HTTPS.
После стенда
Подключите сайт или CRM к тестовому URL. Прогоните сценарии «создание заказа → счёт → оплата → акт». Только после этого — перенос на боевую базу с отдельным пользователем API и бэкапом.
Swagger, примеры JSON и условия внедрения — REST API для 1С:Бухгалтерия. Пример POST счёта — создать счёт через REST API. Помощь с публикацией на вашем сервере — CodeLab.
Частые вопросы
Реально ли поднять тестовый REST API 1С за один день?
Да, для сценария счета, акты, контрагенты: утром — установка расширения и публикация, днём — первые POST, вечером — передача URL и коллекции Postman команде.
API отвечает 401 Unauthorized — что проверить?
Логин и пароль Basic Auth, пользователь с ролью bitHttpApi_ОсновнаяРоль, нет лишних пробелов в base64. Не используйте учётку полного администратора без роли API.
404 Not Found на /hs/bit_http_api/invoices — причины
Неверный путь публикации базы, HTTP-сервис не опубликован или веб-сервер не перезапущен после публикации. Проверьте URL в браузере с Basic Auth.
Нужен ли опыт 1С backend-разработчику?
Для работы с API — нет, достаточно HTTP и JSON. Для установки расширения и публикации на сервере — нужен 1С-администратор или CodeLab один раз.
Где взять расширение bit_http_api?
Оставить заявку — контакты CodeLab. Документация — REST API для 1С.
Как убедиться, что счёт создался в 1С?
Пример POST — создать счёт через REST API.