API — это программный интерфейс: набор возможностей и правил, через которые одна программа обращается к другой. Он даёт доступ к готовым функциям или данным без необходимости разбираться во внутреннем устройстве чужой системы.
API расшифровывается как *Application Programming Interface* — «программный интерфейс приложения». Это не обязательно отдельный интернет-сервис: API есть у операционных систем, библиотек и браузеров.
Контракт между программами
У API есть контракт взаимодействия. Он описывает доступные операции, нужные входные данные, формат результата и способ сообщить об ошибке.
Например, приложение магазина может передать службе доставки адрес, телефон получателя и параметры заказа. Ему не нужно знать, как сервис распределяет курьеров, строит маршруты и хранит данные: достаточно получить идентификатор доставки или сообщение об ошибке.
Поставщик может менять внутреннюю реализацию без изменений на стороне клиента, если сохраняет совместимое поведение API. Но контракт тоже меняют, поэтому перед обновлением стоит проверить документацию и условия совместимости.
API не равно «готовое решение без усилий». Оно может сократить объём собственной разработки, но интеграция всё равно требует изучить документацию, настроить доступ, обработать ошибки, протестировать работу и поддерживать её дальше.
Как работает веб-API
Для веб-API распространена клиент-серверная модель по HTTP. Сайт, мобильное приложение или внутренняя система отправляет запрос, а сервер его обрабатывает и возвращает ответ.
Запрос обычно содержит:
- URL — адрес ресурса или операции;
- HTTP-метод — действие клиента;
- параметры или тело запроса — входные данные;
- заголовки — служебную информацию, в том числе данные для доступа.
В документации операции часто описывают через путь и HTTP-метод. GET используют для получения представления ресурса, а POST — для обработки переданных данных по правилам конкретного ресурса. Одного URL недостаточно: для многих действий критичны ещё метод, тело и заголовки.
Сервер возвращает HTTP-статус и при необходимости данные. Код 200 означает успешную обработку запроса, а 404 — что сервер не нашёл текущее представление ресурса или не раскрывает его наличие. Детали ошибки сервис может передать в теле ответа.
Упрощённый обмен выглядит так:
- Интернет-магазин отправляет сервису доставки данные заказа.
- Сервис проверяет формат данных и права доступа.
- Если всё в порядке, он создаёт доставку и возвращает её идентификатор и статус.
- Магазин сохраняет ответ и показывает информацию покупателю.
API здесь не «магически перенаправляет» данные между программами. Это интерфейс и правила доступа к возможностям поставщика; архитектура за ним может быть устроена по-разному.
Карты, рабочие сервисы и Windows
Google Maps Embed API позволяет встроить интерактивную карту на страницу через iframe и URL с параметрами. Maps JavaScript API поддерживает маркеры и их настройку: сайт может показать магазины, пункты выдачи или офисы.
API используют и для обмена данными между рабочими системами. CRM может передавать информацию в сервис телефонии, а тот — возвращать сведения о звонках. Возможность такой интеграции и состав данных зависят от API обоих продуктов и настроек доступа.
API есть внутри компьютера. Windows API включает интерфейсы для пользовательского интерфейса, системных служб, данных и графики. Windows, например, предоставляет общие окна выбора файлов. Когда программы используют этот механизм, пользователь видит знакомый сценарий вместо очередной авторской трактовки кнопки «Открыть».
Ключ, токен и публичный API
API часто защищают, чтобы ограничить доступ к данным и операциям, а также контролировать использование ресурсов. Для этого поставщики используют аутентификацию и авторизацию.
Аутентификация отвечает на вопрос «кто обращается к системе». Авторизация определяет, что этому клиенту или пользователю разрешено делать. Сотрудник может войти в корпоративную систему, но не получить право выгружать финансовые отчёты.
API-ключ обычно идентифицирует приложение или проект. Поставщик может использовать его для учёта запросов, квот и ограничений. Это не логин и пароль пользователя: для чувствительных операций одного ключа может быть недостаточно.
Во многих системах используют токены доступа. Они могут задавать область прав и срок доступа; способ их выдачи зависит от схемы, которую определил поставщик API.
Публичный API не обязательно работает анонимно. Публичными могут быть документация и сам факт доступности интерфейса, но для реального вызова всё равно могут потребоваться ключ, токен, учётная запись или договор. Открытая дверь в документацию не означает свободный доступ к данным.
Как подключить API
Подключение начинается с документации: разработчик изучает операции, форматы данных, примеры ответов, ограничения, способ получить доступ и правила обработки ошибок.
Затем команда получает нужные учётные данные и делает тестовый запрос в отдельной среде, если поставщик её предоставляет. Проверять стоит не только успешный ответ, но и неверные данные, отсутствие прав, превышение лимита и временную недоступность сервиса.
Иногда поставщик выпускает SDK — клиентскую библиотеку для конкретного языка программирования. Она может упростить работу с запросами и типами данных, но не обязательна: при подходящем протоколе и документации к API можно обращаться напрямую.
Готовую интеграцию для типовой задачи стоит выбирать после проверки ограничений: какие данные она получает, сколько стоит использование, что произойдёт при сбое и можно ли заменить поставщика. API экономит время, когда контракт понятен, а зависимость от внешнего сервиса осознана; слово «интеграция» само по себе пока ничего не гарантирует.
Обсудить выводы
В Telegram-канале «Влад ПРО» публикую короткие разборы новостей SEO, аналитики и digital-маркетинга.
Перейти в Telegram →