Когда вы общаетесь с программистами, вы, возможно, слышали об API и о том, как их можно использовать для выполнения определённых задач и получения данных. Но что они собой представляют и зачем были созданы?
1. Что такое API?
API — это аббревиатура от Application Programming Interface (интерфейс прикладного программирования), способ, с помощью которого разные программы взаимодействуют друг с другом различными способами.
API — это не язык программирования. Функции API похожи на обычные функции.
API существуют уже давно и используются в различных приложениях и программном обеспечении. Новейшее поколение API — Web API — может применяться для любой системы (операционная система, база данных, веб-система, библиотека приложений и т. д.), даже для компьютерного оборудования.
Начнём с очень простого, не связанного с IT примера. Когда вы приходите в ресторан заказать еду, вы взаимодействуете с официантом. Вы можете заказать еду и напитки, задать вопросы о меню, попросить счёт и оплатить его.
В этом примере официант — это своего рода охранник или щит, который защищает вас от сложностей, происходящих за кулисами. Вам не нужно беспокоиться о плите, духовках, посуде, управлении запасами и ингредиентами или раздаче напитков. Он является интерфейсом между вами и всеми услугами ресторана, предоставляя способ общаться с рестораном, при этом ограждая вас от всей сложности, происходящей за сценой.
Таким образом, официанта можно рассматривать как API ресторана. И через этот пример вы интуитивно понимаете, почему API полезны.
2. Как работают API?
В примере с рестораном официант может сообщить вам статус вашего заказа, не требуя идти вам самим на кухню.
API — по сути, это дверь в наше приложение. Через эту дверь другие сторонние приложения могут получить доступ ко всем данным и функциям, которые мы создали, без необходимости предоставлять им собственный код.
Предположим, что стороннее приложение хочет получить доступ к некоторым данным или функциям, которые мы создали. Оно отправит API-запрос. Запрос API отправляется в виде простого HTTP-сообщения.
Существует несколько распространённых типов HTTP-методов: Post, Get, Put, Patch, Delete. Эти методы соответствуют операциям CRUD: Создать (Create), Читать (Read), Обновить (Update) и Удалить (Delete).
-
Метод Post создаёт что-то в веб-приложении
-
Запрос Get читает информацию из приложения
-
Put обновляет информацию в приложении
-
Patch также обновляет информацию, отличие в том, что Put заменяет информацию полностью, а Patch изменяет её частично
-
Delete удаляет информацию
В этом примере мы используем HTTP Get для запроса информации.
После отправки API-запроса приложение отправит ответ. Ответ обычно возвращается стороннему приложению в формате JSON или XML.
Это базовый принцип работы API. Чтобы лучше понять, давайте рассмотрим более понятный пример.
Например, у нас есть погодное приложение с огромной сетью метеостанций по всему миру. Наше пользовательское приложение — это мобильное приложение. Для большинства из нас построить глобальную сеть метеостанций и собрать все эти данные практически невозможно. Но в этом и заключается красота API. Любой может создать мобильное приложение и использовать API, чтобы запросить данные из уже существующего погодного приложения. Наше мобильное приложение отправляет API-запрос Get к погодному приложению. Вот пример запроса API с использованием Open Weather Map API.
У нас есть простой URL:
https://api.openweathermap.org/data/2.5/weather?q={название города}&appid={API ключ}
Этот URL содержит несколько полей. Одно поле — это место для ввода названия города, другое — API-ключ. Обычно требуется API-ключ, чтобы приложение могло отслеживать количество отправленных запросов и убедиться, что вы не отправляете спам.
Когда приложение получает этот запрос, оно отвечает запрошенными данными. Мы можем запрограммировать наше мобильное приложение на получение этой информации и отображение её в удобном интерфейсе.
3. Виды API
В зависимости от подотрасли IT-индустрии API делятся на:
3.1. Web API
Очень распространённый тип. Крупные сайты разрабатывают веб-приложения с платформой API для подключения, получения или обновления данных. Крупные сайты, такие как Facebook и Google, предоставляют API. Большинство веб-API проектируются по стандарту RESTful. Формат данных обычно JSON, XML или другой.
3.2. API операционной системы
Windows и Linux предоставляют документацию API, определяющую функции, методы и протоколы соединения, позволяющие программистам создавать приложения, взаимодействующие с ОС.
3.3. API библиотек приложений (фреймворков)
API описывает и определяет операции, которые предоставляет библиотека. API может иметь различные реализации. Также позволяет программам, написанным на одном языке, использовать библиотеки, написанные на другом.
По правам доступа API делятся на:
3.4. Open API
Общедоступные, без ограничений по доступу.
3.5. Partner API
Требуют специальных разрешений или лицензий для доступа.
3.6. Internal API
Используются только внутри компании или организации. Внутренние команды разработки используют их для улучшения продуктов или сервисов, доступных только сотрудникам.
4. Протоколы и архитектуры API
4.1. REST (RESTful API)
Представляет собой архитектуру передачи состояния, передаёт данные в лёгком формате JSON. Большинство публичных API используют его за скорость, надёжность и возможность масштабирования.
4.2. SOAP (Simple Object Access Protocol)
Существует с конца 1990-х, использует XML для передачи данных. Требует строгих правил и повышенной безопасности, требует больше пропускной способности.
4.3. XML-RPC
Использует специфический формат XML, где клиент отправляет HTTP-запрос серверу, реализующему XML-RPC, и получает HTTP-ответ.
4.4. JSON-RPC
Похож на XML-RPC, но использует JSON вместо XML. Клиент — обычно программа, вызывающая удалённый метод.
5. Заключение
В целом, API — важный инструмент для бизнеса в разных отраслях. Они дают компаниям возможность масштабироваться, стимулировать инновации и расширять аудиторию. Как пишет Forbes: «Победа или поражение всё больше зависит от того, насколько хорошо они интегрируются с внешними приложениями, устройствами и сервисами», а с технической точки зрения API делают это возможным.
Как видно, API приводят к новой волне инноваций, ориентированных на совместные сервисы. Программное обеспечение Hidemyacc имеет Open API, опубликованный в интернете и свободно доступный, позволяя владельцам сетевых сервисов предоставлять универсальный доступ пользователям.
Скачайте Hidemyacc и начните 7-дневный пробный период прямо сейчас!
Если у вас есть вопросы, комментарии или предложения, свяжитесь с нами через Telegram, Skype или поддержку Facebook Messenger.