API занимают центральное место в сегодняшней обширной программной экосистеме. Существует практически бесконечное количество способов подключения различных веб-приложений, и API-интерфейсы поддерживают эту интеграцию за кулисами. Но какие типы API существуют и как они работают?
Выбор соответствующего типа API имеет важное значение для успеха вашего бизнеса. Существуют разные категории в зависимости от протоколов, функций и уровней доступа — не каждая интеграция программного обеспечения будет одинаковой. Например, API, который раскрывает данные для общественности, не потребует той же сборки, что и API, созданный исключительно для обслуживания вашего внутреннего персонала.
В этом руководстве мы познакомим вас с различными типами API, чтобы вы знали, какие использовать для эффективного и безопасного обмена данными вашей компании.
Какие существуют типы API?
Говоря об API, мы обычно говорим о подкатегории API, называемой веб-API. Доступ к веб-API осуществляется с использованием протокола передачи гипертекста (HTTP), того же протокола, который используется для получения и отображения веб-страниц в браузерах.
Мы можем разделить веб-API на группы по предполагаемому уровню доступа и области использования. Существует четыре широко согласованных веб-API: открытые, партнерские, внутренние и составные.
Открытые API
Открытые API, также известные как общедоступные или внешние API, доступны любому разработчику. В результате открытые API обычно имеют относительно низкие меры аутентификации и авторизации и часто ограничены в ресурсах, которые они используют совместно. Хотя некоторые открытые API бесплатны, для других требуется абонентская плата, которая часто зависит от количества вызовов.
Публичный доступ к API дает несколько преимуществ, самым большим из которых является возможность открытого обмена данными. Это побуждает любую внешнюю компанию или разработчика интегрироваться с приложением, которому принадлежит API, что делает как стороннее программное обеспечение, так и API более ценными. Благодаря отсутствию ограничений и простоте реализации, обеспечиваемой открытым API, третьи стороны могут быстро использовать предоставляемые им данные.
Например, дорожное приложение Waze использует общедоступные API, предоставленные муниципалитетами и другими партнерами, для информации о перекрытых дорогах, авариях, задержках строительства и служебных транспортных средствах. В свою очередь, Waze упрощает навигацию по городам, что радует жителей и привлекает больше посетителей.
Партнерские API
API-интерфейсы партнеров доступны извне, но только тем, кто имеет деловые отношения с компанией-разработчиком API. Доступ ограничен авторизованными клиентами с официальными лицензиями, поэтому меры безопасности, как правило, более строгие, чем с публичными API.
Некоторые компании отдают предпочтение API-интерфейсам партнеров, потому что они хотят большего контроля над тем, кто может получить доступ к их ресурсам, и большего влияния на то, как эти ресурсы используются. Например, Pinterest применил основанный на представлении подход к предоставлению доступа к новым службам данных через свой API, требуя от партнеров отправки запроса с подробным описанием того, как они хотели бы использовать API, прежде чем им будет предоставлен доступ.
Мы можем разделить веб-API на группы по предполагаемому уровню доступа и области использования. Существует четыре широко согласованных веб-API: открытые, партнерские, внутренние и составные.
Открытые API
Открытые API, также известные как общедоступные или внешние API, доступны любому разработчику. В результате открытые API обычно имеют относительно низкие меры аутентификации и авторизации и часто ограничены в ресурсах, которые они используют совместно. Хотя некоторые открытые API бесплатны, для других требуется абонентская плата, которая часто зависит от количества вызовов.
Публичный доступ к API дает несколько преимуществ, самым большим из которых является возможность открытого обмена данными. Это побуждает любую внешнюю компанию или разработчика интегрироваться с приложением, которому принадлежит API, что делает как стороннее программное обеспечение, так и API более ценными. Благодаря отсутствию ограничений и простоте реализации, обеспечиваемой открытым API, третьи стороны могут быстро использовать предоставляемые им данные.
Например, дорожное приложение Waze использует общедоступные API, предоставленные муниципалитетами и другими партнерами, для информации о перекрытых дорогах, авариях, задержках строительства и служебных транспортных средствах. В свою очередь, Waze упрощает навигацию по городам, что радует жителей и привлекает больше посетителей.
Партнерские API
API-интерфейсы партнеров доступны извне, но только тем, кто имеет деловые отношения с компанией-разработчиком API. Доступ ограничен авторизованными клиентами с официальными лицензиями, поэтому меры безопасности, как правило, более строгие, чем с публичными API.
Некоторые компании отдают предпочтение API-интерфейсам партнеров, потому что они хотят большего контроля над тем, кто может получить доступ к их ресурсам, и большего влияния на то, как эти ресурсы используются. Например, Pinterest применил основанный на представлении подход к предоставлению доступа к новым службам данных через свой API, требуя от партнеров отправки запроса с подробным описанием того, как они хотели бы использовать API, прежде чем им будет предоставлен доступ.
Внутренние API
В отличие от открытых и партнерских, внутренние API (также называемые частными) не предназначены для использования третьими лицами. Внутренние API доступны только для использования внутри компании и предназначены для оптимизации передачи данных между командами и системами. Разработчики, работающие в компании, могут использовать эти API, а сторонние разработчики — нет.
Поскольку внутренние API-интерфейсы не задокументированы в общедоступных комплектах для разработки программного обеспечения (или вообще не задокументированы в некоторых случаях), они часто полностью скрыты от общественности. Тем не менее, многие компании в конечном итоге обнародуют свои внутренние API.
Использование API для внутренней передачи данных считается более эффективным, безопасным и отслеживаемым. Это также масштабируемое решение — когда компания внедряет новую внутреннюю систему, эта система может взаимодействовать с существующими системами через их API.
Составные API
Составные API-интерфейсы объединяют несколько интерфейсов, позволяя разработчикам объединять вызовы или запросы и получать единый ответ с разных серверов. Если вам нужны данные из разных приложений или источников данных, вам стоит использовать составной API. Кроме того, вы можете использовать составной API для запуска автоматической цепочки вызовов и ответов без вашего вмешательства.
Возьмите пример из Stoplight: скажем, вы хотите создать заказ в API корзины покупок. Вы можете подумать, что для этого требуется всего один запрос. Но на самом деле нужно сделать несколько запросов. Во-первых, вам нужно создать профиль клиента. Затем создать заказ, добавить элемент, добавить другой и изменить статус заказа. Вместо того, чтобы делать пять отдельных вызовов API подряд, вы можете сделать только один с составным API.
В отличие от открытых и партнерских, внутренние API (также называемые частными) не предназначены для использования третьими лицами. Внутренние API доступны только для использования внутри компании и предназначены для оптимизации передачи данных между командами и системами. Разработчики, работающие в компании, могут использовать эти API, а сторонние разработчики — нет.
Поскольку внутренние API-интерфейсы не задокументированы в общедоступных комплектах для разработки программного обеспечения (или вообще не задокументированы в некоторых случаях), они часто полностью скрыты от общественности. Тем не менее, многие компании в конечном итоге обнародуют свои внутренние API.
Использование API для внутренней передачи данных считается более эффективным, безопасным и отслеживаемым. Это также масштабируемое решение — когда компания внедряет новую внутреннюю систему, эта система может взаимодействовать с существующими системами через их API.
Составные API
Составные API-интерфейсы объединяют несколько интерфейсов, позволяя разработчикам объединять вызовы или запросы и получать единый ответ с разных серверов. Если вам нужны данные из разных приложений или источников данных, вам стоит использовать составной API. Кроме того, вы можете использовать составной API для запуска автоматической цепочки вызовов и ответов без вашего вмешательства.
Возьмите пример из Stoplight: скажем, вы хотите создать заказ в API корзины покупок. Вы можете подумать, что для этого требуется всего один запрос. Но на самом деле нужно сделать несколько запросов. Во-первых, вам нужно создать профиль клиента. Затем создать заказ, добавить элемент, добавить другой и изменить статус заказа. Вместо того, чтобы делать пять отдельных вызовов API подряд, вы можете сделать только один с составным API.
Выбор правильного типа API
Подводя итог, мы можем сгруппировать веб-API в четыре широкие категории:
Если вы не из тех, кому нужно знать мельчайшие детали, это хорошее базовое понимание типов API и того, как их используют разработчики. Используя правильный API, вы предоставите своему бизнесу возможность сотрудничать с другими приложениями, расширяя свой охват и влияние.
- Открытые API, к которым может получить доступ любой разработчик.
- Партнерские API, доступ к которым имеют только авторизованные разработчики.
- Внутренние API, к которым могут получить доступ только внутренние команды.
- Составные API, объединяющие несколько API.
Если вы не из тех, кому нужно знать мельчайшие детали, это хорошее базовое понимание типов API и того, как их используют разработчики. Используя правильный API, вы предоставите своему бизнесу возможность сотрудничать с другими приложениями, расширяя свой охват и влияние.
Автоматизация API
API можно использовать для автоматизации определенных задач. Это может быть что угодно: от автоматической отметки пункта списка дел до соединения двух сложных систем вместе. Автоматизация может сэкономить время, энергию и деньги, устраняя необходимость в ручных операциях.
Если вы достаточно изучили API и ищете способ сделать ваши бизнес-процессы более плавными, читайте о том, как автоматизация API может помочь в этом.