Мы сталкиваемся с API каждый день, даже не задумываясь об этом: когда смотрим видеоролики в соцсетях или оплачиваем покупки на сайте. Технологию API широко применяют в разработке и бизнесе, сегодня без неё уже трудно представить многие процессы. Что означает этот термин и для чего используют API? Рассказываем и приводим примеры использования в нашей статье.
Что такое API
API (от английского Application programming interface, «программный интерфейс приложения») — это совокупность функций, благодаря которым разные приложения, сайты и программы взаимодействуют между собой. С помощью API одна программа (или сайт) может использовать функции другой программы или получить доступ к данным из неё.
Разработчики и тестировщики применяют такое определение: API — это готовые конструкции языка программирования, позволяющие программисту выстраивать сложную функциональность с меньшими усилиями. В самом общем смысле API — это код, благодаря которому одна часть ПО подключается к другой.
То есть API, по сути, даёт доступ к функционалу другой программы. Программный интерфейс предоставляет возможность пользоваться готовыми частями существующих программ и приложений и получать доступ к нужной информации с тех сайтов, которые имеют открытый API. И чтобы связать приложения между собой, разработчику вовсе не обязательно разбираться, как там всё устроено «под капотом».
Google использует API, чтобы предоставить разработчикам приложений возможность интегрировать информацию их сервисов с другими приложениями. Например, в Telegram можно посмотреть видеоролик с YouTube прямо в приложении.
Например, вы хотите выводить на вашем сайте плашку с информацией о погоде. Для этого не нужно писать приложение с нуля и настраивать сложные интеграции. Данные о погоде можно получать с помощью API сервиса OpenWeatherMap от Google. Вставляем этот API на свой сайт и получаем ежедневную сводку погоды.
Пример погодной панели OpenWeatherMap. Источник: сайт flows.nodered.org
Типы API
Есть много разных типов API для сайтов, приложений и операционных систем. По возможности доступа для разных пользователей API делятся на:
- внутренние API (Private) — они используются внутри компаний, чтобы ускорить процессы и снизить затраты;
- партнёрские API — доступ к API предоставляется только отдельным партнёрам и/или клиентам для оптимизации разработки и других процессов;
- публичные API (Public) — открыты для всех, используются для создания новых приложений и увеличения популярности существующих сервисов.
API также разделяют по виду операционной системы: у Windows, MacOS, Unix и других операционок есть свои API, с помощью которых разработчики пишут приложения под конкретную ОС.
Разработчики часто используют Web API как основу для создания HTTP-служб. Самые известные типы Web API:
- SOAP — протокол доступа к объектам,
- REST — передача состояния представления,
- RPC — удалённый вызов процедур.
Для чего используют API
Работа многих привычных сервисов была бы невозможна без API. Например, когда мы запускаем Gmail, он взаимодействует с серверами почтовой службы Google именно через API. Программные интерфейсы упрощают жизнь и разработчикам, и простым пользователям.
Пользователи
Пользователи, благодаря API, получают удобные сервисы со множеством функций. Когда мы покупаем кроссовки в интернет-магазине, нам не нужно переходить на сайт банка, чтобы оплатить покупку. На сайт интернет-магазина уже интегрирована платёжная система через API. Мы нажимаем «оплатить онлайн» и вводим данные карты, никуда не уходя с сайта магазина.
Бизнес
API поможет, если вам нужно подключить к сайту систему платежей или ту же авторизацию через соцсети.
Использовать сторонний API, даже если он платный, часто дешевле, чем поручать разработчикам разрабатывать функции с нуля.
С помощью API покупатели могут быстро залогиниться на сайте через свои аккаунты в соцсетях
Разработчики
API упрощает работу программистов и облегчает разработку технологических продуктов. Большинство крупных IT-компаний (таких как Google, например, или Salesforce) открывают свои API и дают разработчикам сторонних приложений пользоваться ими. Так программисты интегрируют функции других приложений в свои, а также пользуются данными из других приложений.
Вот ещё несколько причин, почему разработчики используют API.
- Готовые интерфейсы экономят деньги компании, поскольку создание собственных программных решений обычно обходится дороже.
- Разрабатывать новые продукты, используя API, проще и быстрее. Не нужно создавать свою сложную систему (например, машинного обучения), можно взять API готового сервиса.
- C API легче связать несколько сервисов и программ, можно пользоваться функциями сторонних сервисов, напрямую не общаясь с их разработчиками.
Примеры работы API в жизни
Существуют API почти для всего — платежей, финансовых сервисов, электронной коммерции, обмена данными и другие. Какие есть варианты использования API? Вот несколько распространённых.
Вход и регистрация в приложениях через аккаунты в соцсетях и Google. API Facebook*, ВКонтакте и других соцсетей позволяют пользователям получать доступ к разным сервисам по упрощённой схеме: они авторизуются через соцсети вместо того, чтобы заводить аккаунт с использованием email или телефона.
Вход в личный кабинет на сайте через соцсети
Добавление в свои сервисы функции других программ. Тот же сервис Google Calendar позволяет встроить его через API в своё приложение или сайт и управлять графиком, событиями и встречами. Яндекс платно предоставляет API таких технологий как, например, переводчик с машинным обучением, системы распознавания и синтеза речи и платформа облачных вычислений.
Документация по API на сайте Google для разработчиков
Продажа API как продукта. Компании создают собственные API и продают их другим компаниям. Например, погодный сервис Weather Underground продаёт доступ к своему API для получения метеорологических данных. А компания Salesforce через API предоставляет доступ к облачной CRM.
Получение доступа к хранилищу данных. Благодаря API пользователи получают безопасный доступ к облачным хранилищам (Google Cloud Storage, Amazon S3, MS Blobs Storage, сервисы Selectel, «Ростелеком», хранилище Mail.ru и др).
Кроме того, API используют сервисы по заказу авиабилетов, сервисы такси и многие другие. На сайты авиакомпаний встроен программный интерфейс, он дает возможность сервисам собирать данные о ценах на билеты с разных сайтов и показывать в одном месте.
Стандарты API на глазах становятся все более и более популярными. Программисту нужно уметь использовать чужие интерфейсы для взаимодействия программ и стоит разобраться в теме API, чтобы свободно пользоваться возможностями разных приложений и не задумываться о том, какой у них код.
* Facebook входят в состав Meta, которая признана экстремистской организацией и запрещена в РФ.