Что такое API и нужно ли оно вам

API-это.... а если совсем простыми словами - это код, позволяющий взаимодействовать двум и более системам между собой.
Об API задумываются, когда речь заходит о подключении к сайту различных сервисов и систем - профессиональных инструментов e-mail и sms рассылки, синхронизации данных пользователя в корзине на ПК и в мобильном приложении, ERP и т.п.
Для наглядности, разделим API на частный (локальный) и общий (глобальный);
Локальное API
Разберём на примере служб доставки. 1С-Битрикс способен быстро подключить базовые системы доставки, а некоторые сервисы уже предустановлены, например сервис Почты России. Но надо учитывать, что если вам потребуется какое-то "не стандартное" взаимодействие с предустановленными сервисами, то придётся реализовать его самостоятельно.
Также вы можете найти какие-то готовые решения API для других служб доставки на marketplace. Но если вы решили подключить особенную службу доставки, например постаматы pick point, вам придётся писать для неё своё локальное API, по которому Битрикс будет взаимодействовать с сервисом.
Локальное решение отлично подходит для небольших интернет-проектов где нет необходимости в подключении множества сервисов, даже в долгосрочной перспективе, а стандартный функционал Битрикс удовлетворяет практически все потребности. Написание нескольких шлюзов обойдётся сравнительно недорого.
Недостатки локального API:
- Образуется множество обращений к сайту, а это снижает скорость работы сайта и увеличивает нагрузку на сервер.
- Если у какого-либо сервиса меняется его API, об этом трудно узнать своевременно, так как Битрикс не позволяет покрыть API тестами и о проблемах вы можете узнать лишь по случившимся ошибкам в явном виде
- При обновлении Битрикс до новой версии возможно изменение работы функционала на стороне ядра Битрикс. В этом случае вам придётся вносить правки по всем отдельным локальным API. И аналогично о проблемах вы узнаете лишь по факту обнаружения ошибок в явном виде
- Написание каждого локального API обходится дороже, чем могло бы быть
- Написание каждого локального API занимает больше времени, чем могло бы быть
Глобальное API
Код который образует собой "умную шину". Большое, умное API, которое берет на себя нагрузку по взаимодействию со всеми возможными системами, отдавая нужные данные сайту и обратно. Такая "шина" по умолчанию готова к передаче и обмену различных данных. Подключение любого внешнего сервиса не составит труда, а доработки будут минимальны. Достаточно просто организовать взаимодействие "общими данными" нескольких сервисов одновременно.
Глобальное API необходимо для проектов у которых есть стратегия развития. Это инвестиция, позволяющая управлять изменениями, оптимизировать расходы и легко масштабировать бизнес
Плюсы глобального API:
- Скорость сайта не страдает. Идёт минимальная нагрузка со стороны внешних сервисов.
- Нагрузкой на API можно управлять, выставляя лимиты. Например, можно выставить более жесткие ограничения мелкооптовым покупателям на получение актуальных остатков по вашим товарам, по сравнению с крупнооптовыми
- Если какой-либо сервис изменил алгоритм, или обновление Битрикс затронуло внутренние алгоритмы работы ядра системы, мы узнаем об этом немедленно, так как система постоянно проводит тесты и контролирует любые изменения.
- Подключение любой новой системы занимает минимум времени
- Подключение любой новой системы обходится намного дешевле локального API
Вам нужно API, если ваш интернет-проект вырос и вы чувствуете потребность в:
- Создании мобильного приложения
- Подключении гибких служб доставки и оплаты
- Задумываетесь о сервисах персонализации
- Хотите подключить профессиональные инструменты e-mail и sms рассылки
- Хотите чтобы сервисы взаимодействовали и "дружили" друг с другом (например, чтобы в почтовый сервис mailchimp приходила информация о том, какие товары из распродажи надо отправить тому или иному пользователю)
- Задумываетесь о подключении сторонних сервисов по маркетингу
Сколько стоит API и доработки:
Все зависит от ваших требований и задач. Свяжитесь с нами и мы вместе обсудим ваши бизнес-задачи и подберем наилучшее, оптимальное решение.