Мы используем API каждый день — когда заходим посмотреть погоду или оплатить заказ на маркетплейсе. Это невидимый посредник, который позволяет применять функционал одних приложений — в других. Как работает API и зачем он нужен бизнесу и разработчикам, рассказываем в статье.
Что такое API
API (Application Programming Interface) — это свод правил, по которым одно программное обеспечение может взаимодействовать с другими. Например, использовать авторизацию для пользователей через соцсети или запрашивать прогноз погоды.
Система API регламентирует:
- Какие запросы можно отправлять;
- Какие ответы можно получать;
- Какие правила нужно соблюдать, чтобы использовать функциональность другой программы.
API можно сравнить с официантом в ресторане, который маневрирует между клиентом и кухней. Клиент не может напрямую взаимодействовать с поваром и делает заказ через посредника. API тоже принимает «заказ» пользователя и передает его на сервер.

Работа с API
API используют большинство современных сервисов. Когда вы авторизуетесь на сайте через Google, то используете API Google. Когда платите картой через сайт — API платежной системы.
При взаимодействии приложений через API одна программа «спрашивает», а другая «отвечает» по заранее согласованным правилам. Этот процесс можно разделить на четыре этапа:
- Запрос: вы заходите в приложение, чтобы получить конкретную информацию, например, узнать погоду на завтра. Приложение делает запрос к API.
- Обработка запроса: API принимает ваш запрос и обращается к метеорологической службе, чтобы найти нужную информацию.
- Ответ: API отправляет данные, которые вы запросили, обратно в приложение.
- Отображение: вы получаете ответ через интерфейс пользователя.
Виды API
В разработке программного обеспечения используют разные виды API:
- Открытые: доступ к API есть у всех разработчиков. Можно настраивать интеграцию со сторонними приложениями без специального разрешения (например, Google Maps API).
- Закрытые: предназначены для использования в закрытых системах (например, API для связи между отделами).
- Партнерские: поддержка API предоставляется по договоренности и требует авторизации (например, API банка для связи с финансовыми сервисами).
Самые популярные виды Web API для взаимодействия через интернет:
- SOAP: протокол обмена сообщениями. По сравнению с REST более формализованный. Передает данные на языке XML, поэтому его часто применяют в корпоративных приложениях.
- GraphQL: это язык запросов для API от Facebook*, который позволяет сразу запрашивать только нужные данные.
Также есть:
- API операционных систем (Windows API, POSIX): предоставляют доступ к системным ресурсам, графическим интерфейсам, управлению окнами и т.д.
- API браузеров (DOM, WebGL): используют для работы с веб-страницами, чтобы менять их содержимое и создавать интерактивную графику.
- API мобильных платформ (Android SDK, iOS SDK): применяют для разработки мобильных приложений. Позволяют использовать функции устройства, например, камеру, GPS, сенсоры и т.д.
Выбор конкретного API зависит от поставленной задачи и особенностей проекта.
Как использовать API
В стандартных HTTP-методах используют четыре типа API-запросов:
- GET — отправить запрос на указанный URL и получить данные с сервера;
- POST — добавить новую информацию на сервер;
- PUT — обновить существующие данные;
- DELETE — удалить данные с сервера.

Для работы с большинством API требуется аутентификация. Ее получают с помощью:
- API-ключа — это уникальный идентификатор. Чтобы получить его, нужно зарегистрироваться на сервисе, предоставляющем API, перейти в раздел интеграций и сгенерировать ключ.

- OAuth — более сложный механизм аутентификации, обычно его используют для авторизации через соцсети. Позволяет пользователям предоставлять ограниченный доступ к данным, не раскрывая пароли и логины.
Чтобы использовать OAuth, нужно зарегистрировать приложение на сервере OAuth конкретного сервиса (например, Яндекс, VK ID, Google и т.д.), получить Client ID и Client Secret, а затем использовать их для запроса токена.

Плюсы и минусы API
У технологии API есть много преимуществ:
- Ускоряет разработку: программистам не нужно создавать функции с нуля, а можно применять готовые решения. Например, использовать сторонние сервисы для авторизации пользователей (Google или VK). Это позволяет сосредоточиться на уникальных функциях и не тратить время на типовые задачи.
- Обеспечивает безопасность данных: многие API-сервисы предлагают встроенные механизмы фильтрации и проверки запросов.
- Обеспечивает интеграцию с внешними сервисами: через API можно расширить функционал приложения, например, подключиться к социальным сетям, системам управления контентом, облачным хранилищам, банковским инструментам и т.д.
Также у системы API есть минусы и ограничения:
- Лимиты запросов: в определенный период времени можно отправлять ограниченное число запросов (особенно, на бесплатных тарифах). При этом некоторые приложения требует частого обращения к API или имеют большое количество пользователей.
- Проблемы совместимости: разработчики сервисов могут обновлять свои API, добавлять новые функции или менять существующие. Иногда из-за этого код перестает работать.
- Зависимость от сторонних сервисов: внешний API может «упасть» или стать платным, тогда придется искать альтернативные решения и адаптироваться к новым условиям.
Главное про работу с API
- С помощью API можно использовать функционал одного сервиса в другом;
- Есть открытые, закрытые и партнерские API, которые предоставляются ограниченному кругу пользователей;
- В стандартных HTTP-методах для работы с API используют четыре типа запросов: GET, POST, PUT и DELETE;
- Аутентификация осуществляется через API-ключи или OAuth-токены;
- Количество запросов через API может быть ограничено на бесплатных тарифах.
*Meta — деятельность компании признана экстремистской в России.