Что такое API?
Вы можете не знать, что такое API и как это работает, но точно часто с ним сталкивались, даже сами об этом не подозревая.
API-интерфейсы работают за кулисами, чтобы расширить использование цифровых возможностей. Дешевые рейсы, которые вы забронировали на Aviasales, билет в театр, который приобрели онлайн, или новые рецепты, которыми поделились знакомые в социальных сетях – все это благодаря API.
Давайте разберемся более подробно, что же это такое.
Что такое API простыми словами
API (англ. Application Programming Interface – программный интерфейс приложения) – способ коммуникации двух программных компонентов друг с другом. Этот механизм, используя набор определений и протоколов, позволяет абстрагировать сложный код, предоставляя вместо него простой синтаксис. Такой подход в программировании называется инкапсуляцией.
Чтобы API корректно работал, не нужно понимать всей программной логики и дополнительной информации о системе или устройствах, с которым он связывается. Чтобы стало понятнее, сначала попробуем разобраться на одном небольшом примере из жизни.
Представим, что API – это официант в ресторане. У вас есть меню ресторана, а кухня является системой, в которой будет готовиться ваше блюдо. Чтобы сделать заказ, вам нужно звено, связывающее вас с кухней, с помощью которого вы можете запросить любое приглянувшееся блюда из меню. В данном случае этим звеном является официант.
Вы отдаете официанту заказ, и он таким образом попадает на кухню, где это блюдо готовится, и после чего официант возвращается с тарелкой. Чтобы официант выполнил все действия правильно, ему не обязательно знать все секреты приготовления блюд – и в принципе, что происходит на кухне. Ему нужно только понять, что именно вы желаете заказать.
Получается, что API (официант) – в каком-то смысле выступает в роли мессенджера, который принимает ваш заказ и сообщает системе (кухне), что делать (приготовить еду), а взамен возвращает запрошенный вами ответ (определенное блюдо).
По похожему принципу и работают API-интерфейсы – они дают возможность использовать функционал разных программ, даже не задумываясь, что у них «под капотом», тем самым обеспечивая безопасный и стандартизированный способ коммуникаций.
Под API можно понимать
- целое приложение;
- подсистему приложения;
- сервер;
- фрагмент ПО, отвечающий за определённый функционал.
Как работает API
При посещении страниц в интернете пользователи взаимодействуют с API удаленного сервера. Подобно мессенджеру, API передает запросы от одного приложения к другому и возвращает ответы в режиме реального времени.
API с помощью простого набора команд позволяют «общаться» приложениям. Для манипулирования объектами в запросах используются определенные методы. Основные и часто используемые методы HTTP: отправить, получить, изменить, удалить.
Если сервер может выполнить запрос клиента, тогда в качестве ответа ему вернется запрашиваемый ресурс или код состояния, который означает, что запрос успешно выполнен.
Если же сервер не может обработать и выполнить запрос, тогда API вернет сообщение об ошибке. Обычно так происходит, если клиент запросил ресурс, к которому у него нет доступа, либо такого ресурса не существует.
API предоставляет вам только необходимые данные, вместо того, чтобы передавать вам код программы или кучу лишней информации. Сам интерфейс может быть сложным и содержать не одну тысячу строк, а вам для ее использования будет достаточно написать всего пару строк кода и получить необходимый результат.
Зачем заново писать код, когда можно воспользоваться готовым?
Веб-сервер, осуществляющий работу API, может выглядеть, как угодно, но API должен быть построен по единому стандарту для корректного взаимодействия программ. Набор таких правил по составлению API называется REST API. Он позволяет унифицировать программные интерфейсы и сделать их читабельными и простыми для понимания.
Существуют и другие стандарты, но именно в веб-приложениях и сайтах принято использовать REST, так как больше заточен на работу с HTTP-протоколом.
Для каждого API составляется документация, в ней описывается, как вызывать функции конкретного API, а принципы работы примерно одни и тот же. Официальную документацию для открытых API публикуют разработчики – вот, к примеру, документации Telegram.