
Что такое API
Вопрос, что такое API, довольно часто поднимается на проектах, и люди, и даже программисты, не всегда толком понимают, что это такое. Даже я, разработав уже несколько систем, в том числе с API внутри, интегрируя просто в массу систем и между собой используя это API, для себя чётко не понимал, что это такое. Давайте же сейчас вместе разберемся в этом вопросе.
Мы будем рассматривать этот вопрос с точки зрения пользователя, поэтому данная статья будет интересна именно пользователям и для начинающих программистов, которые хотят рассказать про API пользователю.
Проблематика.
Когда обыкновенный пользователь работает в одной системе, к примеру, оператор ЭВМ или оператор 1С, он вводит в учетную систему товары один раз. Если нужно внести те же самые товары, то вносит кто-то другой. Либо же он одновременно водит описание этого же товара на сайт для того, чтобы товар появился и на сайте, и в учётной системе. Чтобы можно было с одной стороны его продавать, учитывать в учетной системе, а с другой стороны, чтобы можно было его использовать для предоставления постоянной информации о товаре для посетителей сайта.
Соответственно, если мы разобьем это по действиям, то первое, что делает пользователь, это вносит данные в программу в учетную систему, а затем заходит и те же самые данные вводит в систему номер два. В данном случае мы видим, что получается двойной ввод данных, который подразумевает наличие более высокого процента ошибок, по сравнению с тем, если бы это вводилось только в одну систему.
Почему так происходит? Потому что мы ввели данные, для примера, в одну систему, но забыли ввести во вторую систему. То есть завели в учётную систему, а забыли на сайт. Или ввели в учетную систему по-одному, а на сайт по-другому. Соответственно, возникает вопрос контроля за двойным вводом данных. Для того чтобы его избежать, как раз-таки и был придуман обмен данными, и в частном случае — обмен данными по API.
Итак, для начала разберемся, что такое API.
API — это часть программы, которая служит только для внесения данных без участия человека. Ввод данных в компьютерную информационную систему подразумевает два режима. Первый — это с участием человека, то есть интерактивно, и второй — это без участия человека. Так вот ввод без участия человека — это и есть механизм API, который решает эту задачу следующим образом:
Первый шаг. Мы добавляем на сайт механизм API. Таким образом пользователь теперь вводит данные только в учетную систему.
Второй шаг. Учётная система определенным образом и по определенному адресу обращается на сайт, и на сайте создается товар с теми же данными, которые были введены в учетную систему. Все достаточно просто.
Теперь давайте рассмотрим плюсы системы API.
Первый и самый большой плюс, что нам нет необходимости второй раз вносить данные. Это я уже писал выше. Второй очевидный плюс — это то, что у нас данные не интерпретируются. Если мы один раз написали, то это будет всегда происходить одинаково. То есть, если мы записали, что у нас название в учетной системе — это название на сайте, у нас это всегда при обмене будет названием. То есть не будет заноситься в артикул случайно и так далее.
Теперь давайте рассмотрим, как это происходит, и какой в этом всё-таки есть минус. А минусы в данном случае есть.
Как это происходит.
Механизм API основан на двух вещах. Это передача данных из системы «А» в систему «Б», назовем это так. Данные передаются в виде следующего набора: первое — это адрес, второе — непосредственно данные. То есть, если сравнить это с доставкой посылки по адресу, то, когда мы относим на почту посылку, мы пишем на посылке адрес, а внутрь кладем то, что мы непосредственно хотим отправить человеку.
Адресом в нашем случае, будет являться тот адрес, который прописан в API. Например, добавить товар будет выглядеть так: https://www.trinion.org/addproduсt? Это будет адрес. Когда мы указали адрес, мы должны указать, что мы туда положили. Для примера, мы хотим название. Значит мы в API укажем, что за название у нас будет отвечать параметр «name». И вот, к примеру, мы в конце добавляем: «name = стул прикроватный».
Соответственно, что будет происходить после. Давайте посчитаем полную цепочку.
1. Пользователь вводит в учетную систему данные с названием «стул прикроватный».
2. Система сохраняет в себе эти данные.
3. Затем она передает эти данные по адресу https://www.trinion.org/addproduсt?name=стул прикроватный.
4. И система, и сайт создает у себя товар с таким же названием.
Всё достаточно просто.
Какой же минус есть в данной цепочке?
Минус заключается в том, что не все данные можно передать. К таким данным можно отнести, например, фотографии. Система API, как и любая система, требует знания технических нюансов, но здесь очень важен другой момент. Для интеграции мы должны знать ту систему, которую мы интегрируем, и так, чтобы она не отставала от той системы, в которую эта вещь будет интегрирована.
К примеру, если у нас в API написан механизм, что у нас «name» отвечает за название, а мы название в своей системе на сайте поменяли, и теперь вместо названия у нас будет название полное, то API не найдёт и не сможет создать этот товар. То есть это в некотором роде усложняет действия.
Вы спросите, плюс это или минус? Это минус, но на самом деле не столь существенный при больших объемах, когда вводом занимается не человек, а система.
Спасибо!
Об авторе
Оставить комментарий
Спасибо, что решили оставить комментарий. Пожалуйста, помните, что все комментарии модерируются, и ваш адрес электронной почты НЕ будет опубликован. Пожалуйста, НЕ используйте ключевые слова в поле имени. Давайте проведем личный и содержательный разговор.