Найти тему

Что такое API или как общаются программы?

Мы ежедневно смотрим погоду, пользуемся приложениями для заказа еды, бронирования билетов, общения, поиска информации, постим что-то в социальные сети. Но задумывались ли вы, как все эти приложения взаимодействуют друг с другом?

API (англ. application programming interface — программный интерфейс приложения) — это набор правил и спецификаций, которые позволяют разным приложениям и сервисам обмениваться информацией и удаленно взаимодействовать друг с другом. API как бы "переводит" данные из сырого формата в стандартизированные сетевые запросы, чтобы разные программы могли их понять, позволяя легко интегрировать приложения и сервисы друг с другом.

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

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

1. Запрос. Команда электриков отправляет "запрос" команде строителей: "Готовы ли вы к установке розеток?".
2. Ответ. Команда строителей "отвечает": "Да, стены готовы!".
3. Действие. Команда электриков получает информацию, что стены готовы и начинает устанавливать розетки.

По такому же принципу работает API:

1. Запрос. Одна программа отправляет запрос API другой программе, чтобы получить определенную информацию или выполнить действие.
2. Ответ. Программа, которая получила запрос, обрабатывает его, выполняет необходимое действие и отправляет ответ обратно.
3. Действие. Первая программа получает ответ и использует полученные данные для дальнейших действий.

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

1. Запрос. Покупатель нажимает кнопку оплаты, отправляется вызов API для получения информации. Запрос передается от приложения к веб-серверу платежной системы через унифицированный идентификатор ресурса API (URI) и включает в себя адрес запроса, заголовки и иногда тело запроса.
2. Ответ. После получения корректного запроса с веб-страницы продукта API обращается к внешней программе или веб-серверу, в данном случае к сторонней платежной системе. Сервер отправляет API ответ с запрашиваемой информацией.
3. Действие. API передает данные первоначальному запрашивающему приложению, в данном случае веб-сайту продукта.

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

Примеры API

  1. Погода. Приложение с прогнозом погоды отправляет запрос API метеорологической службы, чтобы получить данные о погоде.
  2. Приложения для поиска и бронирования отелей, авиабилетов, туров обмениваются данными и запросами API с авиакомпаниями и гостиницами.
  3. Социальные сети используют API, чтобы позволить другим организациям делиться контентом, размещенным в приложениях этих социальных сетей, и встраивать его на свои сайты. Тот же API использует вся рекламная аналитика.
  4. Приложения навигации, например 2Gis, Yandex или Google Maps при прокладке маршрутов или отслеживании машины доставки.
  5. Приложения SaaS (программное обеспечение как услуга), CRMки, часто содержат несколько встроенных API, которые позволяют компаниям интегрироваться с другими приложениями.
  6. Е-коммерция использует API для обработки платежей, рассылки, отслеживания запасов, интеграции с социальными сетями.

Зачем это предпринимателю?

  1. Расширение функционала без разработки с нуля
    API позволяет вам легко интегрировать функционал других сервисов в ваше приложение или сайт. Например, вы можете добавить возможность оплаты через выбранный платежный шлюз, авторизацию через Яндекс или Google, отправку уведомлений, и многое другое, не тратя время и ресурсы на самостоятельную разработку.
  2. Создание новых бизнес-моделей
    API позволяет создавать новые сервисы, которые опираются на функционал других компаний. Например, вы можете разработать приложение, которое агрегирует информацию о продуктах из разных магазинов, и получать комиссию с продаж.
  3. Автоматизация процессов
    API могут быть использованы для автоматизации различных задач в вашем бизнесе. Например, вы можете автоматически отправлять информацию о заказах клиентам, обновлять данные в CRM-системе, или создавать отчеты без участия человека.