Открыть сервисСервис

Типы API

API (Application Programming Interface, программный интерфейс приложения) — это набор правил, протоколов и инструментов, определяющих способ взаимодействия между программными компонентами: сервисами, библиотеками, операционными системами или аппаратными устройствами. Типы API классифицируются по нескольким основаниям — области доступа, способу передачи данных, назначению и модели предоставления, — что определяет их применимость в конкретных сценариях разработки.

Классификация по области доступа

Операционные системы

Операционные системы API (OS API) предоставляют приложениям доступ к ресурсам компьютера: файловой системе, памяти, процессам, сетевым подключениям, дисплею и периферии. На платформе Windows это семейство Win32 API, на POSIX-системах (Linux, macOS) — системные вызовы ядра. Примеры: функции CreateFile и ReadFile в Windows, open и read в Linux.

Библиотечные API

Библиотечные API — это интерфейсы, предоставляемые готовыми библиотеками и фреймворками. Разработчик вызывает функции библиотеки, не реализуя их самостоятельно. Примеры: стандартная библиотека языка Python, Qt для графических интерфейсов, OpenCV для компьютерного зрения.

Программные API (API приложений)

API приложений — интерфейсы, которые программное обеспечение предоставляет другим программам для доступа к его функциям. Пример: API Microsoft Office, позволяющий управлять документами Word и Excel из внешнего кода.

Аппаратные API

Аппаратные API описывают интерфейсы взаимодействия с физическими устройствами: датчиками, принтерами, контроллерами. Пример — USB API, Bluetooth API, API драйверов устройств.

Классификация по способу передачи данных

REST API

REST (Representational State Transfer) — архитектурный стиль, основанный на использовании HTTP-запросов (GET, POST, PUT, DELETE) и передаче данных в формате JSON или XML. REST API стал де-факто стандартом для веб-сервисов благодаря простоте, масштабируемости и независимости от платформы. Примеры: GitHub API, OpenWeatherMap API, API государственных услуг.

SOAP API

SOAP (Simple Object Access Protocol) — протокол обмена структурированными сообщениями поверх HTTP, SMTP и других транспортных протоколов. Использует форматирование XML и строгие схемы WSDL. SOAP API применяется в корпоративных системах, банковских и государственных сервисах, где критичны транзакционность, безопасность и стандартизация. В России SOAP-интерфейсы распространены в интеграции с 1С и банковскими системами.

GraphQL API

GraphQL — язык запросов и среда выполнения для API, предложенный Facebook (продукт Meta, признанной экстремистской и запрещённой в РФ) в 2015 году. Клиент запрашивает ровно те данные, которые ему нужны, в одном запросе. GraphQL снижает количество обращений к серверу и устраняет проблему избыточности или недостаточности данных, характерную для REST.

RPC API

RPC (Remote Procedure Call) — модель, в которой удалённый вызов функции маскируется за локальным вызовом. Современные реализации: gRPC (от Google, использует HTTP/2 и Protocol Buffers), JSON-RPC, XML-RPC. gRPC обеспечивает высокую производительность и используется в микросервисной архитектуре.

WebSocket API

WebSocket — протокол двустороннего взаимодействия поверх TCP, поддерживающий постоянное соединение между клиентом и сервером. Применяется в чатах, онлайн-играх, финансовых терминалах и системах мониторинга, где требуется обмен данными в реальном времени.

Классификация по назначению

Внутренние и внешние API

Внутренние (private) API используются внутри организации для связи между сервисами и командами разработки. Внешние (public) API предоставляются сторонним разработчикам для интеграции с продуктом. Публичные API часто сопровождаются программами партнёрства и монетизацией.

Открытые и закрытые API

Открытые API имеют публичную документацию и доступны для использования. Закрытые API используются только внутри компании и не публикуются.

Партнёрские API

Партнёрские API предоставляются выбранным партнёрам по особым договорённостям — например, банкам или операторам связи — и не являются полностью открытыми.

Модели предоставления API

API-шлюзы

API-шлюз (API Gateway) — компонент, управляющий потоком запросов к API: аутентификация, авторизация, балансировка нагрузки, кэширование, мониторинг и ограничение частоты запросов (rate limiting). Примеры: Kong, Apigee, AWS API Gateway, Yandex Cloud API Gateway.

Монетизация API

Модели монетизации включают платный доступ по подписке, оплату за запрос (pay-per-call) и бесплатные тарифы с ограничениями. В России работают платформы API-маркетплейсов, где разработчики продают доступ к своим сервисам.

Применение

API лежат в основе современной разработки: микросервисной архитектуры, мобильных приложений, интернета вещей, облачных сервисов и интеграции корпоративных систем. По данным аналитических агентств, подавляющее большинство веб-приложений используют хотя бы один внешний API. В России развитие API-экосистемы связано с цифровизацией госуслуг (ЕПГУ), платёжными системами (СБП) и открытыми данными.

Источники

  • Fielding, R. T. Architectural Styles and the Design of Network-based Software Architectures. University of California, 2000.
  • Richardson, L., Amundsen, M., Ruby, S. RESTful Web APIs. O'Reilly Media, 2013.
  • Fowler, M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
  • Руководства по API: Microsoft Learn, Google Cloud Documentation, OpenWeatherMap API Reference.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru