Что такое API

В этой статье мы расскажем:

  • что такое API;
  • как пользоваться API;
  • про REST, SOAP и Web API.

Что такое API сайта или приложения

API (Application Programming Interface) — это набор функций, методов и правил, в которых описан порядок взаимодействия одного сервиса (приложения, сайта, модуля) с другим. 

Открытый доступ к API: что это

API выступает чем-то вроде "слоя" между приложениями. С его помощью сервисы обмениваются связанной с обеими сторонами информацией, при этом внутренние процессы остаются скрытыми друг от друга. 

Для чего нужен API

  1. Подключение платежной системы. Допустим, на сайте необходимо добавить возможность оплачивать покупки онлайн. Разработчик сайта может сам написать форму для оплаты, но использование такой формы может быть небезопасным, и ее создание займет много времени. Проще, безопаснее и дешевле внедрить через API стороннюю кассу и принимать оплату через нее. 
  2. Настройка кнопок авторизации. Авторизация на сайте или в приложении через ВКонтакте, Google, Apple ID подключается по API.
  3. Подключение навигационных карт. Можно добавить карту с местоположением офиса компании или магазина и возможностью быстро выстроить маршрут к этой точке.
  4. Настройка отображения погоды. Как это работает: пользователь сервиса запрашивает погоду в конкретном регионе, запрос передаётся на метеостанцию, а затем пользователю возвращается ответ. 

Плюсы API

  1. Безопасность. Функции, которые нужно защитить, можно выносить в отдельные приложения. За счет этого вероятность неправильного использования функционала другими приложениями станет ниже. 
  2. Подключение по API помогает связать между собой различные сервисы. Например, интернет-магазин и платежную систему. 
  3. Можно использовать готовые инструменты. Допустим, если на сайте нужно указывать адрес, то можно подключить уже готовый инструмент, подсказывающий его, а не вводить самому. 
  4. Экономия времени и денег. На разработку инструмента с нуля уйдет много времени, что может дорого обойтись заказчику. Поэтому проще внедрить уже существующий функционал.

Как работать с API

API можно вызвать двумя способами:

  • напрямую,
  • косвенно. 

API вызывается напрямую:

  • если сервис вызвал функцию внутри себя,
  • если сервис вызвал функцию стороннего сервиса,
  • при помощи ручного тестирования,
  • при помощи автоматического тестирования.

Косвенно API вызывают пользователи, когда работают с графическим интерфейсом. Любая кнопка в приложении — это графический интерфейс, за которым скрывается программный интерфейс API.

Про стандарты написания API расскажем ниже. 

REST API: что такое и как работает

REST API — это набор правил, по которым сайты и приложения взаимодействуют с сервером. У REST API есть второе название — RESTful.
В этой системе существует 7 принципов, по которым пишется код:

  1. Client-Server — четкое разделение клиента и сервера. Код сбора запросов обрабатывается на стороне клиента (пользовательского интерфейса), а код, обеспечивающий доступ к данным, — на стороне сервера. 
  2. Casheable — кэширование. В запросе к серверу должно быть указано, нужно ли кэшировать данные. Если данные кэшируются, клиент сможет запросить данные из кэша. 
  3. Stateless — отсутствие сохранения состояния. Производимые между клиентом и сервером операции не должны сохранять состояние. Запросы от клиента должны включать в себя лишь ту информацию, которая требуется, чтобы получить данные от сервера. 
  4. Layered System — многоуровневая система. В REST API архитектура может состоять из нескольких серверов, расположенных на разных уровнях. При этом сервер может взаимодействовать лишь с ближайшими уровнями.
  5. Code on Demand — код предоставляется по запросу. В случае необходимости сервер может отправить код клиенту (к примеру, код скрипта).
  6. Starting with the Null Style — начало с нулевого стиля. Клиенту известна лишь одна точка входа на сервер.
  7. 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 — в чем различия

  1. SOAP — это стандартизированный протокол обмена сообщениями. У REST нет общего стандарта, это архитектурный стиль.
  2. REST ориентирован на использование транспортного протокола HTTP, а SOAP может использовать и другие протоколы (FTP, SMTP).
  3. В 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 – это программный интерфейс, при помощи которого веб-приложения могут взаимодействовать между собой.
     
Если вы не нашли ответ, спросите у нас!
Написать в поддержку