Что такое API
- Что такое API сайта или приложения
- Для чего нужен API
- Плюсы API
- Как работать с API
- REST API: что такое и как работает
- Что такое SOAP API
- REST API и SOAP API — в чем различия
- Что такое Web API
В этой статье мы расскажем:
- что такое API;
- как пользоваться API;
- про REST, SOAP и Web API.
Что такое API сайта или приложения
API (Application Programming Interface) — это набор функций, методов и правил, в которых описан порядок взаимодействия одного сервиса (приложения, сайта, модуля) с другим.
Открытый доступ к API: что это
API выступает чем-то вроде "слоя" между приложениями. С его помощью сервисы обмениваются связанной с обеими сторонами информацией, при этом внутренние процессы остаются скрытыми друг от друга.
Для чего нужен API
- Подключение платежной системы. Допустим, на сайте необходимо добавить возможность оплачивать покупки онлайн. Разработчик сайта может сам написать форму для оплаты, но использование такой формы может быть небезопасным, и ее создание займет много времени. Проще, безопаснее и дешевле внедрить через API стороннюю кассу и принимать оплату через нее.
- Настройка кнопок авторизации. Авторизация на сайте или в приложении через ВКонтакте, Google, Apple ID подключается по API.
- Подключение навигационных карт. Можно добавить карту с местоположением офиса компании или магазина и возможностью быстро выстроить маршрут к этой точке.
- Настройка отображения погоды. Как это работает: пользователь сервиса запрашивает погоду в конкретном регионе, запрос передаётся на метеостанцию, а затем пользователю возвращается ответ.
Плюсы API
- Безопасность. Функции, которые нужно защитить, можно выносить в отдельные приложения. За счет этого вероятность неправильного использования функционала другими приложениями станет ниже.
- Подключение по API помогает связать между собой различные сервисы. Например, интернет-магазин и платежную систему.
- Можно использовать готовые инструменты. Допустим, если на сайте нужно указывать адрес, то можно подключить уже готовый инструмент, подсказывающий его, а не вводить самому.
- Экономия времени и денег. На разработку инструмента с нуля уйдет много времени, что может дорого обойтись заказчику. Поэтому проще внедрить уже существующий функционал.
Как работать с API
API можно вызвать двумя способами:
- напрямую,
- косвенно.
API вызывается напрямую:
- если сервис вызвал функцию внутри себя,
- если сервис вызвал функцию стороннего сервиса,
- при помощи ручного тестирования,
- при помощи автоматического тестирования.
Косвенно API вызывают пользователи, когда работают с графическим интерфейсом. Любая кнопка в приложении — это графический интерфейс, за которым скрывается программный интерфейс API.
Про стандарты написания API расскажем ниже.
REST API: что такое и как работает
REST API — это набор правил, по которым сайты и приложения взаимодействуют с сервером. У REST API есть второе название — RESTful.
В этой системе существует 7 принципов, по которым пишется код:
- Client-Server — четкое разделение клиента и сервера. Код сбора запросов обрабатывается на стороне клиента (пользовательского интерфейса), а код, обеспечивающий доступ к данным, — на стороне сервера.
- Casheable — кэширование. В запросе к серверу должно быть указано, нужно ли кэшировать данные. Если данные кэшируются, клиент сможет запросить данные из кэша.
- Stateless — отсутствие сохранения состояния. Производимые между клиентом и сервером операции не должны сохранять состояние. Запросы от клиента должны включать в себя лишь ту информацию, которая требуется, чтобы получить данные от сервера.
- Layered System — многоуровневая система. В REST API архитектура может состоять из нескольких серверов, расположенных на разных уровнях. При этом сервер может взаимодействовать лишь с ближайшими уровнями.
- Code on Demand — код предоставляется по запросу. В случае необходимости сервер может отправить код клиенту (к примеру, код скрипта).
- Starting with the Null Style — начало с нулевого стиля. Клиенту известна лишь одна точка входа на сервер.
- Uniform Interface — единый интерфейс. Данные необходимо запрашивать с одного URL-адерса при помощи стандартных протоколов (обычно HTTP).
Для взаимодействия между приложениями RESTful API-соединение обычно использует протокол HTTP. Чтобы запрашиваемый ресурс выполнил нужное действие, используются различные виды обращений, называемые HTTP-методами. Различают 4 HTTP-метода:
- GET — возвращает данные с сервера,
- POST — помогает добавить данные,
- DELETE — используется для удаления данных,
- PUT — позволяет редактировать данные.
Передача данных по API
Что такое SOAP API
SOAP (простой протокол доступа к объектам) — это протокол обмена сообщениями, благодаря которому приложения обмениваются данными друг с другом и с клиентами.
SOAP API — это веб-сервис, который работает по протоколу SOAP. С его помощью клиенты обмениваются данными с сервером. Он поддерживает протоколы HTTP, FTP, HTTPS, SMTP.
SOAP-сообщение включает в себя несколько элементов:
- Envelope (конверт) — элемент, указывающий на начало и конец SOAP-сообщения;
- Header (заголовок) — необязательный элемент, определяет дополнительные требования к сообщению (к примеру, аутентификацию). Заголовок может включать следующие элементы:
- mustUnderstand,
- encodingStyle,
- role,
- relay,
- actor.
- Body (тело) — элемент, в котором хранится запрос, либо ответ сервера;
- Fault (ошибка) — необязательный элемент, выводит данные об ошибках, возникших во время запроса или ответа API. Состоит из следующих элементов:
- code,
- reason,
- node,
- role,
- detail.
Интеграция по API: что это
REST API и SOAP API — в чем различия
- SOAP — это стандартизированный протокол обмена сообщениями. У REST нет общего стандарта, это архитектурный стиль.
- REST ориентирован на использование транспортного протокола HTTP, а SOAP может использовать и другие протоколы (FTP, SMTP).
- В SOAP запросы и ответы отправляются в формате XML. В REST нет ограничений по формату: это может быть JSON, XML или какой-либо другой формат. Обычно для REST используют JSON.
Что такое Web API
Web API — это программный интерфейс, его используют только для веб-программирования.
Web API включает в себя набор HTTP-запросов и определяет структуру HTTP-ответов. Ответ выражается в JSON или XML-формате. Понятие “Web API” часто сравнивают с понятием “Web-службы”, но между ними есть отличия:
- Web-службы всегда являются API-интерфейсами, но API-интерфейсы — это не всегда Web-службы,
- В Web API может использоваться любой стиль связи,
- Web-службы — это набор протоколов и стандартов, который используется для обмена данными между приложениями. Web API – это программный интерфейс, при помощи которого веб-приложения могут взаимодействовать между собой.