API функция shop.product.add

Добрый день!
Пробую создать новый товар post-запросом, но не получается, сервер возвращает:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<error>invalid_param</error>
<error_description>Invalid param skus</error_description>
</response>
хотя я передаю параметры: "name=Шкатулка_из_дерева&skus=[{sku=GP-1111-GG}]".
Возможно, я неверно присваиваю параметры или есть другие тонкости.
Не могли бы Вы прислать мне пример создания нового продукта через api(а именно POST-параметры).

11 ответов

  • 1
    >>> "name=Шкатулка_из_дерева&skus=[{sku=GP-1111-GG}]"
    Это больше похоже на GET-, а не на POST-запрос. А метод shop.product.add принимает данные о товаре только в виде POST-запроса.
    • +1
      Salavat Dyusengaliev Salavat Dyusengaliev 30 июня 2014 11:29 #
      да, я понимаю, что это похоже на GET-запрос. Но эту строку я передаю в POST-параметрах, а в GET-параметрах у меня только token (мой) и format (xml). С указанными POST- и GET-парметрами сервер возвращает: Invalid param skus. А если бы я отправлял GET-запросом, то мне бы вернулось "Method GET not allowed". Просто мне нужен правильный синтаксис строки с POST-параметрами. Если у Вас есть пример POST-параметров одной строкой, то не могли бы Вы прислать ее в ответе?
      • 0
        В списке параметров для shop.product.add вроде бы и нет параметра с именем skus: http://www.webasyst.ru/developers/docs/api/explorer/shop/shop.product.add/
        Если вам нужно добавить артикулы для какого-то товара, используйте метод shop.product.skus.add.
  • 3
    Salavat Dyusengaliev 1 июля 2014 11:10 #
    Отлично с этим разобрался!
    Кому пригодится - необходимо в post-параметрах запроса обязательно указать skus[0][sku]="Ваш артикул". Тогда новый товар будет создан.
  • 3
    Денис Иванов 13 ноября 2016 10:35 #

    Почему бы не добавить это в документацию (я про skus[0][sku]="Ваш артикул")? Без этого товар действительно не добавляется

  • 1
    Руслан 17 декабря 2017 13:08 #

    https://support.webasyst.ru/4621/kak-sozdat-ukazat... - здесь есть информация как добавить свойства через API, может кто-нибудь напишет полный правильный пример содержимого body в пост запросе, чтобы в нем было указание характеристик товару?

  • 1
    Руслан 18 декабря 2017 15:33 #

    features[material][]=металл

    features[material][]=пластик
    features[weight][value]=0.4

    features[weight][unit]=kg


    как это должно выглядеть в body пост-запроса в json? или нужно просто перечислять все параметры без json, тип

    shop.product.update

    id=1&features[material][]=металл&features[material][]=пластик&features[weight][value]=0.4&features[weight][unit]=kg


    а если значение с пробелом, то как его тут передать? и почему в примере у material пустые скобки[], а у weight во вторых скопках [value] ? value - это по умолчанию значение, если передать пустые скобки то записывается именно в него?

  • 1
    Den 5 июля 2022 16:04 #

    Столкнулся с такой же проблемой, в этой теме оставил описание бага: https://developers.webasyst.ru...

  • 1
    Den 5 июля 2022 16:04 #

    Столкнулся с такой же проблемой, в этой теме оставил описание бага: https://developers.webasyst.ru...

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

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