API

В сегодняшнем обновлении фреймворка Webasyst 1.1.1.23222 и Shop-Script 5.1.8 мы представляем очень важное для всей платформы нововведение — API.

API (англ. Application Programming Interface) представляет собой набор готовых методов, предоставляемых фреймворком и установленными в нем приложениями, для работы с данными приложений фреймворка во внешних программных продуктах. Введение API открывает возможности по созданию клиентских программных продуктов, тесно интегрированных с приложениями фреймворка и, в частности, Shop-Script 5. Например, дает техническую возможность создать нативные приложение для iOS, Android, Windows или Mac OS для управления данными в Shop-Script 5.

В данном обновлении мы выпускаем общий узел для работы с API фреймворка api.php и с целью первой демонстрации возможностей API — методы для работы с данными приложения «Стикеры» (работа со стикерами и досками) и Shop-Script 5 (работа с товарами и категориями).

Авторизация в API основана на протоколе OAuth 2.0: получаем токен авторизации (ключ доступа), указывая в запросе, к API каких приложений нужен доступ, и затем работаем с API-методами указанных приложений.

Например, вызов метода API получения данных о товаре в Shop-Script 5 выглядит следующим образом: http://yourcompanyname.ru/api.php/shop.product.getInfo?id=4&access_token=ACCESS_TOKEN

Документация по API (PDF):
Общая документация по использованию API фреймворка
Список и описание методов API для приложений Shop-Script 5 и Стикеры, реализованных в этом обновлении

Текущая версия API — альфа, ознакомительная. Мы планируем очень скоро (в течение месяца или быстрее) полностью вывести API из ознакомительного статуса и сейчас начинаем с «альфа», потому что хотим услышать ваше мнение о том, что вам хотелось бы видеть в API. После этого мы дополним API-методами весь Shop-Script 5, «покроем» API юнит-тестами, опубликуем подробную документацию по API на сайте (а не в PDF), выпустим PHP- и JS-тулкиты для работы с API фреймворка — и тогда статус «альфа» будет снят.

Уважаемые разработчики, выскажите ваше мнение об API: какие методы вам нужны, какие задачи вы хотели бы решить с помощью API, какие вопросы возникают, что не получается. Нам нужен ваш фидбек. Спасибо!