我正在使用 Shopify Python API,并且我想通过一次 API 调用来更新我的一款产品的价格。这是因为他们的 API 受到限制,而我正在更新大量项目,因此 API 调用减少 50% 将显着提高我的整体运行时间。
现在我正在这样做:
product = shopify.Product.find(shopify_id)
product.variants[0].price = new_price
product.save()
这需要两次 API 调用。有没有办法在给定 Shopify ID 的情况下通过单个 API 调用来更新价格?我尝试了这个(我在论坛上被告知,为产品设置价格会更新所有变体):
product = shopify.Product(dict(id=shopify_id, price=new_price))
product.save()
和 save() 返回 True,但价格没有更新。然后我尝试了这个:
product = shopify.Product(dict(id=shopify_id, price=new_price))
product.variants = [shopify.Variant()]
product.variants[0].price = new_price
product.save()
并且 save() 返回 False,product.errors.full_messages() 返回 ['选项不唯一']。
最佳答案
我知道这个问题已经很老了,但这是一个从未得到正确答案的好问题。似乎所有回复都没有完全听到您的问题。
我一直在开发一个 Shopify 应用程序,该应用程序需要一次更新许多产品,这可能需要一段时间,特别是如果您需要为每个产品调用 API 两次(即一次检索,再次更新)。
我必须深入研究源代码才能找到这个,但产品类有一个 add_variant
方法似乎可以解决问题。
product = shopify.Product(dict(id=123456789))
variant = shopify.Variant(dict(id=987654321, price=9.99))
product.add_variant(variant)
product.save()
这将更新产品,并允许您基本上对产品执行 PUT 请求。您可以根据需要更新任意数量的变体,并且不会干扰其他变体。此外,它不需要初始产品调用来检索您正在更新的产品。
关于python - 通过 Python 通过一次 API 调用更新 Shopify 价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25478601/