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

Клієнт витратив місяць на інтеграцію з платіжним шлюзом: документація API була у PDF-файлі старого формату, кожен ендпоінт доводилося налагоджувати вручну. Знайомо? На Бітріксі рідко документують кастомні модулі. Новий розробник витрачає півдня, щоб зрозуміти параметри запиту, QA не знає граничних з
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Документування API 1С-Бітрікс: OpenAPI та Swagger UI
Простий
~2-3 дні

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1440
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1013
  • 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
    751
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    872
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    791
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1153

Клієнт витратив місяць на інтеграцію з платіжним шлюзом: документація 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 годин.

Як автоматизу генерацію специфікації на Бітрікс?

Ручне написання 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 день
Написання openapi.yaml 1-2 дні
Налаштування Swagger UI 0.5 дня
Інтеграція з CI/CD 1 день
Разом 3-4 дні

Всі цифри — орієнтовні, залежать від складності 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.