API для плагинов

EnsoStudio

Судя по тому что найти никакой инфы по теме не удалось, то мой плагин станет первым плагином с API :)

Может кому-то пригодится:

Создал в плагине классы методов API wa-apps/shop/plugins/ensoskuimages/lib/classes/shopEnsoskuimagesAddGroup.method.php, shopEnsoskuimagesAddGroupImages.method.php и т.д.

<?php

class shopEnsoskuimagesAddGroupMethod extends shopApiMethod
{
    protected $method = 'GET';

    public function execute()
    {
      //..  
    }
}

Методы плагинов вызываются также как и приложений:

http://site.ru/api.php/shop.ensoskuimages.addGroup?name=blabla&access_token=xxx
17 апреля 2018
  • EnsoStudio 17 апреля 2018 17:04

    Fix: shopEnsoskuimagesPluginAddGroupMethod.class.php - shopEnsoskuimagesPluginAddGroupMethod -

    site.ru/api.php/shop.ensoskuimagesPlugin.addGroup?name=blabla&access_token=xxx

    + родительский класс для методов плагина облегчающий доступ к плагину:

    class shopEnsoskuimagesPluginApiMethod extends shopApiMethod
    {
        /**
         * @var shopPlugin
         */
        protected $plugin;
        /**
         * Get plugin object.
         * @return shopPlugin
         */
        protected function getPlugin()
        {
            if (!$this->plugin) {
                $this->plugin = wa('shop')->getPlugin('ensoskuimages');
            }
            return $this->plugin;
        }
    }
  • J. B. diGriz 17 апреля 2018 23:11

    Прикольно.

    Да все обычно как-то не заморачиваются и просто свой роутинг и обработчик делают. :-)

  • EnsoStudio 17 апреля 2018 23:30

    нужно какие-то проверки прав делать, а так все вроде есть уже. Я вообще об API не думал пока один из клиентов не заказал.

  • J. B. diGriz 18 апреля 2018 00:16

    Ну как сказать. Я, например, считаю, что токены надо в заголовках передавать, а не в теле запроса. :-)

    А сам запрос должен соответсвовать JSON-RPC 2.0

  • EnsoStudio 18 апреля 2018 00:42

    как бы oauth в как бы фреймворке на как бы радио)

  • KAM 30 апреля 2018 12:52

    Хочу добавить метод addContact в api ...

    Делаю все как в первом посте, не работает :(

    /shop/plugins/myplugin/lib/classes/shopMypluginAddContact.method.php

    error"invalid_method"error_description

    "Unknown method: shop.myplugin.plugin.addContact"


    если есть, дайте плиз кусочек рабочего кода.

  • KAM 30 апреля 2018 13:27

    кеш забыл почистить, все работает!!! спасибо за тему!



Чтобы добавить комментарий, зарегистрируйтесь или войдите