API или Application Programming Interface — это удобный инструмент для безопасной кастомизации сервисов. Он поможет создать экосистему продуктов и интегрировать между собой приложения и программы. В этой статье команда API Контур.Фокуса на простых примерах расскажет про работу API — будет понятно даже тем, кто не разбираетесь в программировании.
API или Application Programming Interface – это язык, на котором разговаривают между собой приложения, сайты, поисковые системы и серверы. Он выступает посредником между ними и позволяет понимать друг друга. Программный интерфейс задает правила общения между приложениями, сайтами или серверами, позволяет разработчикам связывать их между собой, внедрять новые функции, что в конечном итоге расширяет возможности бизнеса.
Для использования API компании понадобятся разработчики, которые помогут прописать и внедрить коммуникацию между программами.
API — удобный и быстрый способ интегрировать системы между собой. Программный интерфейс гибкий и позволяет пересобирать себя, как конструктор. Благодаря этому, он легко может работать с разными программами, системами, сайтами, браузерами, приложениями и серверами. Это как универсальный клей, который помогает разным частям одной или нескольких программ работать как одно целое.
API помогает разработчикам:
Разберем на понятной аналогии принцип работы API. Человек умеет говорить. Мы используем речь, обмениваемся информацией, выстраиваем отношения и коммуникацию внутри группы и между разными группами. У нас есть понимание, как и что нужно сказать в разных случаях, чтобы получить информацию.
Приведем простой пример. Катя спросила у Влада, какая сегодня погода на улице. Он уже час гуляет с собакой и может с уверенностью ответить, что погода прохладная, а еще очень скользко. Выходя из дома, Катя сообщит подруге, что на улице холодно и скользко, лучше выйти на работу пораньше. Коммуникация между Катей и подругой прошла успешно — она выберет подходящую обувь, выйдет из дома пораньше и придет на работу вовремя.
Так и программы обмениваются информацией друг с другом, а их компоненты между собой. Только вместо речи они используют код.
Вместо того, чтобы спрашивать Влада, Катя решила узнать погоду в интернете и вбила в поиск «погода в Екатеринбурге». В тот момент, когда она нажала кнопку «искать», включился API. Поисковик дешифровал город в геоданные и передал на сервис код, который объяснил серверу: «пользователь желает знать, какая там погода на 56.809752, 60.493842». Сервер проверил информацию и ответил ему кодом: «температура 13, ощущается 10, влажность 35». Поисковик получил этот ответ, перевел его в картинку с текстом и показал Кате: 13 градусов, ощущается как 10, влажность 35%.
Между сервисом и сервером произошла коммуникация понятными им словами и по понятным им правилам. Сами по себе сервис и сервер не понимают друг друга, но API работает как переводчик и позволяет им обмениваться информацией в формате «запрос-ответ».
Интерфейс — это внешний вид приложения или сайта, который позволяет пользователю с ним взаимодействовать. Когда вы заходите на Youtube, благодаря интерфейсу вы понимаете, на какой сайт попали, где видео с котятами, а где обучающий ролик, и что нужно сделать, чтобы запустить видео или оставить комментарий. Вы не знаете, как работает Youtube изнутри, но благодаря кнопкам, стрелочкам и рамкам понимаете, куда нажимать. Интерфейс прячет внутренние процессы и помогает пользователю и сайту понимать друг друга.
Точно так же API помогает программам взаимодействовать, даже если они написаны на разных языках и по-разному работают. Приложение не понимает внутренние процессы сервера, но благодаря API понимает, куда и в каком виде отправить информацию, чтобы получить ответ. Значит, API работает как интерфейс.
Аббревиатура от Representational State Transfer. Самый популярный и универсальный тип API. Его особенность в том, что он не сохраняет клиентские данные между запросами. Обычно REST API используют для связи приложения или сайта с сервером. Приложение отправляет запрос на сайт в формате, похожем на ссылку, а ответ получает в виде набора данных.
Аббревиатура от Simple Object Access Protocol. Он похож на REST, но у него более строгий принцип работы. Он запрашивает информацию о безопасности и требователен к тому, как именно приложение или сайт отправляет сообщения. Особенность этого вида программного интерфейса в том, что данные передаются строго на языке XML по определенным стандартам. Его используют, когда для корректной работы сервера и приложения нужно сохранение состояния или когда важно сделать соединение более безопасным.
Его еще называют Web API или Web Service API. Этот вид программного интерфейса помогает связывать веб-сервер и браузер. Он использует ту же архитектуру, что и REST API и помогает пользователю воспроизводить музыку или анимации, а браузеру реагировать на движения мыши или команды клавиатуры. Разработчики используют API браузера, чтобы управлять кнопками, анимациями и картинками на сайте.
Этот вид API используется для мобильных платформ. Благодаря ему приложения могут обмениваться данными с сервером или с функциями смартфона: например, использовать камеру или воспроизводить музыку.
Базовая функция API — это работа с информацией. Он получает, отправляет, удаляет или изменяет данные. Главный плюс API в его универсальности и гибкости. Он не ограничен правилами и конкретными функциями, в него добавляют любые методы, которые нужны для решения конкретных задач.
API словно строительный магазин, в котором есть все, чтобы построить дом: газоблок, клей, штукатурка, краска, профнастил. Но дом возводят строители, а с API работают разработчики.
Какие-то сервисы можно сравнить с квартирой в новостройке с ремонтом и мебелью — заезжай и живи. Они подходят для стандартных сценариев, их можно внедрять без участия разработчиков. Но иногда нужно что-то уникальное, условный «большой дом с бассейном», тогда нужны API и разработчики.
API поможет:
Вызов API — это процесс подключения к приложению, сайту или серверу при помощи программного интерфейса. Сервер вызывает API, точно так же API может вызвать сервер.
Когда система обращается к своим функциям или к другой системе при помощи кода — это называется вызовом API. Например, автоматический тестировщик запускает проверку или программист пишет команду «вызвать API». Для прямого вызова нужен разработчик или программа, которые создадут код. Этот метод используют для обмена данными или для изменений внутри программы, которые не коснутся ее графического интерфейса.
Косвенный вызов API исходит от пользователя, а не от приложения, и происходит через графический интерфейс. Например, покупатель нажимает на сайте кнопку «оплатить». Нажав кнопку, он вызывает API, который связывается с банковской системой и проводит его через процесс оплаты. Прямой вызов API работает через код, а косвенный — через графический интерфейс.
API-интерфейсы позволяют интегрировать друг в друга программы или отдельные функции. При этом разработчику не обязательно понимать, как работает система, чтобы подключить к ней дополнительные возможности.
Например, с помощью API можно интегрировать возможности Контур.Фокуса в CRM или другую учетную систему. API связывает CRM с сервером Контур.Фокуса и запрашивает необходимую информацию. Получает ответ и выводит его на интерфейс системы.
API классифицируют не только по способу их работы, но и по их доступности. Обычно выделяют четыре вида программных интерфейсов.
Написаны для одной компании и используются для обмена данными внутри этой компании. Например, передают данные между отделами или связывают между собой корпоративные приложения и продукты. Они упрощают разработку и помогают ее автоматизировать: при создании нового приложения разработчики берут API от старого и изменяют его вместо того, чтобы писать код с нуля.
Их еще называют публичными API. Это код, доступный для каждого. Обычно он может взаимодействовать с широким выбором систем. Например, соцсети позволяют сайтам настроить авторизацию через аккаунт на их платформе, а карты Google и Яндекс.Карты позволяют встроить свой сервис на сайт бесплатно.
Один бизнес продает свой API другому. Например, интернет-магазин подключает API банка, чтобы клиенты могли оплатить покупку онлайн.
Объединяет в себе несколько видов API, благодаря этому становится более устойчивым и универсальным.
У веб-приложений есть адрес в интернете — вводишь адрес в браузере и открывается страничка сервиса. У каждого API тоже есть свой адрес, куда можно отправлять запросы. Адрес приложения или сервера и адрес самого API — это две конечные точки, между которыми происходит обмен информацией. Чтобы настроить соединение при помощи API, нужно знать оба адреса.
Некоторые IT-бизнесы построены на том, что продают доступ к своим API, чтобы клиенты могли воспользоваться отдельным функционалом. Это возможно, потому что программный интерфейс позволяет быстро интегрировать программы одна в другую и при этом не задеть внутреннюю структуру системы. По сути, компании продают универсальные дополнительные функции, которые можно быстро и безопасно подключить к ряду программ.
Например, с помощью API Контур.Фокуса можно проверять клиентов и поставщиков прямо в учетной системе компании. Сервис за пару минут соберет данные о нужных компаниях из открытых и официальных источников и отобразит их в привычном интерфейсе.
Другой пример: соцсети продают доступы к своим API. Благодаря этому доступу, клиенты могут подключить авторизацию на сайте через эту соцсеть или создать собственное приложение внутри нее. При этом им не нужно разбираться, как работает соцсеть, а разработчикам соцсети не нужно разбираться в работе каждого отдельного сайта.
И третий пример. Банки предоставляют доступ к API, чтобы сайты и маркетплейсы могли подключать онлайн-платежи.
Подключить API несложно, но потребуется разработчик, который разберется в документации и настроит работу программного интерфейса.
Вот что он будет делать:
API, как код-переводчик связывает между собой разные программы или их части и объясняет им, как взаимодействовать друг с другом. Это облегчает работу разработчикам и позволяет сайтам, приложениям и серверам быстро и безопасно обмениваться информацией. Благодаря API бизнес может подключить дополнительные функции к своему программному обеспечению, создавать единую систему внутри компании или зарабатывать деньги, разрабатывая и продавая доступ к своему программному интерфейсу.
С помощью API Контур.Фокуса можно автоматизировать проверку контрагентов и настроить этот процесс в соответствии с требованиями компании. Решение позволяет автоматически заполнять и актуализировать реквизиты, мониторить изменение благонадежности бизнес-партнеров, автоматически блокировать операции при обнаружении рисковых факторов. Всё это исключает вероятность ошибок из-за человеческого фактора и ускоряет проверку.