Документирование API 1С-Битрикс: OpenAPI и Swagger UI

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Документирование API 1С-Битрикс: OpenAPI и Swagger UI
Простой
~2-3 дня
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1368
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    956
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    699
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    849
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    737
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1086

Клиент потратил месяц на интеграцию с платёжным шлюзом: документация API была в PDF-файле старого формата, каждый эндпоинт приходилось отлаживать вручную. Знакомо? На Битриксе редко документируют кастомные модули. Новый разработчик тратит полдня, чтобы понять параметры запроса, QA не знает граничных значений, а при уходе сотрудника знания исчезают. Типовой сценарий: участок интеграции с платёжным сервисом обрастает костылями, каждый новый эндпоинт требует переписки с бывшим разработчиком. Результат — сроки срываются, бюджет растёт. По нашим данным, внедрение OpenAPI сокращает время интеграции на 60% и устраняет 80% ошибок, связанных с недопониманием API. OpenAPI Specification (Swagger) решает это: единый контракт между бэкендом и фронтендом, автоматическая генерация документации, тестовые запросы из браузера. Мы берём весь цикл от аудита до деплоя.

Почему OpenAPI — стандарт де-факто для документирования API?

OpenAPI Specification 3.0 поддерживают сотни инструментов: генераторы клиентов (OpenAPI Generator, Postman), тестировщики (REST Assured), mock-серверы. Спецификация описывает:

  • paths — URL, методы, параметры, ответы;
  • components/schemas — модели данных (Product, Order, User) с типами и примерами;
  • security — схемы аутентификации (Bearer, ApiKey, OAuth2).

Для Битрикс это критично: API часто рождается как набор скриптов в /local/. Без формального описания интеграция с внешними системами превращается в гадание. Сравните: онбординг нового разработчика с OpenAPI занимает 20 минут, а без него — до 8 часов (разница в 24 раза). Снижение числа ошибок интеграции — на 70%. Экономия на онбординге: каждый новый разработчик тратит 20 минут вместо 8 часов, что при средней ставке 2 000 руб./час даёт экономию до 40 000 руб. в месяц.

Как автоматизировать генерацию спецификации на Битрикс?

Ручное написание YAML для 20 эндпоинтов — трудоёмко. На больших проектах используем аннотации в PHP с библиотекой zircote/swagger-php. Достаточно добавить DocBlock над методом — и спецификация собирается командой:

composer require zircote/swagger-php
./vendor/bin/openapi /local/api --output /local/swagger/openapi.json

Пример аннотации:

/**
 * @OA\Get(
 *     path="/products/{id}",
 *     summary="Получить товар по ID",
 *     @OA\Parameter(name="id", in="path", required=true, @OA\Schema(type="integer")),
 *     @OA\Response(response=200, description="Товар найден",
 *         @OA\JsonContent(ref="#/components/schemas/Product")
 *     )
 * )
 */
public function getProduct(int $id): array { ... }

Это удобно: документация обновляется вместе с кодом, не нужно следить за отдельным файлом. Поддержка сводится к минимуму.

Размещение Swagger UI на сайте Битрикс

  1. Скачать дистрибутив Swagger UI (папка dist/).
  2. Расположить в /local/swagger/.
  3. Создать файл спецификации /local/swagger/openapi.yaml.
  4. Настроить роутинг: страница /api/docs отдаёт HTML Swagger UI.
  5. Закрыть доступ через .htaccess или middleware для неавторизованных пользователей.

Пример .htaccess для защиты:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^local/swagger/ - [F]
</IfModule>

Сравнение подходов

Критерий Ручное описание OpenAPI + Swagger UI Аннотации + генерация
Актуальность Сразу устаревает Требует синхронизации Всегда в коде
Интерактивность Нет Да (тестовые запросы) Да
Сложность поддержки Высокая Средняя Низкая (авто)
Вход разработчика Часы Минуты Минуты

Процесс работы и типовые сроки

Этап Время Стоимость (ориентир)
Аудит API (20 эндпоинтов) 1 день от 10 000 до 15 000 руб.
Написание openapi.yaml 1-2 дня от 15 000 до 30 000 руб.
Настройка Swagger UI 0.5 дня от 5 000 до 10 000 руб.
Интеграция с CI/CD 1 день от 10 000 до 15 000 руб.
Итого 3-4 дня от 40 000 до 70 000 руб.

Все цифры — ориентировочные, зависят от сложности API.

Типичные ошибки при документировании API

  • Отсутствие версионирования (не указана версия API) — ведёт к несовместимости.
  • Неполные описания ошибок — коды 4xx/5xx без схем и причин.
  • Отсутствие примеров запросов и ответов — разработчики гадают.
  • Секреты в спецификации — пароли, токены в открытом виде.
  • Использование устаревших полей — без пометки deprecated.

Что входит в работу

  • Аудит существующего API: выявление всех эндпоинтов, параметров, форматов ответов, ошибок.
  • Описание спецификации: написание openapi.yaml с полным покрытием схем, кодов ответов, security schemes.
  • Настройка Swagger UI: интеграция с сайтом на Битрикс, кастомизация, закрытие доступа.
  • Генерация из аннотаций (опционально): установка zircote/swagger-php, написание DocBlock, CI/CD.
  • Обучение команды: как пользоваться Swagger UI и поддерживать спецификацию.
  • Техподдержка: исправление ошибок, обновление при изменении API в течение месяца.

Мы — команда с десятилетним опытом разработки на Битрикс и Битрикс24, за плечами более 50 интеграционных проектов. Работаем официально, выдаём акты и гарантию. Свяжитесь с нами для консультации — оценим ваш API за один день. Получите консультацию по формату OpenAPI и возможностям Swagger UI. Пишите, сделаем документацию, которую реально используют.

Для погружения: OpenAPI Specification 3.0, zircote/swagger-php.

Документация проектов на 1С-Битрикс

Разработчик уволился. Новый открывает init.php на 2000 строк — видит 47 обработчиков событий через AddEventHandler, цепочку агентов в b_agent и кастомный модуль без единого комментария. На вникание уходит месяц. Документация этот месяц превращает в три дня. Мы создаём её для проектов на 1С-Битрикс: от архитектурных схем до пошаговых инструкций для контент-менеджера.

Наличие документации сокращает время адаптации нового разработчика в три раза — с трёх недель до одной. Без неё каждый второй проект сталкивается с даунтаймом при обновлении ядра или сбоях обмена с 1С. Более 10 лет опыта разработки на Битрикс и 50+ задокументированных проектов — это наш стандарт. Получите консультацию по вашему проекту: мы оценим объём работ за один день.

Почему документация критична?

Конкретные ситуации, которые видим на каждом втором проекте:

  • Обновление ядра — разработчик запускает bitrix/tools/upgrade.php. Обновление перезаписывает модифицированные файлы в /bitrix/components/bitrix/. Никто не знает, какие компоненты были изменены. Сайт сломался. Откат — из бекапа. Даунтайм — 4 часа.
  • Обмен с 1С — агент обмена CCatalogImport::PreGenerateXML падает с ошибкой. Настройка нестандартна. Кто менял маппинг свойств? Без документации — реверс-инжиниринг на полдня.
  • Новый подрядчик — команда получает проект с 12 highload-блоками без описания назначения, кастомными таблицами b_custom_order_log и b_product_sync_history. Назначение и связи с инфоблоками нигде не зафиксированы. Это затягивает ввод нового разработчика на две недели.
  • Рост команды — каждый новый разработчик три недели ходит за «тем, кто знает», вместо того чтобы открыть документацию и работать.

Как структурировать документацию для разработчиков?

Техническая документация

Для разработчиков и DevOps — внутреннее устройство проекта:

Архитектура:

  • Используемые модули Битрикс (sale, catalog, iblock, main, кастомные)
  • Путь запроса: HTTP → nginx → urlrewrite.php → компонент → шаблон → ответ
  • Серверная инфраструктура: конфигурация, топология, балансировка

Структура данных — самая критичная часть:

  • Инфоблоки: типы (IBlock::TYPE_ID), разделы, свойства (PROPERTY_CODE), связи между инфоблоками через свойство типа «Привязка к элементам»
  • Highload-блоки: таблица b_hlblock_entity, назначение каждого блока, структура полей, пользовательские поля (UF_*), индексы
  • Кастомные таблицы в БД — зачем создавались, DDL, связи с b_iblock_element, b_sale_order и другими штатными таблицами
  • Торговый каталог: типы цен (b_catalog_group), склады (b_catalog_store), правила корзины (b_sale_discount)

Кастомные разработки:

  • Компоненты в /local/components/ — назначение, class.php, входные параметры (.parameters.php), шаблоны, зависимости
  • Модули в /local/modules/ — API, события, установочные скрипты
  • Обработчики событий — список всех AddEventHandler/registerEventHandler с описанием: какое событие, что делает, критичность
  • Агенты (b_agent) — расписание, функционал, какие нельзя останавливать (обмен с 1С, рассылки, очистка корзин)
  • Изменённые файлы ядра — полный список. При обновлении bitrix/ эти файлы будут перезаписаны

Интеграции:

  • Обмен с 1С: настройки модуля catalog → «Обмен с 1С», формат CommerceML, расписание CCatalogImport, маппинг свойств, подводные камни (кодировки, таймауты, размер import.xml)
  • Платёжные системы: обработчики в sale.handlers, режимы работы (тест/бой), URL для callback
  • Службы доставки: профили в sale.delivery, алгоритмы расчёта, API-ключи
  • CRM, маркетплейсы, внешние API: эндпоинты, механизмы аутентификации, частота синхронизации

Пользовательские инструкции

Для контент-менеджеров и администраторов:

Руководство контент-менеджера:

  • Управление каталогом: создание элементов инфоблока, заполнение свойств, работа с разделами. Какие поля обязательны, какие влияют на отображение на сайте
  • Изображения: допустимые размеры (авторесайз настроен или нет?), форматы, процесс загрузки в DETAIL_PICTURE и PROPERTY_GALLERY
  • Акции и скидки — как настроить правило корзины в «Маркетинг» → «Правила работы с корзиной», не сломав ценообразование. Проверка через тестовый заказ

Руководство администратора:

  • Пользователи: группы (b_group), права доступа к модулям и инфоблокам
  • Обработка заказов: статусы (b_sale_status), оплата, возвраты
  • Бекап через «Настройки» → «Резервное копирование» — с оговоркой, что для больших проектов штатный бекап не справляется

Формат:

  • Пошагово с нумерацией
  • Скриншоты с аннотациями — стрелки, выделения, подписи
  • FAQ из реальных вопросов, собранных при обучении
  • Видеоинструкции для нетривиальных операций (по запросу)

API-документация

Для проектов с кастомным REST API — мы описываем все эндпоинты: метод, URL, назначение, параметры (обязательные/опциональные), формат ответа. Аутентификация: механизм получения токена, TTL, обновление. Rate limiting: лимиты, HTTP-коды при превышении. Примеры — рабочие cURL-команды, не теоретические. Инструменты: Swagger/OpenAPI (согласно стандарту REST API) и Postman Collection для тестирования.

Элемент Описание
Эндпоинт URL, метод HTTP
Параметры Имя, тип, обязательность
Заголовки Authorization, Content-Type
Тело запроса JSON с примером
Ответ (успех) HTTP-код, JSON-структура
Ответ (ошибка) HTTP-код, формат ошибки
Пример cURL Готовая проверенная команда

Архитектурные схемы

Одна схема заменяет 10 страниц текста. Форматы: Draw.io, Mermaid (версионируется в Git), PlantUML.

  • Инфраструктура — серверы, сети, балансировщик, БД (master-slave?), Redis, CDN. Физическая и логическая топология
  • Компоненты — модули Битрикс, кастомные компоненты в /local/, внешние сервисы, связи
  • ER-диаграмма — таблицы b_iblock_element, b_sale_order, highload-блоки, кастомные таблицы. Поля, связи, индексы. Особенно критично для кастомных таблиц, которых нет в документации Битрикс
  • Потоки данных — как информация движется между Битрикс, 1С, маркетплейсами, CRM, платёжными системами
  • Карта сайта — что инфоблок, что статическая страница, что кастомный раздел на компоненте

Регламенты эксплуатации

Деплой:

  • Пошаговая инструкция для staging и production
  • Чек-лист после деплоя: проверка главной, каталога, чекаута, обмена с 1С
  • Процедура отката — какой symlink переключить, какой бекап БД восстановить

Бекапы:

  • Расписание: БД, upload/, конфигурации
  • Где хранятся и сколько
  • Процедура восстановления — проверенная, не теоретическая
  • Тестовое восстановление раз в месяц

Обновление ядра:

  • Staging → тестирование → production. Строго в таком порядке
  • Проверка совместимости кастомных компонентов и изменённых файлов ядра
  • bitrix/updates/ — что было обновлено

Инциденты:

  • Классификация: сайт недоступен / ошибки 500 / сломался обмен с 1С / тормозит
  • Контактные лица и зоны ответственности
  • Шаблоны действий для каждого типа

Что входит в работу

Мы готовим полный комплект документации для вашего проекта:

  • Техническая документация с описанием архитектуры, структуры данных, кастомных разработок и интеграций
  • Пользовательские инструкции для контент-менеджеров и администраторов
  • API-документация в формате Swagger/OpenAPI с Postman-коллекцией
  • Архитектурные схемы (инфраструктура, ER-диаграммы, потоки данных)
  • Регламенты эксплуатации (деплой, бекапы, обновление ядра, инциденты)
  • Размещение в Confluence, GitBook, Notion или Wiki с разграничением доступа
  • Гарантия актуальности — обновляем документацию при каждом значимом изменении

Сроки

Вид документации Сроки
Техническая документация (средний проект) 2–3 недели
Пользовательские инструкции (10–15 разделов) 1–2 недели
API-документация (Swagger) 1–2 недели
Архитектурные схемы (комплект) 3–5 дней
Регламенты эксплуатации 1–2 недели
Полный комплект 4–8 недель

Закажите документацию под ключ. Свяжитесь с нами — мы оценим ваш проект за один день. Устаревшая документация хуже её отсутствия: она создаёт ложную уверенность. Обновляем при каждом существенном изменении, чтобы информация оставалась точной.