API: как работает программный интерфейс, виды и примеры
Дата публикации 29 сентября 2026

API

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

Что означает аббревиатура API простыми словами

В русском языке аббревиатуру переводят как «программный интерфейс приложения» или «интерфейс прикладного программирования». В текстах её нередко пишут кириллицей — «апи».

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

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

Программа, которой нужны данные другого сервиса, обращается к его API. Клиентское приложение отправляет запрос, API передаёт его на сервер и даёт ответ.

Обмен состоит из четырёх шагов:

  1. Клиент формирует запрос: адрес, метод, параметры и данные для авторизации.
  2. API проверяет, что запрос корректен и у клиента есть права.
  3. Сервер обрабатывает запрос: читает данные из базы или выполняет действие.
  4. API возвращает ответ с кодом статуса и данными, чаще всего в формате JSON.

Для чего нужен API

  • Автоматизация обмена данными. Системы передают данные друг другу без ручного ввода и выгрузок.
  • Повторное использование готовых функций. Разработчик подключает готовую функцию и не пишет её с нуля.
  • Ограничение доступа. Сервис открывает наружу только заданные операции, а внутреннее устройство остаётся закрытым.
  • Единая точка доступа для разных клиентов. Сайт, мобильное приложение и внешние партнёры получают данные через один и тот же API.

Из чего состоит API

Любой API состоит из элементов, которые описаны в его документации:

  • Эндпоинт (endpoint) — адрес, на который клиент отправляет запрос. 
  • Метод — тип действия. GET запрашивает данные, POST создаёт запись, PUT и PATCH изменяют существующую, DELETE удаляет.
  • Параметры — уточнения к запросу: город, дата, номер заказа.
  • Заголовки — служебная информация: формат данных, ключ или токен доступа.
  • Тело запроса — данные, которые клиент передаёт серверу при создании или изменении записи.
  • Ответ — данные и код статуса, по которому клиент понимает результат.

Виды API

По доступности

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

По архитектуре и протоколу

Тип Как устроен Формат данных Где применяют
REST Архитектурный стиль поверх HTTP: ресурсы адресуются через URL, действия задают методы запроса Чаще JSON Веб-сервисы, мобильные приложения, интеграции между системами
SOAP Протокол обмена сообщениями со строгим описанием контракта (WSDL) XML Банковские и корпоративные системы
GraphQL Язык запросов: клиент сам указывает, какие поля данных ему нужны JSON Приложения со сложными данными, где нужно сократить число запросов
gRPC Вызов удалённых процедур поверх HTTP/2 Protocol Buffers (двоичный) Связь микросервисов внутри одной системы

API бывает не только веб-ориентированным. Операционные системы и библиотеки тоже предоставляют программам интерфейсы: например, Windows API позволяет приложению открыть окно или прочитать файл.

Чем API отличается от REST API

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

  • клиент и сервер разделены;
  • сервер не хранит состояние между запросами, каждый запрос содержит всю нужную информацию;
  • ответы можно кэшировать;
  • интерфейс единообразен для всех ресурсов;
  • архитектура может состоять из нескольких уровней.

SOAP, GraphQL и gRPC тоже относятся к API, но принципам REST не следуют.

API-ключ, токен и авторизация

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

  • API-ключ — уникальная строка, которая идентифицирует приложение. По ключу сервис считает запросы, применяет лимиты и блокирует доступ при нарушениях.
  • Токен доступа — строка, которая подтверждает права пользователя или приложения. Токен обычно действует ограниченное время, его выдают по протоколу OAuth 2.0.

Ключи и токены открывают доступ к данным, поэтому их хранят на сервере или в защищённых переменных окружения. Публиковать их в открытом коде, репозиториях и клиентских приложениях нельзя. Если ключ утёк, его отзывают и выпускают новый.

Интеграция по API

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

Данные из другой системы получают двумя способами:

  • Запрос по расписанию (polling). Система регулярно обращается к API и спрашивает, появились ли изменения. Способ простой, но создаёт лишние запросы, а данные приходят с задержкой.
  • Webhook. Система-источник сама отправляет уведомление на заданный адрес, когда происходит событие: создан заказ, оплачен счёт, завершён звонок. Данные приходят сразу, лишних запросов нет.

Где встречается API

  • Оплата на сайте. Магазин передаёт платёжному сервису сумму и получает подтверждение.
  • Вход через аккаунт другого сервиса. Сайт получает подтверждение личности по протоколам OAuth 2.0 и OpenID Connect и не хранит пароль пользователя.
  • Карты на сайтах. Страница запрашивает у картографического сервиса координаты и маршрут.
  • Чат-боты в мессенджерах. Бот принимает сообщения и отправляет ответы через API мессенджера.
  • Маркетплейсы. Продавец выгружает остатки и получает заказы без входа в личный кабинет.

Типичные ошибки при работе с API

Код статуса в ответе показывает, что пошло не так:

Код Значение Что проверить
400 Неверный запрос Формат тела запроса, обязательные параметры
401 Клиент не авторизован Ключ или токен, срок их действия
403 Доступ запрещён Права ключа или пользователя
404 Ресурс не найден Адрес эндпоинта, идентификатор объекта, версию API
429 Слишком много запросов Лимиты сервиса, паузы между запросами
500 Ошибка на стороне сервера Повторить запрос позже, сообщить владельцу сервиса

При ошибке 429 запросы повторяют с нарастающей задержкой, иначе сервис может временно ограничить доступ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Тут можно вводить только кириллицу

Нажимая на кнопку «Отправить комментарий», вы даёте согласие на обработку персональных данных.

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

Модели бывают разные. Часть API открыта бесплатно, часть работает по подписке или оплате за число запросов. Бесплатный доступ обычно ограничен лимитами и условиями использования: например, некоторые сервисы запрещают применять данные в коммерческих проектах без отдельного соглашения. Модель оплаты и лимиты указывают в документации или на странице тарифов.

SDK (Software Development Kit) — набор инструментов для разработчика: библиотеки, примеры кода, документация. Внутри SDK часто лежит готовая обёртка над API для конкретного языка программирования, поэтому запрос отправляется одной командой вместо ручной сборки адреса и заголовков. API остаётся интерфейсом сервиса, а SDK лишь упрощает работу с ним.

Для этого подходят программы для отправки запросов: Postman, Insomnia или утилита curl в командной строке. Вы вводите адрес, выбираете метод, добавляете ключ и сразу видите ответ и код статуса. Если API описан по спецификации OpenAPI, документация часто включает интерактивную страницу (Swagger UI), где запросы отправляют прямо из браузера.

API-шлюз — единая точка входа для запросов к нескольким сервисам компании. Он принимает запрос, проверяет ключ или токен, применяет лимиты, направляет запрос нужному сервису и записывает событие в журнал. Клиент обращается к одному адресу и не знает, сколько сервисов стоит за ним.

Часто можно. Конструкторы интеграций (no-code и low-code платформы) предлагают готовые коннекторы к популярным сервисам, а связи между ними настраивают в визуальном редакторе. Программист нужен для нестандартных задач: сложной логики обработки данных, работы с API без готового коннектора или высокой нагрузки.