instructor

Рамиль Кинзябулатов

2022-03-17

Что такое API

Вопрос, что такое API, довольно часто поднимается на проектах, и люди, и даже программисты, не всегда толком понимают, что это такое. Даже я, разработав уже несколько систем, в том числе с API внутри, интегрируя просто в массу систем и между собой используя это API, для себя чётко не понимал, что это такое. Давайте же сейчас вместе разберемся в этом вопросе. 

Мы будем рассматривать этот вопрос с точки зрения пользователя, поэтому данная статья будет интересна именно пользователям и для начинающих программистов, которые хотят рассказать про API пользователю.

Проблематика.  

Когда обыкновенный пользователь работает в одной системе, к примеру, оператор ЭВМ или оператор 1С, он вводит в учетную систему товары один раз. Если нужно внести те же самые товары, то вносит кто-то другой. Либо же он одновременно водит описание этого же товара на сайт для того, чтобы товар появился и на сайте, и в учётной системе. Чтобы можно было с одной стороны его продавать, учитывать в учетной системе, а с другой стороны, чтобы можно было его использовать для предоставления постоянной информации о товаре для посетителей сайта. 

1

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

2

Почему так происходит? Потому что мы ввели данные, для примера, в одну систему, но забыли ввести во вторую систему. То есть завели в учётную систему, а забыли на сайт. Или ввели в учетную систему по-одному, а на сайт по-другому. Соответственно, возникает вопрос контроля за двойным вводом данных. Для того чтобы его избежать, как раз-таки и был придуман обмен данными, и в частном случае — обмен данными по API.  

Итак, для начала разберемся, что такое API.  

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

Первый шаг. Мы добавляем на сайт механизм API. Таким образом пользователь теперь вводит данные только в учетную систему.  

3

Второй шаг. Учётная система определенным образом и по определенному адресу обращается на сайт, и на сайте создается товар с теми же данными, которые были введены в учетную систему. Все достаточно просто.  

Теперь давайте рассмотрим плюсы системы API. 

Первый и самый большой плюс, что нам нет необходимости второй раз вносить данные. Это я уже писал выше. Второй очевидный плюс — это то, что у нас данные не интерпретируются. Если мы один раз написали, то это будет всегда происходить одинаково. То есть, если мы записали, что у нас название в учетной системе — это название на сайте, у нас это всегда при обмене будет названием. То есть не будет заноситься в артикул случайно и так далее.  

Теперь давайте рассмотрим, как это происходит, и какой в этом всё-таки есть минус. А минусы в данном случае есть.  

Как это происходит.  

Механизм API основан на двух вещах. Это передача данных из системы «А» в систему «Б», назовем это так. Данные передаются в виде следующего набора: первое — это адрес, второе — непосредственно данные. То есть, если сравнить это с доставкой посылки по адресу, то, когда мы относим на почту посылку, мы пишем на посылке адрес, а внутрь кладем то, что мы непосредственно хотим отправить человеку.   

4

Адресом в нашем случае, будет являться тот адрес, который прописан в API. Например, добавить товар будет выглядеть так: https://www.trinion.org/addproduсt? Это будет адрес. Когда мы указали адрес, мы должны указать, что мы туда положили. Для примера, мы хотим название. Значит мы в API укажем, что за название у нас будет отвечать параметр «name». И вот, к примеру, мы в конце добавляем: «name = стул прикроватный».

Соответственно, что будет происходить после. Давайте посчитаем полную цепочку.   

1. Пользователь вводит в учетную систему данные с названием «стул прикроватный».  

2. Система сохраняет в себе эти данные.  

3. Затем она передает эти данные по адресу https://www.trinion.org/addproduсt?name=стул прикроватный.  

4. И система, и сайт создает у себя товар с таким же названием.  

5

Всё достаточно просто.  

Какой же минус есть в данной цепочке?  

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

К примеру, если у нас в API написан механизм, что у нас «name» отвечает за название, а мы название в своей системе на сайте поменяли, и теперь вместо названия у нас будет название полное, то API не найдёт и не сможет создать этот товар. То есть это в некотором роде усложняет действия. 

Вы спросите, плюс это или минус? Это минус, но на самом деле не столь существенный при больших объемах, когда вводом занимается не человек, а система.   

Спасибо!