Что такое API
API – программный интерфейс, позволяющий системам обмениваться информацией друг с другом. При помощи API один сервис получает доступ к функционалу другого. Необходимые меры безопасности для обеих программ сохраняются.
1. Аня зашла в любимое приложение по доставке суши, выбрала сет, добавила в корзину и нажала кнопку «Оплатить».
Как работает API
Принцип работы API – общение клиента и сервера. Клиент делает запрос, а сервер выдаёт ответ. Результат зависит от приложения, которое предоставляет АПИ.
Катя собирается на работу и не знает, брать зонт или нет. Сделать правильный выбор поможет приложение, которое показывает погоду. Это приложение отправляет регулярные запросы по API в метеослужбу и отображает ответы внутри приложения.
Зачем нужен API
Открытый API позволяет компаниям использовать сторонние приложения, доработав их под собственные нужды. При этом экономятся время и финансы, необходимые на создание программы с нуля.
Компания доставки цветов не разрабатывает собственный картографический сервис, а использует в своём приложении Яндекс.Карты.
Почему программисты используют API
- Готовый код. Разработчики ценят АПИ за возможность пользоваться готовым кодом. В результате на выпуск новых продуктов уходит меньше времени, а их создание становится проще.
- Связь с разными системами. Например, через АПИ можно подключить к приложению платёжную систему, онлайн-карту, авторизацию через соцсети.
- Экономия. Даже платный API обойдётся дешевле, чем разработка кода с нуля.
Виды API по способу работы
Вид API выбирают, учитывая особенности проекта. В одной ситуации важна совместимость с конкретной экосистемой, а в другой – скорость работы.
REST
REST-API применяется для связи сайта или приложения с сервером.
Интерфейс не хранит данные клиента между запросами.
Преимущества:
- Простота использования.
- Применение стандартных HTTP-методов (GET, POST, PUT, DELETE).
- Обработка большого числа запросов. Отсутствие статических данных позволяет независимо обрабатывать каждый запрос.
- Адаптивность. REST API – это гибкий интерфейс, имеющий возможность добавления, удаления или изменения ресурсов, не касаясь других частей API.
- Совместимость. Применение HTTP обеспечивает совместимость REST с разными языками программирования или платформами.
- Кеширование. Идемпотентные REST-методы позволяют кешировать ответ. Это исключает повторное обращение к серверу. Например, если покупатель оформил возврат, а в этот момент произошёл сбой, при повторном запросе возврат не продублируется. Система вернёт деньги только один раз.
Недостатки:
Применение REST для формирования веб-служб имеет и некоторые минусы.
- Отсутствие единого стандарта. REST не имеет строгой спецификации, поэтому каждый сервис будет иметь свой набор эндпоинтов — URL, по которому API доступен клиентским приложениям. Такой подход усложняет объединение с другими сервисами.
- Нагрузка на сеть. Применение текстовых форматов повышает объём передаваемой информации по сравнению с бинарными.
- Уязвимость. Из-за недостаточной безопасности и отсутствия встроенной защиты разработчикам необходимо самостоятельно прорабатывать способы авторизации и аутентификации.
- Отсутствие поддержки веб-сокетов и других долгоживущих соединений из-за синхронного протокола HTTP.
SOAP
SOAP АПИ схож с REST, но имеет более строгий протокол работы. Данные интерфейса передаются на языке XML по жёстким стандартам.
Преимущества:
- Стандартизация. Обмен сообщениями через стандартизированный протокол гарантирует предсказуемый результат.
- Безопасность. Интерфейс поддерживает шифрование и управление транзакциями. Предусмотрена возможность использования цифровой подписи.
- Гибкость. SOAP может использоваться поверх различных транспортных протоколов, таких как HTTP, SMTP и TCP, что делает его гибким инструментом для разных сред и сценариев использования.
Недостатки:
- Сложность. Формат сообщений на основе XML усложняет реализацию и поддержку интерфейса SOAP.
- Небольшая производительность. Более объёмные сообщения, чем в остальных АПИ, уменьшают скорость передачи данных.
- Ограниченность одним форматом. Поддержка формата XML требует модификации протокола при взаимодействии с веб-приложениями, использующими JSON.
GraphQL
GraphQL – язык запросов для API. С его помощью запрашивают данные и получают к ним доступ.
Преимущества:
- Универсальность. У GraphQL есть одна точка входа.
- Гибкость. Клиент запрашивает только данные, которые ему нужны.
- Объединение данных. Информация на один запрос предоставляется из нескольких источников.
- Эффективность. Отсутствие избыточных данных снижает нагрузку на сервер и сохраняет сетевые ресурсы.
Недостатки:
- Сложность настройки. Чтобы внедрить и настроить GraphQL, потребуется больше времени по сравнению с REST.
- Уязвимость. Необходима дополнительная защита из-за сложных составных запросов.
Типы API по доступности
Закрытые
Разрабатываются для одной компании и применяются с целью обмена информацией внутри неё. Например, для взаимодействия между разными отделами или для соединения в одну систему корпоративных продуктов и приложений.
Открытые
Публичные API доступны для всех и могут взаимодействовать с разнообразными системами. Open API позволяют бизнесу упрощать и автоматизировать ручные и рутинные задачи.
Локальные
Имеют доступ к отдельным функциям приложения. Применяются без внесения изменений в кодовую базу.
Веб-API
Название Веб-API подразумевает все АПИ, используемые для взаимосвязи сервисов через интернет. Обмен данными и выполнение действий осуществляются при помощи протокола HTTPS.
Интеграция API
Интеграцией API называется объединение нескольких приложений для обмена информацией с применением программного интерфейса. В результате сервисы пользуются возможностями друг друга, обеспечивая удобство для пользователей.
Как осуществляется вызов функций API
Вызов API происходит двумя способами:
- Напрямую. Система контактирует с другой системой или собственными функциями с помощью кода. Для вызова нужен программист, который напишет соответствующую команду.
- Косвенно. Вызов осуществляется пользователем с помощью графического интерфейса. Так, значок «Оплатить» вызовет API, который свяжется с системой банка и проведёт оплату.
Для чего компании предоставляют доступ к API своих продуктов
Некоторые компании зарабатывают на продаже доступа к API, позволяя клиентам пользоваться определённым функционалом.
Сервисы, которые ведут бухгалтерию за клиента, могут не просить пользователя заходить в банк, чтобы скачать выписку, а делают запрос в банк по API и получают выписку. После чего на основе этой выписки они рассчитывают налоги.
Как подключить API
- Найти адрес АПИ, необходимый для подключения.
- Получить ключ доступа, позволяющий серверу узнавать API.
- Ознакомиться со справочными материалами, чтобы понять особенности работы с интерфейсом. Из них можно получить сведения о способах авторизации, описания доступных методов, вариантах вызова и другую информацию.
- Разработать код для работы с Interface и вписать его в код программного продукта.
Как работает интеграция по API в Точке
API позволяет интегрировать Точку во внешние сервисы — CRM, ERP, систему аналитики, а также в собственную программу организации и мессенджеры.
Интеграция с API Точки бесплатная. С помощью API вы сможете:
— получать список счетов, подключённых к аккаунту;
— получать выписку по счёту;
— создавать черновики платёжек на подпись;
— получать вебхуки о входящих и исходящих платежах;
— регистрироваться в Системе быстрых платежей, создавать QR-коды, отслеживать оплаты по ним и делать возвраты;
— получать балансы счетов;
— создавать счета и закрывающие документы;
— создавать платёжные ссылки для приёма оплаты по карте и/или СБП в интернете
Зачем API бизнесу
Компаниям АПИ даёт следующее:
- Автоматизацию процессов. Программный Interface позволяет сократить рутинные операции.
- Улучшение функционала. Используя API, приложение можно сделать более удобным, дополнив его новыми функциями.
- Расширение возможностей. Применяя сторонние сервисы путем интеграции API, компания сможет предлагать своим клиентам большее количество услуг.
- Экономию ресурсов. Возможность использования готовых API внешних сервисов сокращает расходы на разработку API-системы.
