我正在尝试通过此方法更新列表上的变体...
清单/'.$listing_id.'/inventory
但是,当我尝试添加第二个 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
]
]
]);
Run Code Online (Sandbox Code Playgroud)
小智 6
我知道这个问题已有 2 年历史了,但由于我在实现 Etsy api 时遇到了同样的错误,我想通过发布我的发现来帮助其他人。
假设您的商品有以下变体
Size:
M
L
Sleeve Length:
Long
Short
Run Code Online (Sandbox Code Playgroud)
您必须知道的第一件事是,在发送属性值时,您必须发送所有可能的组合。这意味着以下内容:
Size M -> Sleeve Length Long
Size M -> Sleeve Length Short
Size L -> Sleeve Length Long
Size L -> Sleeve Length Short
Run Code Online (Sandbox Code Playgroud)
这就是您的产品数组中的样子,请注意我现在如何省略 sku:
Size M -> Sleeve Length Long
Size M -> Sleeve Length Short
Size L -> Sleeve Length Long
Size L -> Sleeve Length Short
Run Code Online (Sandbox Code Playgroud)
现在,关于 sku,假设我们有以下内容:
sku-1指的是Size M Sleeve Length Short
sku-2指的是Size L Sleeve Length Long
我们没有 skuSize M Sleeve Length Long和Size L Sleeve Length Short
记住这一点,我们的数组现在看起来像这样:
[
{
"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"
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
我们要做的最后一件事是,由于我们的 sku 在我们的案例中不断变化,它会根据尺寸和袖长而变化,因此在发送数据之前,我们必须告诉 etsy sku 正在根据属性而变化,并执行此操作我们必须设置sku_on_property属性。
在我们的例子中,sku 根据属性 id52047899318和进行更改513。
基本上我们的请求正文将如下所示:
[
{
"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"
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
我希望至少这个评论对遇到这个帖子的每个人都有帮助。
您必须记住的小事情:
这是针对 Etsy api v3 的,如果您使用 etsy api v2,我认为应该sku_on_property是逗号分隔的字符串而不是整数数组,例如:"sku_on_property":"52047899318,513"
如果您的价格和/或数量根据变化而变化,那么您还必须以与 sku 相同的方式分别设置属性price_on_property和。quantity_on_property
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |