我正试图通过此方法更新列表中的变体。。。
列表/'$listing_id'/库存
然而,当我尝试添加第二个SKU时,它会给我错误消息";SKU必须在链接的产品之间保持一致">
我知道在变体中有多个SKU的列表是可能的,因为这就是我们目前的操作方式。我们只是试图将一些功能转移到我们的管理门户(即更改列表的变体(。
现在我们使用";尺寸";以及";"袖长";作为变量。
我能够创建多个";套筒长度";但当我尝试用一个SKU添加多个尺寸时,它会出错。
我还在这里链接了一段视频来解释这个问题。
https://drive.google.com/file/d/1_dywrCfv0QjNzR2VyHqh5un7TXzuV5p8/view?usp=sharing
任何人能提供的帮助,我们将不胜感激。
这是我要发送的数组。
$testarray= array(
[
'sku' => 'sku-1',
'property_values' => [
[
'property_id' => '52047899318',
'property_name' => 'Size',
'scale_id' => 30,
'scale_name' => '',
'value' => '0-3M White Onesie',
'value_id' => '117126874336'
],
[
'property_id' => '513',
'property_name' => 'Sleeve Length',
'value' => 'Short SL Onesie',
'value_id' => '774674484481'
]
],
'offerings' => [
[
'price' => 10,
'quantity' => 3
]
]
],
[
'sku' => 'sku-2',
'property_values' => [
[
'property_id' => '52047899318',
'property_name' => 'Size',
'scale_id' => 30,
'scale_name' => '',
'value' => '0-3M White Onesie',
'value_id' => '117126874336'
],
[
'property_id' => '513',
'property_name' => 'Sleeve Length',
'value' => 'Short SL Onesie',
'value_id' => '774674484481'
]
],
'offerings' => [
[
'price' => 10,
'quantity' => 3
]
]
]);
我知道这个问题已经存在2年了,但由于我在实现Etsy api时遇到了同样的错误,我想通过发布我的发现来帮助其他人。
假设您的物品有以下变化
Size:
M
L
Sleeve Length:
Long
Short
您必须知道的第一件事是,当发送属性值时,必须发送所有可能的组合。这意味着:
Size M -> Sleeve Length Long
Size M -> Sleeve Length Short
Size L -> Sleeve Length Long
Size L -> Sleeve Length Short
这就是你的产品阵列中的样子,注意我现在是如何省略sku的:
[
{
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "M"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Short"
}
]
},
{
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "M"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Long"
}
]
},
{
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "L"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Short"
}
]
},
{
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "L"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Long"
}
]
}
]
现在,关于sku,假设我们有以下内容:
sku-1
表示Size M Sleeve Length Short
sku-2
表示Size L Sleeve Length Long
我们没有Size M Sleeve Length Long
和Size L Sleeve Length Short
的sku
记住这一点,我们的阵列现在看起来是这样的:
[
{
"sku": "sku-1",
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "M"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Short"
}
]
},
{
"sku": "",
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "M"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Long"
}
]
},
{
"sku": "",
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "L"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Short"
}
]
},
{
"sku": "sku-2",
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "L"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Long"
}
]
}
]
我们必须做的最后一件事是,由于我们的sku会随着变化而变化,在我们的情况下,它会根据尺寸和袖子长度而变化,所以在发送数据之前,我们必须告诉etsy sku会根据属性而变化,为此,我们必须设置sku_on_property
属性。
在我们的案例中,sku根据属性id 52047899318
和513
进行更改。
基本上,我们的请求主体将如下所示:
{
"products": [
{
"sku": "sku-1",
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "M"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Short"
}
]
},
{
"sku": "",
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "M"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Long"
}
]
},
{
"sku": "",
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "L"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Short"
}
]
},
{
"sku": "sku-2",
"property_values": [
{
"property_id": "52047899318",
"property_name": "Size",
"value": "L"
},
{
"property_id": "513",
"property_name": "Sleeve Length",
"value": "Long"
}
]
}
],
"sku_on_property": [
52047899318,
513
]
}
我希望,至少这条评论会对每一个看到这条线索的人有所帮助。
你必须牢记的小事:
这是针对Etsy api v3的,如果您使用Etsy api v2,我认为
sku_on_property
应该是逗号分隔的字符串,而不是整数数组,例如:"sku_on_property":"52047899318,513"
如果您的价格和/或数量根据变化而变化,那么您还必须以与sku相同的方式分别设置属性
price_on_property
和quantity_on_property
。