对于使用 list -> createListing()初始创建的 list ,如何更新价格/库存对我来说还是不清楚的。
为了更新库存/价格,Etsy的文档说要调用listing-> updateInventory()。但是,此调用需要一些称为产品的产品以及一些属性(price_on_property,quantity_on_property和sku_on_property):
在哪里:
Etsy关于price_on_property,stock_on_property和sku_on_property的脚注更加令人困惑:
取自https://www.etsy.com/developers/documentation/reference/listinginventory#method_updateinventory
鉴于在Etsy上添加待售商品的起点只是调用createListing()并附带我要出售的商品的详细信息(包括库存数量和价格),所以我不知道如何调用updateInventory()来更新该产品的库存和/或价格,因此任何人都可以在此问题上提供一些澄清(是的,我已经联系了Etsy开发人员支持,但他们可能需要一些时间才能做出答复)。
最佳答案
在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": []
}
要更新价格,您需要发回此ListingProduct模型,但需要更改。笔记
如果您有其他版本,则需要
变化。
变化。
我发现最简单的方法是执行以下操作:
获取您要更改价格的产品的listing_id。
调用库存URI以获取此 list 。我这样做是为了避免构造ListingProduct ['products']。它进行得太多了。
listing_id = 'the product's listing_id'
ListingProduct = etsy_api.getInventory(listing_id=listing_id)
ListingProduct ['products']是此列表的产品列表。该列表的大小等于您拥有的变体数量。
以ListingProduct ['products']为例,并为每个变化更改价格。
如果您看一下ListingProduct ['products'],您会发现需要做的更改是,
ListingProducts['products'][0]['offerings'][0]['price'] = NewPrice
如果商家信息包含 2个变体,则也要更改其价格
ListingProducts['products'][1]['offerings'][0]['price'] = OtherNewPrice
完成此操作后,请调用数据。
data = {
'listing_id': listing_id
'products': json.dumps(ListingProduct['products'])
'price_on_property': 200 #If you have variation
}
etsy_api.updateInventory(**数据)
关于stock - 如何使用Etsy的updateInventory()调用来更新 list 的库存/价格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44331613/