OpenAPI — это стандарт де-факто, применяемый для описания RESTful API, предоставляющих доступ третьим сторонам. Такие интерфейсы часто называют открытыми API.
Термин OpenAPI обозначает в первую очередь официальную спецификацию — OpenAPI Specification (OAS). Она позволяет стандартизированным способом описывать структуру и поведение интерфейсов программирования приложений (API), обеспечивая таким образом единообразие их интерпретации и взаимодействия.
Кроме того, термин «открытые API» (иногда употребляются также синонимы «публичные») может использоваться для обозначения программных интерфейсов, которые позволяют внешним разработчикам получить доступ к определённым данным или функциям. Как правило, такие API предоставляются с минимальными ограничениями и ориентированы на интеграцию с внешними сервисами и системами.
Открытые API в API-ориентированной экономике
Необходимость в согласованной спецификации для RESTful API назревала давно. Её появление стало одним из факторов стремительного роста рынка API, который сегодня играет ключевую роль в современной цифровой экономике.
Ведь в чём основной смысл раскрытия внутренних данных компании через API, если не в том, чтобы расширить возможности их применения и ускорить цифровую трансформацию? API становятся опорной инфраструктурой интеграции цифровых продуктов и сервисов, особенно в условиях, когда развивается так называемая API-first модель (API-ориентированная разработка).
Согласно отчёту Market Data Forecast, объём мирового рынка API к 2027 году достигнет 8,41 млрд долларов США, что на 34 % больше, чем в 2021 году. И хотя не все интерфейсы соответствуют OAS, именно стандартизация описаний, структур и процессов позволила внедрить API практически во всех сферах цифровой разработки.
Уже в 2020 году, по данным аналитиков SlashData, более 90 % разработчиков использовали сторонние API. Сегодня практически любое мобильное или веб-приложение интегрировано с внешними сервисами через API — от платёжных шлюзов до картографических сервисов. Именно появление общей спецификации — OpenAPI — обеспечило разработчикам универсальный, безопасный и ускоренный путь подключения к таким службам.
Что такое OpenAPI?
OpenAPI Specification (OAS) представляет собой формат описания RESTful API, позволяющий как людям (разработчикам и аналитикам), так и программным инструментам (например, генераторам кода или автоматической документации) понимать структуру и поведение API без необходимости изучать исходный код или техническую документацию вручную.
Стандарт OpenAPI является независимым от языка программирования и реализуется в виде документа в формате YAML или JSON. В документе описываются эндпоинты, методы HTTP, параметры запроса, структура ответов, модели данных, механизмы аутентификации и другие характеристики API.
Актуальная версия спецификации — OpenAPI 3.0. Она предоставляет все необходимые средства для генерации клиентских библиотек (SDK), серверных каркасов (stubs или scaffolds), чтения и валидации API, а также создания человеко-ориентированной технической документации. Это существенно упрощает построение микросервисной архитектуры и ускоряет разработку новых сервисов в экосистеме API.
Спецификация OpenAPI размещена в публичном репозитории GitHub и доступна всему профессиональному сообществу в рамках инициативы OpenAPI Initiative. Эта инициатива объединяет крупнейших ИТ-вендоров и направлена на развитие открытого стандарта описания API.
Swagger: от истоков OpenAPI до современного инструментария
До появления названия OpenAPI, структура описания REST-интерфейсов была известна как Swagger. Платформа Swagger стала первой попыткой стандартизации интерфейсов REST и предлагала как формат описания, так и набор инструментов (Editor, Codegen, UI) для генерации документации и кода.
В 2016 году Swagger Specification в версии 2.0 была передана инициативе OpenAPI Initiative (при поддержке Linux Foundation, Google, IBM, Microsoft, PayPal и других участников), которая занялась развитием спецификации на открытых началах. Начиная с версии 3.0, спецификация получила название OpenAPI, а имя Swagger осталось за инструментами экосистемы (например, Swagger Editor, Swagger Codegen и Swagger UI).
Сегодня Swagger — это практический инструментальный стек вокруг OpenAPI, включающий редакторы, валидаторы, генераторы кода и визуализационные средства. Именно с его помощью можно быстро создавать документацию, mock-серверы и интеграционные модули на основе спецификации OpenAPI.
Всё это происходило в контексте общего перехода индустрии ПО от монолитной архитектуры к микросервисной. Такие платформы, как Netflix, Amazon, Яндекс или банковские экосистемы, построены на взаимодействии множества микросервисов и внешних API. Благодаря спецификациям типа OpenAPI стало возможно стандартизировать работу этих компонентов, обеспечив совместимость, масштабируемость и переиспользуемость.
Преимущества OpenAPI для индустрии
OpenAPI — это поддерживаемый индустрией стандарт, за которым стоят крупнейшие компании и объединения. Он вобрал в себя десятилетия практического опыта построения API и стал «источником истины» (single source of truth) для разработчиков, архитекторов и бизнес-аналитиков.
Среди ключевых преимуществ стандарта:
- Универсальность и независимость от технологий и языков программирования. OpenAPI поддерживает самые разные технологии, включая Java, Python, Node.js, .NET и многие другие.
- Генерация SDK и server-stub’ов на базе спецификации. Это позволяет ускорить time-to-market и минимизировать технические ошибки.
- Возможность автоматической генерации технической документации (Swagger UI) и инструментов тестирования.
- Расширяемость: поддержка кастомных спецификаций, описания схем безопасности (OAuth2, JWT и т.д.) и структуры бизнес-логики.
- Упрощённое сопровождение и развитие API при соблюдении принципов CI/CD (непрерывной интеграции и доставки).
Наконец, важным фактором является наличие глобального профессионального сообщества, обменивающегося знаниями, шаблонами, best practices и инструментами в рамках открытого стандарта.
OpenAPI как драйвер в сфере цифровых платежей и Open Banking
API являются ключевым элементом цифровой трансформации и формирования платформенной экономики. В российском контексте особенно заметно развитие подходов на основе открытых API в банковском секторе и индустрии финтеха, где за последние годы активно обсуждается и реализуется концепция Open API в рамках инициатив по цифровизации финансовых услуг.
Внедрение стандартов Open Banking осуществляется на базе добровольного взаимодействия банков и ИТ-компаний. Ведущую роль в этом процессе играет Ассоциация ФинТех (АФТ), при поддержке Банка России. Именно в рамках АФТ формируются базовые технические стандарты использования открытых API в финансовой отрасли, включая профили по платёжным сервисам, информации о клиентах, открытию счетов и другим направлениям.
Таким образом, OpenAPI в России — это не только технический стандарт, согласованный с мировыми практиками, но и стратегический шаг к формированию новой цифровой инфраструктуры финансового рынка. Его применение способствует повышению прозрачности, совместимости решений и ускоренной разработке инновационных финансовых продуктов в интересах конечного потребителя.