Что такое API?
- Глоссарий IAM
- Что такое API?
API расшифровывается как интерфейс прикладного программирования (Application Programming Interface), который представляет собой набор протоколов и подпрограмм, позволяющих различным системам и приложениям взаимодействовать друг с другом, не требуя от разработчиков или конечных пользователей знания того, как они реализованы. Это позволяет разработчикам создавать повторно используемые программные компоненты.
Разработчики часто используют API для доступа к функциям, предоставляемым существующей службой или приложением. Например, API может позволить погодному приложению получать доступ к последним данным о погоде от поставщика метеорологических услуг. API указывает формат запроса, который приложение должно использовать для получения данных, а также формат данных, которые будут возвращены метеорологической службой.
Как работают API-интерфейсы?
API-интерфейсы работают, задавая набор правил и протоколов для связи между программными компонентами. Обычно они включают спецификации для подпрограмм, структур данных, классов объектов и переменных. Вот общий обзор того, как работают API-интерфейсы:
Клиент делает запрос. Клиент (имеется в виду система или приложение) отправляет запрос на API-сервер, в котором указывается желаемая операция, например «получить данных» или «создать новый ресурс». Запрос включает все необходимые параметры и аутентификационную информацию.
API-сервер обрабатывает запрос. API-сервер получает запрос и обрабатывает его, используя базовое приложение и данные для выполнения указанной операции.
API-сервер возвращает ответ. API-сервер отправляет ответ клиенту, указывая, была ли операция успешной, и, если да, предоставляет соответствующие данные. Ответ форматируется в соответствии со спецификациями API.
Клиент обрабатывает ответ. Клиент получает ответ от API и обрабатывает данные как требуется, например, отображая их пользователю.
Таким образом, API-интерфейсы позволяют программным компонентам взаимодействовать друг с другом и обмениваться данными и функциональными возможностями. API определяет правила и протоколы для связи, поэтому разные системы и приложения могут взаимодействовать друг с другом, даже если они были разработаны разными организациями или отдельными лицами, на разных платформах, с использованием разных языков программирования.
Какие есть типы API?
Вот наиболее распространенные типы API:
Открытые API, также называемые как внешними или общедоступными API, доступны разработчикам и другим пользователям с минимальными ограничениями. Для общедоступных API может потребоваться регистрация, одобрение приложения или ключ API для предотвращения злоупотреблений.
Внутренние API, также называемые частными API, используются для обмена ресурсами и данными внутри компании или между различными системами или приложениями, принадлежащими одной и той же организации. Внутренние API доступны только пользователям в конкретной организации и скрыты от внешних пользователей.
Партнерские API похожи на открытые API, но предназначены для использования определенным кругом доверенных партнеров. Доступ к этим API обычно ограничен и требует предварительного одобрения.
Составные API сочетают в себе различные типы API для решения особо сложных задач. Они позволяют разработчикам извлекать данные из нескольких источников с помощью одного вызова API, упрощая процесс доступа к данным.
REST API (API передачи репрезентативного состояния) используют HTTP-запросы для получения, размещения, публикации и удаления данных. REST — это архитектурный стиль, использующий простые, легкие и гибкие механизмы для обмена данными между различными системами. REST API обычно используются для веб-приложений и служб.
SOAP API (API протокола простого доступа к объектам) отражают основанный на стандартах подход к веб-службам, который позволяет различным системам обмениваться данными через Интернет. SOAP использует XML для формата сообщений и полагается по части передачи на другие веб-стандарты, включая HTTP и SMTP.
XML-RPC и JSON-RPC являются API удаленного вызова процедур (RPC), которые используют XML и JSON, соответственно, в качестве форматов данных. Эти API позволяют системам обмениваться данными и вызывать процедуры в удаленных системах, как правило, по протоколу HTTP.
GraphQL API, разработанный Facebook, представляет собой новый стандарт API для создания и использования API. Он предоставляет более эффективную, мощную и гибкую альтернативу традиционным REST API. API-интерфейсы GraphQL позволяют клиентским приложениям указывать структуру необходимых им данных, а серверу возвращать только запрошенные данные.
Каждый тип API имеет свои сильные и слабые стороны и лучше подходит для тех или иных вариантов использования. Выбор подходящего типа API для конкретного проекта зависит от таких факторов, как размер и сложность проекта, целевая аудитория и тип данных, к которым осуществляется доступ.
Что является примером API?
API-интерфейсы есть везде! Вот лишь несколько примеров.
Google Maps API позволяет разработчикам добавлять функциональность Google Карт на свои веб-сайты и приложения. Розничные магазины часто используют Google Maps API для извлечения данных при использовании каталогов своих интернет-магазинов.
Розничные продавцы используют PayPal API, чтобы давать возможность своим клиентам оплачивать покупки с помощью PayPal.
Другим примером является Twitter API, который позволяет разработчикам получать доступ к данным и функциональности Twitter в своих приложениях. Twitter API предоставляет возможность получать твиты, публиковать твиты и выполнять другие действия, такие как поиск твитов и отслеживание пользователей.
Туристические сайты широко используют API, чтобы дать возможность посетителям искать и бронировать авиабилеты, проживание и другие услуги, связанные с поездками.