Введение в API
Когда посетители взаимодействуют с приложением, они используют графический интерфейс (UI). Приложения же общаются друг с другом через прикладной программный интерфейс — API (Application Programming Interface). Он выполняет функцию моста или посредника: позволяет одному приложению отправлять запрос другому и получать результат. Основные типы: REST, SOAP, gRPC, GraphQL, Webhooks, WebSockets и WebRTC.
Что такое API
Простыми словами, это набор инструкций, позволяющий связать программы друг с другом. Он выступает посредником, который задаёт правила общения приложений.
Определение интерфейса программирования приложений
Прикладной программный интерфейс (Application Programming Interface) — это набор правил и инструментов, позволяющий программам работать: взаимодействовать, обмениваться данными и использовать возможности друг друга.
Почему современные сервисы строятся вокруг API
Разработчикам не нужно писать код с нуля — достаточно интеграции с системой, предоставляющей необходимые функции.
API как основа интеграции систем
Примеры, когда разработчики настраивают межсистемный обмен:
- подключение модуля с картами на сайте;
- добавление в интернет-магазин функции онлайн-оплаты с карт или электронных кошельков;
- внедрение ИИ-агентов и нейросети в чат-бот;
- подключение авторизации на сайте через социальные сети.
Как работает API
Прикладной программный интерфейс подразумевает ключевые понятия:
- Контракт — набор договорённостей, как будут общаться клиент и сервер. Задаёт форматы запросов (тело запроса, заголовки, URL-параметры), методы (GET, POST, PUT, DELETE), параметры, типы данных, коды ошибок и т. д.
- Конечная точка (Endpoint) — URL-адрес, по которому отправляется запрос. Обычно включает базовый URL + конечный путь: например, https://platformv.sbertech.ru + /data.
- Документация — техническое руководство по интеграции приложений. Для документирования могут использовать Swagger, Confluence, Postman, Platform V GetDocs.
Принцип взаимодействия «клиент — сервер»
Механика работы выглядит таким образом:
- Программа или пользователь отправляет запрос через прикладной программный интерфейс.
- Сервер обрабатывает запрос.
- API возвращает пользователю или программе результат.
Клиент-серверное взаимодействие подразумевает чёткое разделение ролей. Клиент работает с интерфейсом (GUI, ввод). Сервер — с бэкэндом (безопасность, логика, данные).
HTTP-запросы и ответы
HTTP-запрос — сообщение, которое клиент (браузер или приложение/программа) отправляет на сервер. Запрос имеет определённую структуру.
Строка запроса (Request Line):
- Метод (GET, POST, PUT, DELETE);
- URL (путь);
- версия протокола (HTTP/1.1).
Заголовки (Headers) содержат параметры, описывающие запрос:
- тип данных;
- файлы куки;
- авторизацию.
Тело запроса (Body) содержит данные, передаваемые на сервер (как правило, для POST/PUT).

Ответ сервера (HTTP Response) включает:
- код состояния — 2хх, 3хх, 4хх, 5хх;
- заголовки ответа;
- тело ответа.
Методы API (GET, POST, PUT, DELETE)
| Запрос | Что такое, функция | Для чего используется | Пример |
| GET | Чтение | Запросить данные сервера, не изменяя состояния ресурса | Получить фото пользователя с id=12345 |
| POST | Создание | Отправить данные на сервер, чтобы создать новый ресурс | Нажать «Добавить», чтобы завести новую задачу в корпоративной программе или системе |
| PUT | Замена/обновление | Изменить фотографию или день рождения в социальной сети | |
| DELETE | Удаление | Удалить ресурс с сервера | Удалить профиль из соцсети или удалить задачу из внутрикорпоративной программы |
Для взаимодействия клиента и сервера также могут использоваться методы PATCH (частичное изменение ресурса), HEAD (получение заголовка объекта) и OPTIONS (возвращение списка доступных методов).
Форматы данных (JSON, XML)
JSON и XML — текстовые форматы обмена данными между приложениями. В JSON (JavaScript Object Notation) используется пара «ключ:значение». XML (Extensible Markup Language) подразумевает иерархию и теги.
Пример кода с данными в формате JSON:
{ "name": "SberTech", "site": "https://platformv.sbertech.ru/", "products": ["Pangolin DB", "SberLinux OS Server"] }
Пример кода программы с информацией в XML:
<user> <name>SberTech</name> <site>https://platformv.sbertech.ru/</site> <products> <product>Pangolin DB</product> <product>SberLinux OS Server</product> </products> </user>
Преимущества использования API
Программные интерфейсы используются не только для интеграции функций и приложений. Компания может развивать API как самостоятельный продукт и предоставлять доступ к сервису: так работает подход «API как продукт».
Спрос на прикладные интерфейсы обусловлен рядом плюсов:
- возможностью использовать готовые решения и функции (карты, платёжные системы), а не создавать с нуля;
- адаптацией под потребности бизнеса, созданием собственных решений на базе прикладных интерфейсов;
- обеспечением масштабируемости системы без переписывания всего кода.
Подключение API экономит время программистов, сокращает издержки бизнеса на разработку и ускоряет время выхода продукта на рынок.
Архитектура API-систем
Ключевые компоненты архитектуры:
- клиент (Client) — приложение/программа, инициирующее запрос;
- сервер (Server) — система, которая обрабатывает запросы и предоставляет данные;
- API-шлюз (Gateway) — единая точка входа, необходимая для маршрутизации, безопасности, аутентификации и кеширования;
- ресурс (Resource) — сущности (бизнес-объекты), в которым предоставляется доступ: заказы, оплаты, пользователи;
- конечная точка (Endpoint) — URL-адрес, по которому клиент обращается к конкретному ресурсу;
- методы (HTTP verbs) — команды/функции, определяющие действие с ресурсом: создать, удалить, получить;
- формат данных (Data format) — структуры для обмена данными: например, JSON или XML.
API Gateway
Шлюз работает как единая точка входа. Он отвечает за функции безопасности и интеграции в различных сегментах сети и каналах обслуживания. API Gateway принимает запросы и направляет их к нужным микросервисам. Дополнительно шлюз может:
- проверять токены и права доступа пользователей;
- блокировать лишние запросы и ограничивать нагрузку;
- кешировать данные;
- валидировать запросы и ответы для защиты от вредоносного кода.
Примеры ПО — Platform V SOWA, IBM DataPower, Apache APISIX.

Микросервисная архитектура
Микросервисная архитектура подразумевает разделение кода приложения на мелкие сервисы. Они используют API для взаимодействия друг с другом и шлюзом API Gateway.
Пример — в интернет-магазине могут быть реализованы отдельные микросервисы доставки, оплаты, каталога, заказов, пользователей и иные. Шлюз API Gateway принимает запрос на создание аккаунта, направляет его микросервису пользователей и получает ответ.
Чем больше микросервисов, тем больше программных интерфейсов для их работы, поэтому важно понять, как управлять API: добавлять новые, отслеживать неактуальные, поддерживать обратную совместимость.
Управление версиями API
Часто в программные интерфейсы нужно внести критические обновления:
- добавить новую функциональность;
- изменить структуру данных запроса и ответа;
- устранить риски безопасности;
- нарастить функциональность, масштабировать.
Изменений так много, что проще не обновлять старую версию, а создать новую. Но при этом важно не нарушить работу приложений, которые уже используют текущее API.
Эту задачу решает версионирование. Версия API может передаваться в HTTP-заголовках запроса, в теле запроса, в Query-параметрах или URL. Пример, когда версия программного интерфейса прописывается в Query-параметрах:
GET https://sbertech.ru/api/resource?version=1.0
Актуальную версию публичных API указывают в официальной документации сервиса. Там же разработчики могут могут найти примеры, как указать версию API в запросе.
Где используются API
Интерфейс прикладного программирования используют для взаимодействия программ, сервисов, операционных систем.
Веб-сервисы
Интеграция позволяет интернет-сайту или веб-сервису получать данные с других ресурсов:
- курсы валют Центрального банка;
- карты сторонних поставщиков;
- виджеты погоды;
- способы оплаты в платёжной системе.
Мобильные приложения
Приложение на iOS или Android работает как клиент. С помощью прикладного интерфейса в приложении можно:
- отправить в нейросеть запрос на генерацию кода или картинки и получить ответ ИИ;
- зайти в приложение интернет-магазина и увидеть статус доставки;
- авторизоваться через социальные сети (функция «Войти через ВКонтакте»).
Облачные платформы
Application Programming Interface позволяют приложениям взаимодействовать с облачными платформами (сервера, хранилища, базы данных).
Интеграции между сервисами
Программные интерфейсы используют для получения и синхронизации информации из разных систем:
- ИТ-решений для управления клиентами (CRM): Salesforce, HubSpot, Битрикс 24;
- инструментов командной работы: Trello, Asana, Kaiten, Jira, Confluence;
- почтовых сервисов: Gmail, Yandex, Outlook, Mail.ru;
- инструментов визуализации и аналитики: Power BI, Tableau;
- решений для интеграции с банками и платёжными системами: Сбер.

Основные типы API
В зависимости от архитектуры выделяют следующие типы:
- REST (Representational State Transfer, передача репрезентативного состояния);
- SOAP (Простой протокол доступа к объектам);
- gRPC (фреймворк для удалённого вызова процедур, разработанный для взаимодействия микросервисных архитектур);
- GraphQL.
Также на проектах могут использовать Webhooks, WebSockets и WebRTC.
REST API
Архитектурный подход работает на следующих принципах:
- модели взаимодействия «клиент — сервер» (client — server): разделении клиентской части и логики (бэкэнд);
- отсутствии состояния (Stateless): сервер не хранит информацию о предыдущих запросах;
- HTTP-методах: использовании запросов с GET, POST, PUT, DELETE, PATCH, HEAD;
- кэшировании (cacheability): ответы сервера содержат информацию о том, можно или нельзя их кэшировать;
- системе с несколькими уровнями (Layered System): клиент взаимодействует с конечным интерфейсом, но не знает, где тот находится, — на сервере или проходит через балансировщик нагрузки, прокси-сервер или шлюз.

SOAP API
SOAP — протокол обмена структурированными сообщениями на основе XML, используемый для взаимодействия распределённых систем. Поддерживает как RPC-стиль, так и документно-ориентированный обмен. Технически это работает следующим образом:
- Формат сообщений: использование XML для запросов и ответов со строгой типизацией данных.
- Структура взаимодействия: построение интерфейсов, основанных на объектах и методах.
- Транспорт: SOAP передаётся поверх различных протоколов (HTTP, SMTP, TCP). При использовании HTTP запрос отправляется методом POST.
GraphQL
GraphQL — это язык запросов, архитектурный стиль и набор инструментов для создания прикладных интерфейсов и управления ими.
gRPC
Система g Remote Procedure Calls разрабатывалась для взаимодействия микросервисных архитектур. Она позволяет клиентскому приложению вызывать методы серверного приложения на другом компьютере так, словно это локальный объект. gRPC работает поверх протокола HTTP/2 и использует формат Protobuf.
Основные риски и проблемы API
По данным Q1 2025 State of API [5], 99% компаний зафиксировали проблемы безопасности прикладных интерфейсов за последние 12 месяцев.
Уязвимости безопасности
С 2019 года OWASP публикует топ-10 рисков (Top 10 API Security Risks — 2023) [6]. Среди них:
- нарушение контроля доступа на уровне объекта (Broken Object Level Authorization (BOLA/IDOR));
- нарушения аутентификации (Broken Authentication);
- нарушение контроля доступа к свойствам объекта (Broken Object Property Level Authorization);
- неограниченное потребление ресурсов (Unrestricted Resource Consumption).

Ограничения производительности
Доступ к API без ограничения количества запросов за определённый промежуток времени может стать причиной злоупотреблений и перегрузки системы. Разработчики устанавливают лимиты: например, мгновенную блокировку запроса или замедление обработки (троттлинг).
Управление доступом
Чтобы снизить риск несанкционированного доступа, используют механизмы управления доступом с функциями:
- управления версиями и жизненным циклом программных интерфейсов (v 1, v 2);
- аутентификации и авторизации (ключи, идентификаторы (токены));
- управления на основе ролей (RBAC) с назначением администраторов, разработчиков и их привилегий.
Итоги и ключевые выводы
API помогают интегрировать сторонние сервисы без разработки с нуля. Например, подключить оплату на сайт, авторизацию, географические карты, уведомления. Прикладные программные интерфейсы могут быть напрямую связаны с бизнес-функциями и чувствительными данными. Устаревшие, забытые или недокументированные Application Programming Interface становятся вектором атак. Чтобы минимизировать киберугрозы, компании используют ИТ-решения и программы с функциями шлюза безопасности, управления доступами, тестирования и документирования жизненного цикла API.
