COMRAD404 / GLOSSARY

API (Application Programming Interface)

Application Programming Interface

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

TL;DR

API — это набор правил и программный интерфейс, через который программы обмениваются данными, функциями и возможностями.

API (Application Programming Interface) — это набор правил, протоколов или программный интерфейс, через который приложения могут обмениваться данными, функциями и возможностями. В официальных источниках по состоянию на 2026-08-16 этот термин используется широко: как общее обозначение взаимодействия между программами, как системный интерфейс ОС или программы и как основа специализированных стандартов вроде OpenAPI для описания HTTP API.

Если вам нужно понять термин быстро, главный вывод такой: API — не одна конкретная технология, а способ дать другой программе предсказуемый программный доступ к данным или функциям без знания внутренней реализации.

Английский термин: Application Programming Interface. Также встречается: API, «интерфейс программирования приложений», «программный интерфейс приложения». Важно: в документации слово API почти всегда требует уточнения контекста — речь может идти о веб-интерфейсе, системной функции ОС или узкоспециализированном стандарте.

Простыми словами

Грубо говоря, API можно представить как стойку выдачи в сервисе: вы не заходите на кухню и не разбираетесь, как всё устроено внутри, а делаете запрос по понятным правилам и получаете результат в согласованном формате. Для программы это означает то же самое: она не обязана знать внутреннее устройство другой системы, если та опубликовала понятный интерфейс.

Поэтому фраза «у сервиса есть API» обычно означает: к нему можно обращаться программно, а не только через экранный интерфейс для человека.

Как это работает

Технически API задаёт, что именно можно запросить у системы и по каким правилам это делать. В определении IBM это набор правил или протоколов, позволяющий приложениям общаться и обмениваться данными, функциями и возможностями. В документации IBM i API также описывается как функциональный интерфейс, который операционная система или лицензированная программа предоставляет приложению на языке высокого уровня для доступа к конкретным данным или функциям.

Для HTTP API часто используется отдельный уровень описания. OpenAPI Specification определяет себя как независимое от языка программирования описание интерфейса для HTTP API. Это важно для практики: сам API и его описание — не одно и то же.

Программа A
   │
   │ 1. Обращается по опубликованным правилам интерфейса
   ▼
API / описание интерфейса
   │
   │ 2. Определяет, какие данные или функции доступны
   ▼
Сервис, ОС или другой программный слой
   │
   │ 3. Выполняет действие и возвращает результат
   ▼
Программа A получает ответ
  1. Вызывающая программа использует опубликованный интерфейс, а не внутренний код другой системы.
  2. Интерфейс ограничивает и формализует доступ: что можно сделать и в каком виде ожидать результат.
  3. Исполняющая сторона — сервис, операционная система или другой слой — выполняет нужную функцию.
  4. Ответ возвращается обратно по тем же правилам интерфейса.

Есть и более узкие API-стандарты. Например, RFC 9622 описывает абстрактный API для транспортных сервисов, включая динамический выбор транспортных протоколов и сетевых путей. Это уже не «API вообще», а специализированный стандартный интерфейс в конкретной области.

Где применяется

  • Интеграция между приложениями. Это самый общий случай: одна программа получает доступ к данным, возможностям или функциям другой по согласованным правилам.
  • Системный доступ к функциям ОС или программы. В терминологии IBM i приложение на языке высокого уровня использует API, чтобы обращаться к данным или функциям, которые предоставляет операционная система или лицензированная программа.
  • Описание HTTP API. Если команде нужен машиночитаемый и независимый от языка способ описать HTTP API, для этого используется OpenAPI. По состоянию на 2026-08-16 актуальная опубликованная версия OAS — 3.2.0, а страница latest.html названа источником истины для текущей версии.
  • Транспортный уровень. В узкой стандартизованной области RFC 9622 предлагает абстрактный API для транспортных сервисов и в своём объёме предназначен на замену BSD Socket API.

Если вы работаете с ИИ-сервисами, архитектурный вопрос часто формулируется так: брать внешний закрытый API или разворачивать модель иначе. Для такого выбора полезно сравнение Open weights vs closed API: что выбрать.

Практический пример

Сценарий: вы хотите подключить внешний сервис к своему приложению и в документации видите слово «API». Чтобы не ошибиться уже на старте, идите по шагам.

  1. Уточните тип интерфейса. Это общий системный API, HTTP API или узкоспециализированный стандарт вроде транспортного API из RFC 9622?
  2. Проверьте, где находится актуальное описание. Для OpenAPI сама спецификация говорит, что HTML-файл текущей версии — это источник истины, а внутри одного minor-релиза наиболее корректной считается самая поздняя дата ревизии; более ранние ревизии считаются устаревшими.
  3. Подготовьте клиентскую часть. Практический разбор процесса есть в материале Как создать API-клиент с помощью AI.
  4. Сразу закладывайте эксплуатационные ограничения. Даже хороший интерфейс бесполезен без защиты от перегрузки и отказов, поэтому отдельно продумайте rate limiting для API и fallback при сбое API.
  5. Сверьте контекст продукта. Например, если вы смотрите на сервис, который отдаёт функции через API, полезно открыть карточку инструмента и изучить его собственную документацию; как пример можно посмотреть OpenAI TTS (GPT-4o voice) — API для синтеза речи.

Практический смысл этого сценария простой: слово «API» само по себе ещё не говорит, как именно интегрироваться. Вам нужно найти точный слой, актуальный источник описания и ограничения конкретной реализации.

Чем отличается от…

Термин Что это Чем отличается от API в общем смысле
API Общее понятие программного интерфейса и правил взаимодействия между программами Это зонтичный термин, а не один стандарт или один протокол
OpenAPI Независимое от языка программирования описание интерфейса для HTTP API Не является «любым API»; описывает именно HTTP API и только в форме спецификации
Transport Services API по RFC 9622 Абстрактный API для транспортных сервисов Это узкоспециализированный стандартный интерфейс в пределах транспортного слоя, а не универсальное определение API
Системный API в смысле IBM i Функциональный интерфейс ОС или лицензированной программы для приложений на языке высокого уровня Это частный системный контекст употребления термина API

Если коротко: API — родовое понятие, а OpenAPI и RFC 9622 — уже конкретные стандартизованные реализации или описания в отдельных областях.

Ограничения и заблуждения

  • Заблуждение: «API — это всегда веб и HTTP». Нет. По рассмотренным официальным источникам термин шире: он охватывает и межпрограммное взаимодействие вообще, и системные интерфейсы ОС, и специализированные API транспортного уровня.
  • Заблуждение: «OpenAPI и API — одно и то же». Нет. OpenAPI — это описание интерфейса для HTTP API, а не синоним любого API.
  • Заблуждение: «Есть единый стандарт API на все случаи». Нет. В источниках видно несколько разных областей употребления термина, и они частично пересекаются, но не сводятся к одной универсальной спецификации.
  • Практическое ограничение: наличие актуальной версии OpenAPI не гарантирует, что все внешние инструменты уже полностью поддерживают именно её. В исходном пакете прямо указано, что совместимость нужно проверять по релиз-нотам и журналам изменений конкретных поставщиков инструментов.
  • Ограничение контекста: RFC 9622 важен, но он не описывает «API вообще» — только абстрактный API для транспортных сервисов в своей области.
  • Редакционное ограничение: этот материал опирается только на официальный пакет источников выше и поэтому не разбирает REST, GraphQL, gRPC, аутентификацию, регионы доступности и коммерческие условия провайдеров: в данных источниках это не подтверждено.

Практический вердикт: воспринимайте API как зонтичный термин. Для реальной работы важнее не факт «API есть», а три уточнения: какой это слой, где находится источник истины для описания интерфейса и чем подтверждена совместимость вашей интеграции.

Источники

Вопросы и ответы

API и OpenAPI — это одно и то же?

Нет. API — это общее понятие программного интерфейса, а OpenAPI — независимая от языка спецификация для описания HTTP API.

API всегда связано с вебом?

Нет. В официальных источниках термин применяется и к межпрограммному обмену вообще, и к системным интерфейсам ОС, и к специализированным транспортным API.

Какая версия OpenAPI считается актуальной?

По состоянию на 2026-08-16 страница OpenAPI Specification указывает версию 3.2.0 как текущую опубликованную. На этой же странице сказано, что HTML-файл текущей версии является источником истины.

RFC 9622 заменяет все существующие API?

Нет. RFC 9622 описывает абстрактный API для транспортных сервисов и предназначен заменить BSD Socket API только в этом конкретном объёме.

Какой самый частый практический промах при работе с API?

Считать слово «API» самодостаточным описанием. На практике сначала нужно уточнить контекст: это общий интерфейс, HTTP API с отдельной спецификацией или специализированный стандарт на другом уровне системы.

Источники

SOURCES

Вопросы и ответы

FAQ
API и OpenAPI — это одно и то же?

Нет. API — это общее понятие программного интерфейса, а OpenAPI — независимая от языка спецификация для описания HTTP API.

API всегда связано с вебом?

Нет. В официальных источниках термин применяется и к межпрограммному обмену вообще, и к системным интерфейсам ОС, и к специализированным транспортным API.

Какая версия OpenAPI считается актуальной?

По состоянию на 2026-08-16 страница OpenAPI Specification указывает версию 3.2.0 как текущую опубликованную. Эта же HTML-страница названа источником истины для текущей версии.

RFC 9622 заменяет все существующие API?

Нет. RFC 9622 описывает абстрактный API для транспортных сервисов и предназначен заменить BSD Socket API только в этом конкретном объёме.

Какой самый частый практический промах при работе с API?

Считать слово «API» самодостаточным описанием. Сначала нужно уточнить контекст: это общий интерфейс, HTTP API со спецификацией или специализированный стандарт на другом уровне системы.

Читайте также

LINKS