Все модули

Open Api

Автогенерация OpenAPI 3.1.1 спецификации из metadata: schemas, CRUD-пути, кастомные роуты, Swagger UI.

Возможности

Что умеет модуль

OpenAPI 3.1.1 из metadata

Provider собирает schemas, CRUD-пути и link-пути напрямую из entityDefs/scopes/relationDefs.

Три уровня обработки роутов

auto (без аннотаций) → declarative (openApi-ключ) → dynamic (openApiGenerator PHP-класс).

FieldSchemaBuilderFactory

Резолв через metadata map → TYPE_MAP на 30 типов → auto-detect compound полей через actualFields.

apiSpecDisabled на 4 уровнях

Сущность, поле, связь или роут можно исключить одним флагом — на любом уровне.

CRUD и link пути

Стандартные create/read/update/delete/list + list/relate/unrelate на каждую связь.

Swagger UI

Статический /swagger/index.html подгружает /api/v1/bpm2bOpenApi/spec; cookie-авторизация платформы.

Расширяемость без правки кода

Свои FieldSchemaBuilder и openApiGenerator подключаются через metadata, не трогая исходный модуль.

Модуль BPM2B Open Api автоматически собирает OpenAPI 3.1.1 спецификацию для платформы BPM2B из metadata установленных модулей. Внешние клиенты, фронтенды и интеграции получают актуальную, машиночитаемую документацию по API без отдельного процесса сопровождения — обновил metadata, перегенерировался YAML-контракт.

Основные функциональные возможности:

  • Provider — главный сборщик: собирает schemas (из entityDefs / fieldDefs), CRUD-пути (из scopes / aclActionList), link-пути (из relationDefs) и кастомные роуты; результат кешируется в DataCache.
  • RouteProcessor — три уровня обработки роутов: Level 1 (auto) — без аннотаций, базовый path item; Level 2 (declarative) — ключ openApi в routes.json; Level 3 (dynamic) — PHP-класс через openApiGenerator.
  • FieldSchemaBuilderFactory: резолв стратегии в три шага — metadata app.openApi.fieldSchemaBuilderClassNameMap (точка расширения модулями) → встроенный TYPE_MAP на 30 типов полей → auto-detect compound-полей через actualFields.
  • Единый apiSpecDisabled: исключение из спецификации на четырёх уровнях — сущность (scopes.{Entity}), поле (entityDefs.{Entity}.fields.{field}), связь (entityDefs.{Entity}.links.{link}), роут (routes.json).
  • CRUD и link-пути: для каждой сущности генерируются стандартные create / read / update / delete / list, плюс отдельные пути на каждую связь — list / relate / unrelate.
  • Swagger UI: статический HTML по адресу {siteUrl}/swagger/index.html; требует cookie-авторизации платформы; spec URL — /api/v1/bpm2bOpenApi/spec.
  • Расширяемость без правки кода: новый тип поля → свой FieldSchemaBuilder в metadata; нестандартный endpoint → ключ openApi или openApiGenerator в routes.json; модуль никаких пакетов не требует изменения.

Модуль предназначен для платформ с большим числом интеграций и внешних потребителей API. Зависимостей нет — работает на голой инсталляции и автоматически обнаруживает все установленные модули, включая совместимый bpm2bQazaq с compound-полями (varchar-kz, text-kz).

Совместимо с платформой версии 9.1.0+
Связаться

Готовы автоматизировать процессы?

Покажем работу системы на ваших данных за 30 минут. Расскажем, как окупится в вашей отрасли, и подберём конфигурацию под ваши процессы.

Email
info@bpm2b.ru
Москва
+7 (499) 113-22-35
Россия
8 (800) 551-91-16
Компания
ООО «Адм Про»

Мы свяжемся в течение 24 часов. Данные используем только для обработки заявки.