API

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

Пользователями программ и сайтов могут быть не только люди, их также используют другие сайты и приложения. Они могут обмениваться данными между собой без участия человека. Это удобно, когда позаимствовать готовое решение проще, чем создавать с нуля собственное.

Стриминговый сервис Spotify создал открытый API, который дает доступ к плейлистам. На его основе разработчики создали уже десятки сервисов, которые дополнили и расширили возможности сервиса. Вот несколько классных дополнений:

Разработчики получают безвозмездный доступ к музыкальным архивам и на их основе могут реализовывать свои задумки; взамен у сервиса постоянно появляются необычные способы использования, которые привлекают пользователей, а пользователи имеют возможность сделать прослушивание музыки более индивидуальным. В итоге, благодаря API, все остаются в плюсе.

Чтобы на сайте или в приложении отображалась актуальная погода, можно подключить API сервиса Яндекс.Погода:

Чтобы пользователи сайта или приложения могли посмотреть локацию на карте, можно подключить API Google Maps:

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

Как устроен интерфейс

Интерфейс приложения — это система, которую должен освоить пользователь, чтобы заставить работать внутренний механизм. Если нажать определенную кнопку на приборной панели автомобиля, стекло окна начнет опускаться. Ни пассажир, ни водитель не смогут увидеть механизм, который опускает стекло, они увидят только конечный результат. Точно так же, нажимая на кнопку в интерфейсе приложения, мы не видим механизмы, которые открывают нужную нам страницу.

Именно по такому принципу API помогает разработчикам настроить взаимодействие между своей и сторонней программой, не задумываясь о деталях их устройства. Можно не знать, как организован backend сайта Центробанка, но вывести на своем сервисе курсы валют через его API. Так, например, на странице для разработчиков «Знакомство с API ВКонтакте» сказано: «Вам не нужно знать в подробностях, как устроена база, из каких таблиц и полей каких типов она состоит, — достаточно того, что API-запрос об этом “знает”».

Курс

Backend-разработчик

Освойте программирование на Go и backend-разработку высоконагруженных приложений, чтобы стать незаменимым специалистом в команде. Дополнительная скидка 5% по промокоду BLOG.

Узнать больше

API-документация

Настройка взаимодействия между двумя сервисами — это своеобразный договор, в котором прописаны условия сотрудничества. В API-документации каждого сервиса указаны условия, на которых сторонние сайты или приложения могут использовать его функционал. Например, та же социальная сеть ВКонтакте предоставляет разработчикам возможность использовать id пользователей, видеозаписи, документы, карточки товаров на сторонних сервисах.

Для корректной работы с API в документации прописывают конкретные операции и методы, с помощью которых можно их выполнить:

  • video.add — метод для добавления видео из плеера ВКонтакте;
  • likes.delete — метод для удаления отметки «Нравится»;
  • users.get — метод для получения информации о пользователе.

Методы поделены на группы в соответствии с разделом контента: photos, videos, docs, likes и другие. Полный список методов можно найти на специальной странице API-документации ВКонтакте.

По условиям документации, чтобы выполнить каждое действие с помощью методов, нужно оформить запрос по определенным правилам. Например, для ВКонтакте нужно указать:

https:// — протокол соединения, он всегда будет один и тот же;

api.vk.com/method — адрес API-сервиса; в зависимости от сервиса он будет меняться, но у ВКонтакте адрес API выглядит именно так;

users.get — название конкретного метода API ВКонтакте;

user_id=210700286 — id конкретного пользователя, данные о котором необходимо получить.

https://api.vk.com/method/users.get?user_id=210700286&v=5.52

В ответ на запрос сервер возвращает JSON-объект с запрошенными данными, он будет выглядеть так:

{«response»:[{«id»:210700286,»first_name»:»Lindsey»,»last_name»:»Stirling»}]}

Если разложить ответ на составляющие, то:

  • в поле id будет все тот же идентификационный номер аккаунта;
  • в поле first_name — строка с именем пользователя;
  • в поле last_name — строка с фамилией пользователя.

Метод получения информации о пользователе используют, например, сайты с возможностью авторизации через аккаунт ВКонтакте. Так сайт может привязать окошко своего сообщества в этой соцсети, показать пользователю, кто из друзей в нем уже состоит, предложить поделиться страницей в профиле или поставить «Нравится» прямо на странице сайта.

Почему API стал популярен

Так как с помощью API разработчики получают возможность использовать готовые инструменты в своих сервисах, этот метод дает сразу два стратегических преимущества:

  • экономит время на разработку;
  • снижает стоимость разработки.

На каком языке написана программа, для API не имеет значения. Интерфейс — это универсальный переходник, который работает со всеми типами устройств, операционными системами и языками программирования.

Какие еще функции входят в API

API не накладывает строгих ограничений на возможный набор функций — можно добавить в интерфейс любой функционал, который будет полезен пользователям или сторонним компаниям. Главное, чтобы каждая функция имела строгую структуру:

  • операцию, которую можно выполнить с помощью API;
  • данные, которые должен запросить пользователь;
  • данные, которые получит пользователь на выходе (контент или сообщение об ошибке).

Разработчики предоставляют платный доступ к своим API. Например, у 2GIS можно запросить доступ к картам, у Яндекс.Маркета — сведения о товарах, у HeadHunter — возможность размещать виджеты вакансий на своем сайте. Через API социальных сетей, таких как Twitter, Facebook, ВКонтакте, на многих сайтах реализована система авторизации.

Курс

Backend-разработчик

По окончании курса вы сможете самостоятельно написать API.

  • пройдете 20 часов интерактивных вебинаров;
  • решите 100 задач на алгоритмы;
  • напишете 50 программ.

Узнать больше

Промокод BLOG +5% скидки

« ВСЕ ТЕРМИНЫ

Какие курсы вам подходят

Профессия «Backend- разработчик на Go»

От 3375 Р/мес

12 мес

Подробнее о курсе

Профессия «Frontend-разработчик»

От 8570 Р/мес

7 мес

Подробнее о курсе

Курс «Python для веб-разработки»

От 2475 Р/мес

9 мес

Подробнее о курсе
Блог SkillFactory
Добавить комментарий