Сегодня в общении с одним умным человеком открыл для себя термин «кожаный API», который классно описывает происходящие порой процессы.
Про API в целом я, само собой, знал и ранее. API (Application Programming Interface) — специальный инструмент, который позволяет одной стороне взаимодействовать с другой или использовать ее функции. Например, вы оплачиваете покупку в ближайшем магазине, прикладывая карту к терминалу. В этот момент терминал обращается к API вашего банка, отправляя запрос на оплату.
API придумали, чтобы автоматизировать многие процессы, объединяя возможности разных систем, не задумываясь, что там «под капотом» у каждой. Таким образом, в примере выше, магазину и терминалу вообще без разницы, как ваш банк будет обрабатывать транзакцию, достаточно лишь получить ответ «Подтверждено».
Забавность термина «кожаный API» заключается в том, что в целом инструмент такой есть, но для его корректной работы между сервисами возникает тот самый «кожаный», наделенный сакральными знаниями о работе одного из сервисов. Если проводить аналогию с магазином, то это может быть «Галя», которая умеет делать «отмену», хотя и без нее у любого сотрудника есть необходимый для этого инструментарий.