我完全不清楚如何在使用listing->createListing()创建列表后更新列表的价格/库存。
要更新库存/价格,Etsy 的文档显示要调用listing->updateInventory()。但是,此调用需要称为产品的东西以及几个属性(price_on_property、quantity_on_property 和 sku_on_property):
在哪里:
产品在其文档中被进一步定义为property_values和我不知道的产品的组合。
listing_id 是从最初调用 createListing() 返回的。
Etsy 关于 Price_on_property、stock_on_property 和 sku_on_property 的脚注增加了混乱:
Price_on_property 是价格所依赖的属性(如果有)的 property_ids 的数组。
Quantity_on_property 是数量所依赖的属性(如果有)的 property_ids 的数组。
sku_on_property 是 sku 所依赖的属性(如果有)的 property_ids 的数组。
如果提供的产品 sku 以及产品数量和价格的值与“on_property_*”字段的提供的值不兼容,则更新将失败。
提供价格时,提供相当于金额除以货币资源中指定的除数的浮点数。
产品参数应该是产品的 JSON 数组,即使您只发送单个产品。JSON blob 中的所有字段名称都应小写。
取自https://www.etsy.com/developers/documentation/reference/listinginventory#method_updateinventory
鉴于在 Etsy 上添加待售商品的起点只是调用 createListing() 以及我希望出售的商品的详细信息(包括库存数量和价格),我不明白如何调用 updateInventory() 来更新该商品的库存和/或价格,所以任何人都可以就此事提供一些说明(是的,我已经联系了 Etsy 开发人员支持,但他们可能需要一段时间才能回复)。
小智 4
在 python 中 - 我假设你有来自 github 的 etsy_api 模块。
Etsy 产品列表具有以下结构:
ListingProduct = {
"price_on_property": [
property_ids
],
"products": [
LIST OF PRODUCT VARIATIONS FOR THIS LIST. IF YOU HAVE NO VARIATIONS
THEN THIS LIST WILL HAVE ONLY 1 PRODUCT.
],
"quantity_on_property": [],
"sku_on_property": []
Run Code Online (Sandbox Code Playgroud)
}
要更新价格,您需要发回此 ListingProduct 模型,但要进行所需的更改。笔记
我发现的最简单的方法是执行以下操作:
获取您要更改价格的产品的listing_id。调用库存 URI 以获取此列表。我这样做是为了避免构造 ListingProduct['products']。它发生了太多事情。
listing_id = 'the product's listing_id'
ListingProduct = etsy_api.getInventory(listing_id=listing_id)
Run Code Online (Sandbox Code Playgroud)
ListingProduct['products']是此列表的产品列表。该列表的大小等于您拥有的变体数量。采用 ListingProduct['products'] 并针对每个变体更改价格。
如果您查看 ListingProduct['products'],您会发现需要完成的更改是,
ListingProducts['products'][0]['offerings'][0]['price'] = NewPrice
Run Code Online (Sandbox Code Playgroud)
如果列表有2 个版本,则也更改其价格
ListingProducts['products'][1]['offerings'][0]['price'] = OtherNewPrice
Run Code Online (Sandbox Code Playgroud)
完成此操作后,请使用数据进行调用。
data = {
'listing_id': listing_id
'products': json.dumps(ListingProduct['products'])
'price_on_property': 200 #If you have variation
}
Run Code Online (Sandbox Code Playgroud)
etsy_api.updateInventory(**数据)
| 归档时间: |
|
| 查看次数: |
3768 次 |
| 最近记录: |