Глоссарий

API: определение, принцип работы, примеры использования

автор
Автор Максим Пушкарёв
clock
На чтение
API - это интерфейс взаимодействия между двумя программами, приложениями, сервисами. Своего рода контракт, прописывающий правила для каждого из участников: что и как можно делать, куда ходить, что нажимать. Он значительно облегчает и удешевляют разработку программных продуктов, позволяет бизнесу использовать готовые API-решения на своих сайтах.
В данной статье мы расскажем:

Что такое API простыми словами

Аббревиатура API — это сокращение термина «Application Programming Interface», или программный интерфейс приложения, которое на слуху не только у программистов, но и у обычных пользователей, которые хоть как-то взаимодействуют с гаджетами. Но при этом оно остаётся не вполне ясным для большинства людей: многие просто повторяют эту последовательность букв и не могут чётко объяснить их значение. Люди либо теряются и замолкают в ответ на вопрос, что же такое API, либо говорят, что это способ коммуникации нескольких компьютерных программ.

И в этом они правы. У программного интерфейса имеется всё необходимое (классы, структуры, методы и функции), чтобы с ним могло взаимодействовать стороннее приложение. Говоря простыми словами, API — совокупность специфических «мостиков», по которым данные из одной программы передаются в другую или по которым одна программа может получить доступ к ряду возможностей другой. Благодаря API программисты расширяют функциональность собственных приложений и связывают их с продуктами других разработчиков.

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

API есть не только у программ, но и:

  • У языков программирования. Все функции языка играют роль приложений, а API необходим, чтобы обеспечить их взаимодействие: это набор инструкций, позволяющий правильно вызывать нужные функции.
  • У операционных систем. Пользовательские программы работают с данными из ОС, а в некоторых случаях даже меняют её настройки. Если вы пишете приложения для Linux, iOS или Android, необходимо превосходно знать API своей операционки, чтобы манипулировать файлами, изображениями.
  • У различных веб-сервисов. Благодаря API к ним могут подключаться сторонние приложения и веб-сервисы.
Интерфейс, таким образом, служит прослойкой между двумя приложениями и местом, где осуществляются все процессы, позволяющие им взаимодействовать: обмениваться данными, выполнять функции, требующие участия обеих сторон, без раскрытия внутреннего строения обоих приложений. Всё это применимо и к API.

Что такое API простыми словами

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

Сокрытие ряда функций с целью упростить совместную работу и оставить как можно меньше «узких мест», где программист может ошибиться, носит название инкапсуляции.

Сферы использования API

API открывает разработчикам следующие возможности:
  • Делает ПО более надёжным. Больше нет необходимости лезть в код, чтобы понять, как реализованы низкоуровневые функции (и просить доступ к исходникам). И внешние, и внутренние задачи решаются приложением более безопасно. Риск ошибок, вызванных человеческим фактором, существенно снижается.
  • Упрощает процесс разработки, сокращает её сроки. Например, можно взять готовый сторонний API нейронной сети, надёжный и опробованный, и внедрить в свой продукт, не тратя ресурсы на создание ML-системы с нуля.
  • Интеграция программ и онлайн-сервисов различных вендоров тоже упрощается. Теперь даже нет необходимости контактировать с их владельцами и разработчиками. API, в частности, позволяет легко наладить использование банковских аккаунтов в платёжных системах.
  • Косвенно способствует увеличению прибыли компании. Каждый запрос, отправляемый сторонним приложением через API, можно монетизировать. Так работают, например, конвертеры файлов в разные форматы, сервисы с прогнозом погоды на ближайший месяц или неделю.
  • Затраты на разработку ПО (и, следовательно, его себестоимость) снижаются.
В далёкие времена, когда ни Windows, ни других графических ОС ещё не существовало, ради создания окошка на экране программисты писали тысячи строк кода. Но с появлением API Windows труд разработчиков стал намного приятнее и проще: окно теперь создаётся всего за несколько минут.

Сферы использования API

API удовлетворяют следующие потребности бизнеса:

  • осуществление транзакций;
  • интеграция потоков данных с информацией о клиентах, партнёрскими сервисами;
  • повышение безопасности автоматизированных процессов;
  • возможность создать собственное приложение;
  • внедрение инноваций, особенно во взаимодействии с покупателями.
Запуск корпоративной CRM-системы в 1990-е гг. требовал огромных финансовых затрат на приобретение ПО и оборудования, оплату труда программистов. Современные фирмы, желающие автоматизировать отношения с клиентами и хранить свои клиентские базы централизованно, оплачивают услуги облачных сервисов наподобие Salesforce. Функционал Salesforce доступен через API, причём заказчик может выбрать только те опции, которые ему нужны (к примеру, историю общения с клиентом).

Государственные органы тоже широко используют API:

  • для обмена сведениями между ведомствами;
  • для информирования населения, получения обратной связи.
Так, в 40 американских городах сегодня применяется Open311 — бесплатный API, с помощью которого можно определить место, где произошёл инцидент или есть некая проблема, по местоположению пользователя. Ему нужно лишь указать геоточку и подгрузить, например, фото повреждённого дорожного покрытия в городскую систему.

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

  • Работа со звуком, изображением или видео. Визуализировать 2D и 3D-графику можно с помощью утилит WebGl и Canvas.
  • Работа с документами. DOM (Document Object Model) позволяет манипулировать элементами веб-страницы, менять её вид.
  • Получение данных (валютных котировок, информации о погоде, картографических сведений) с сервера.
  • Считывание данных с устройств (ПО для навигатора перехватывает его местоположение и строит маршрут).
  • Хранение пользовательской информации. В API Web Storage, в частности, можно хранить намного больше сведений, чем в традиционных браузерных Cookies.

Принцип работы API

Любой API работает по очень простому принципу:
  • Разработчик создаёт свой программный продукт, будь то приложение, операционная система или функция.
  • В дополнение к программе создаётся API — список правил, по которым сторонние программисты могут так или иначе использовать эту программу.
  • Доступ к API может быть публичным или строго по запросу.
  • Готово! Можно встроить API в своё приложение, воспользоваться нужными функциями.
Вам совершенно не нужно разбираться в том, как устроена вызываемая вами функция, чтобы получить ожидаемый результат. Даже если она очень сложна и занимает сотни строк кода, её вызов осуществляется всего одной строкой.

Принцип работы API

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

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

Конкретное наполнение этих функций определяется назначением программы, предоставляющей свой API. Вот самые распространённые варианты:

  • вы запрашиваете курсы валют с сервера;
  • авторизуетесь в CRM, где можете добавлять, редактировать, удалять записи;
  • банковская система проводит оплату покупки;
  • API расшифровывает запись речи, переводя её в текст;
  • магазин получает из базы данных сведения о товарных остатках.
У программного интерфейса есть одно важное преимущество. Любой программист может использовать функции, уже присутствующие в нём, а не писать их с нуля самостоятельно. Чем-то напоминает библиотеки языков программирования: если не хочется придумывать свою функцию сортировки, просто подключаете библиотеку — и она даёт вам в руки готовый работающий инструмент.

Или, предположим, утилита для комментирования постов. Нет необходимости создавать её заново, подобных сервисов уже написано немало, просто подберите подходящий и внедрите к себе на сайт, подключившись к нему через API.

Доработка внутренней CRM-системы тоже упрощается благодаря API. Если вам, например, потребовалось добавить трекер времени, вы, конечно, можете его создать сами, но есть и другой путь: найти готовый инструмент и подключить его API в свою CRM.

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

Дополнительным преимуществом API является то, что с ними ваши приложения становятся безопаснее. Если вы не являетесь специалистом в этой области, то создать достаточно надёжный сервис, отвечающий всем требованиям безопасности (например, авторизацию или платёжную систему), вам вряд ли удастся. Но, к счастью, есть API, чьи авторы как раз специализировались на безопасности и разбираются в ней досконально. Просто воспользуйтесь плодами их трудов и решайте свои насущные задачи.

Применение программных интерфейсов охватывает всё новые и новые сферы. Сегодня даже такие нехитрые встраиваемые системы, как «умный утюг», содержащие одну-единственную программу, интегрируются в интернет вещей (разумеется, тоже через API).

Примеры использования API

Примеры API, многие из которых нам хорошо знакомы:
  • Быстрая регистрация в приложениях через аккаунт в соцсети (Вконтакте и т. п.) — показательный пример API. Пользователь может выбрать любую сеть из предложенных. Сторонним компаниям такие API позволяют упростить и ускорить пользователям доступ к их собственному продукту. Для этого нужно просто встроить на сайт специальный код.
  • Интеграция контента из многочисленных сервисов Google (например, встраивание видеороликов с YouTube прямо на сайт или в приложение). Разработчики стороннего ПО могут без труда импортировать в них информацию из сервисов Google.
  • API как готовый к использованию программный продукт от коммерческих фирм. Например, Weather Underground за деньги предоставляет доступ к собственному API, где собраны метеорологические данные для любой точки планеты.
  • Приложение «Календарь» на Android от Google. API позволяет интегрировать его в стороннее приложение напрямую. Можно пользоваться несколькими программами, где присутствует функционал этого календаря, встроенного и постоянно обновляемого: намечать важные встречи, дела и события. На корпоративных сайтах тоже часто можно встретить этот календарь (если, например, посетители должны записываться на приём в определённое время), обычно в формах записи. Событие и его описание автоматически подтягиваются в календарь, по API летит запрос на сервер Google, где создаётся событие, которое возвращается в браузер — и клиент видит подтверждение своей встречи.
  • Агрегаторы для покупки авиабилетов (SkyScanner, Aviasales). Эти онлайн-сервисы собирают информацию о рейсах и цены билетов у разных авиаперевозчиков и аккумулируют её у себя на портале. Данные о ценах и направлениях обновляются в режиме реального времени по API, которые имеются на сайтах авиакомпаний.
  • Яндекс.Метрика с её полезными утилитами. Этот API создавался специально для того, чтобы устанавливать счётчики, вести аналитику, настраивать цели.
  • Авторизация в соцсетях (Одноклассниках, Вконтакте) по кнопкам, встроенным в код сайтов. Чтобы выполнить какое-либо действие (их набор определяется утилитой), пользователь может быстро и безопасно зайти в свой аккаунт, не покидая сайта. Для владельца веб-ресурса этот API — источник персональных данных нынешних и потенциальных покупателей, причём собираемых вполне легально.
  • Виджеты Calltouch для партнёрского маркетинга, позволяющие пересылать с сайта заявки из форм, удалённо заводить звонки и отправлять их в CRM или даже в сторонние сервисы, создавать сделки на основе звонков и заявок, и т. п.

Примеры использования API

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

Сохраните себе:
Читайте также
Бюджет проекта: составляющие, этапы разработки
Из этого материала вы узнаете: Что собой представляет бюджет проекта Структура бюджета…
Установление контакта с клиентом: цели, техники, принципы
Из этого материала вы узнаете: Цели и задачи установления контакта с клиентом…
Таргетированная реклама: что это такое и как работает
Из этого материала вы узнаете: Что такое таргетированная реклама Зачем нужна таргетированная…
Постановка целей по SMART: суть методики
В данной статье мы расскажем: Технология постановки целей по SMART Критерии постановки…
Одностраничный сайт: понятие, функции, создание
В данной статье мы расскажем: Что собой представляет одностраничный сайт Виды одностраничных…
Наружная реклама: виды, правила размещения
В данной статье мы расскажем: Преимущества и недостатки наружной рекламы Закон о…
Тестирование гипотез: где применяется, как выполняется
В данной статье мы расскажем: Что такое тестирование гипотез простыми словами Процесс…
KPI отдела продаж: понятие, основные показатели
В данной статье мы расскажем: Что такое KPI отдела продаж и для…
Бизнес-партнер: для чего нужен и как найти
В данной статье мы расскажем: Определение бизнес-партнера Цели и задачи сотрудничества с…
Бесплатные каналы продвижения, их плюсы и минусы
В данной статье мы расскажем: Суть и виды каналов продвижения Основные каналы…
Позиционирование компании: виды, стратегии, цели и задачи
В данной статье мы расскажем: Цели и задачи позиционирования компании Преимущества позиционирования…
Позиционирование продукта: стратегии, методы, этапы
В данной статье мы расскажем: Суть позиционирования продукта Модели и стратегии позиционирования…