Обращение к функции Shop.product.add

Добрый день. Используется версия Shop-Script 6.3.0.1514390005. Возник вопрос с api-функцией Shop.product.add. Исходя из документации обязательным параметром является type_id (POST) и access_token (GET). При заполнении всех необходимых данных и отправке запроса к api возвращается ошибка "Method GET not allowed". С чем это может быть связано ?

6 ответов

  • 1
    Михаил Ушенин Webasyst 27 декабря 2017 20:28 #

    Вы не написали, каким методом вы отправляете значение type_id. Если методом GET, то сообщение об ошибке справедливое: нужно отправлять через POST.

    Параметр type_id обязателен, только если авторизованный пользователь не обладает административными правами доступа к приложению shop. Всегда обязательным является параметр name — название товара.

  • 1
    Руслан 28 декабря 2017 04:23 #

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

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

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 28 декабря 2017 10:23 #

      Чтобы более наглядно донести свои предложения и пожелания до руководства Webasyst, лучше оформлять их в виде отдельных тем, выбирая тип темы "Идея". Это не в упрёк вам, а лишь совет. Комментарии с некоторой вероятностью могут быть пропущены, а список тем с типом "Идея" разработчики регулярно просматривают. Оформите, пожалуйста, отдельную тему-идею и подробно опишите, чего конкретно вы ожидаете от API Shop-Script для своей работы. Время от времени мы и сами добавляем новые методы — часто они нам нужны для работы мобильного приложения. Но если вы чётко сформулируете свои потребности, мы сможем лучше соответствовать вашим ожиданиям.

  • 1
    Alexander Andreev 28 декабря 2017 10:30 #

    Запрос делаю следующим образом. Как видно name и type_id идут как POST, а access_token GET. Получаю ту же ошибку. Если поставить enctype x-www-form-data, то отправка все равно идет с ошибкой. Если вместо текущего значения access_token подставить произвольную строку, то получаю ошибку "Invalid access token" . То есть access_token проверяется на сервере. Получается что проблема в правах доступа для аккаунта или все таки в чем то другом ?

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 28 декабря 2017 11:01 #

      Есть вероятность, что ваш веб-сервер "режет" содержимое POST-запроса, который вы отправляете. Попробуйте добавить отладочный код в файл api.php, чтобы проверить это.

  • 1
    Михаил Ушенин Webasyst 28 декабря 2017 11:00 #

    Возможно, у вас не последняя версия Shop-Script или фреймворка Webasyst. Вот мой пример успешного создания товара через API с помощью jQuery (запускаю в консоли браузера на домене магазина — поэтому домен пропустил в URL запроса, но это вряд ли принципиально):

    $.post('/api.php/shop.product.add?access_token=70377bc5753f2d849c25ef32a9f093c3', {
        name: 'New product',
        skus: {
            '-1': {
                sku: '',
                name: '',
                price: 100,
                available: 1
            }
        }
    });
  • 1
    Евгений Леман 28 декабря 2017 11:38 #

    А это никак не связано ли с http/https?

  • 1
    Alexander Andreev 28 декабря 2017 13:23 #

    Благодарю за помощь. Да, вы правы, версия shop-script 6 - я об этом упоминал в самом первом сообщении. С этим вопросом разобрался, но хотелось бы знать, есть ли документация по 6ой версии? Если нет, то подскажите еще как должен выглядеть массив items при создании заказа через апи ?

     'items' => [['product_id' => '122',
    'sku_id' => '122','sku_code' => '123123123']]

    Как-то так ? Заказ создается, но пустой

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 29 декабря 2017 10:26 #

      Возможно, вы указали несуществующий sku_id. Документация для более не развиваемой версии Shop-Script 6 не опубликована, поэтому нужно смотреть самому логику методов API в директории wa-apps/shop/api/v1/.

Добавить ответ

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