使用PUT更新库存数量会返回错误

时间:2015-08-21 06:37:54

标签: shopify

这是身体

{
  "product": {
    "id": 1202316036,
    "title": "cricket bat for sale",
    "variants":[
        {
            "inventory_quantity": 500
        }


        ]
  }
}

返回以下错误

{
  "errors": {
    "base": [
      "The variant 'Default Title' already exists."
    ]
  }
}

但是更新标题似乎工作得很好。这是身体

{
  "product": {
    "id": 1202316036,
    "title": "cricket bat for sale"

  }
}

我确信PUT标头(Content-Type:application / json)设置正确。因为更新标题确实有效。我该如何更新库存管理

ps:我正在使用POSTMAN来使用shopify API

2 个答案:

答案 0 :(得分:0)

我不确定您是否可以为每次通话执行多个变体,但是要更新单个变体的库存数量,请执行以下操作:

var payload = JSON.stringify({
        variant: {
            id: variantId,
            inventory_quantity: qty
        }
    });

然后将其添加到"https://myshopifydomain/admin/variants/" +variantId + ".json";

您可能需要做的就是为要更新的每个变体添加变体ID。您可以通过为您的项目获取json来获取您的变体ID。

答案 1 :(得分:0)

所以你确实需要变体id,否则Shopify认为你正在创建一个新的变种。此外,还需要为Shopify设置您的变体以管理其库存。例如

  var product = {
  product:{
    id: productId, 
    variants: [
      {
        id:5991257025,
        inventory_management : "shopify",
        inventory_quantity:20
      },
      {
        id:5991257089,
        inventory_management : "shopify",
        inventory_quantity:26
      }
      ]
    }

};