API (Application Programming Interface)
API (Application Programming Interface) — это набор правил, с помощью которых одна программа обращается к другой программе и получает от нее данные или просит выполнить определенное действие.
Пользователь обычно не видит работу API напрямую. Он нажимает кнопку в приложении, а дальше несколько информационных систем обмениваются запросами между собой. Например, мобильный банк запрашивает актуальный баланс счета, интернет-магазин проверяет статус оплаты, а бухгалтерская программа отправляет платеж в банк.
В финансовой сфере API особенно важны, потому что банки редко работают как одна большая программа. Мобильное приложение, процессинг, платежные сервисы, системы идентификации, бухгалтерия и партнерские платформы должны безопасно обмениваться информацией друг с другом.
Как API работает на простом примере
Представим, что клиент открывает банковское приложение и переходит в раздел со счетами.
На экране нужно показать остаток 320 000 ₸. Но само мобильное приложение может не хранить эту информацию как окончательный источник. Оно обращается к банковской системе через предусмотренный интерфейс.
Происходит примерно следующее:
- приложение отправляет запрос на получение информации о счете;
- система проверяет, кто отправил запрос и имеет ли он необходимые права;
- банк получает актуальные данные;
- формируется ответ;
- приложение получает его и показывает клиенту баланс.
Для пользователя это выглядит как обычное обновление экрана и занимает доли секунды или несколько секунд.
API в этой схеме можно сравнить с согласованным языком общения. Одна система знает, как правильно попросить данные, а другая знает, в каком виде нужно вернуть ответ.
Зачем вообще нужен отдельный интерфейс
Теоретически одна программа могла бы попытаться обращаться прямо к базе данных другой системы. На практике такой подход создает множество проблем с безопасностью, совместимостью и контролем доступа.
API позволяет заранее определить границы.
Например, внешнему сервису можно разрешить:
- узнавать остаток по счету;
- получать выписку;
- проверять статус платежа.
Но при этом не давать ему возможности:
- менять данные клиента;
- просматривать другие счета;
- отправлять платежи;
- получать внутреннюю информацию банка.
То есть подключенная программа работает не со всей банковской системой, а только с теми функциями, которые ей специально предоставили.
Что такое API-запрос
Запрос — это сообщение, которое одна программа отправляет другой.
В нем указывается, какое действие необходимо выполнить. Например:
- показать баланс;
- получить операции за июль;
- создать платеж на 50 000 ₸;
- проверить состояние уже отправленного перевода.
Вместе с запросом могут передаваться дополнительные параметры. Если нужна выписка, система должна понимать, по какому счету и за какой период ее сформировать.
Что такое endpoint
Endpoint можно представить как отдельный адрес для конкретной функции API.
Условно один адрес используется для получения списка счетов, другой — для запроса выписки, третий — для отправки платежа.
Так система понимает, какое действие хочет выполнить подключенная программа.
Для обычного клиента банка знать адреса endpoint не требуется. Этот термин важен прежде всего разработчикам, которые настраивают интеграцию.
Что такое токен доступа
Токен доступа — это цифровое подтверждение того, что приложение получило определенные права.
Проще всего сравнить его с временным электронным пропуском.
Допустим, пользователь разрешил финансовому приложению только просматривать информацию о своих счетах. После успешного подтверждения сервис получает токен с соответствующими полномочиями.
Когда приложение обращается к банку, оно предъявляет этот токен. Банк проверяет его и понимает, какие действия разрешены.
При этом токен может иметь ограниченный срок действия и ограниченный набор полномочий.
Например, право читать остаток не обязательно дает право отправлять деньги.
Что такое API-ключ
API-ключ используется для идентификации приложения или разработчика при обращении к интерфейсу.
Например, банк предоставляет компании доступ к корпоративному API. После регистрации интеграции компания получает необходимые данные для подключения.
Но API-ключ и разрешение конкретного клиента — не одно и то же.
Ключ может сообщать банку, какое приложение обращается к системе, а отдельная процедура определяет, имеет ли это приложение право получить данные конкретного пользователя.
Поэтому в серьезных финансовых системах одного API-ключа для доступа ко всем клиентским данным недостаточно.
Что такое Open API
Open API — интерфейс, для которого предусмотрена возможность подключения внешних участников по установленным правилам.
Слово open здесь легко понять неправильно. Оно не означает, что любой желающий может получить банковские данные без проверки.
Открытым является сам механизм взаимодействия или возможность подключения к нему. Доступ к защищенным данным все равно требует выполнения условий безопасности и получения необходимых разрешений.
Например, банк может опубликовать API для получения общедоступных сведений о своих отделениях. Такой интерфейс действительно способен работать без доступа к персональным данным.
Если через API можно получать информацию о банковском счете, требования будут значительно строже.
Что такое Open Banking
Open Banking, или открытый банкинг, строится на идее контролируемого обмена финансовыми данными и услугами между банками и другими участниками через стандартизированные интерфейсы.
При этом ключевое условие — клиент должен контролировать предоставление доступа к своим данным в предусмотренных системой случаях.
Представим человека, у которого есть счета в трех банках. Вместо трех отдельных приложений специальный финансовый сервис может, с разрешения клиента и при наличии соответствующей инфраструктуры, получать информацию из разных банков и показывать ее в одном интерфейсе.
Пользователь сможет увидеть:
- остатки по нескольким счетам;
- историю операций;
- общие расходы;
- распределение трат по категориям;
- другую разрешенную информацию.
Другой сценарий открытого банкинга — инициирование платежа через внешний сервис, если такая возможность предусмотрена правилами системы.
Пример API для бизнеса
Представим интернет-магазин, который получает сотни платежей в день.
Без интеграции сотруднику пришлось бы постоянно заходить в банк и вручную проверять, оплатил ли конкретный клиент счет.
При наличии API процесс можно автоматизировать.
- магазин выставляет клиенту счет;
- клиент производит оплату;
- банковская система фиксирует поступление;
- информация передается в систему магазина;
- заказ автоматически получает статус «Оплачен»;
- склад начинает подготовку товара.
Человек может вообще не участвовать в этой цепочке.
В результате компания быстрее обрабатывает заказы и снижает количество ошибок, которые возникают при ручной сверке платежей.
Что такое тестовая среда API
Банки и технологические компании часто предоставляют разработчикам специальную тестовую среду, которую называют sandbox, или песочницей.
Она позволяет создать интеграцию и проверить ее до подключения к реальным счетам и платежам.
Например, разработчик может отправить условный тестовый перевод и посмотреть, правильно ли его программа обработает успешный ответ, отказ или ошибку.
Только после проверки интеграция подключается к рабочей среде, которую часто называют production.
Такой подход снижает риск того, что ошибка в новом программном коде сразу затронет реальные деньги.
API, Open API и Open Banking — в чем разница
| Понятие | Что означает |
|---|---|
| API | Общий механизм взаимодействия программных систем |
| Open API | API, для подключения к которому предусмотрены правила для внешних участников |
| Open Banking | Модель предоставления банковских данных и услуг через стандартизированные интерфейсы с предусмотренным контролем доступа |
То есть любой Open Banking использует API, но далеко не каждый API имеет отношение к открытому банкингу.
Например, внутренний API между мобильным приложением и системой одного банка является API, но не обязательно Open Banking.
С этим понятием на практике связаны BaaS, Платежный шлюз, Электронный кошелек, VASP, CBDC, CAR и Стейблкоин.