无法使用ShopifyAPI更新变体价格

时间:2012-06-09 15:41:36

标签: shopify

我遇到问题 - 无法使用ShopifyAPI更新变体的价格..

在更新变体的价格时,它会给出错误

  

@remote_errors =#< \ ActiveResource :: ResourceInvalid:失败。响应代码= 422.响应消息=不可处理的实体。>,@ validation_context = nil,@ error =#< \ ActiveResource ::错误:0x000000029eb1d0 ...>&gt ;, @messages = {:base => [ “选项不是唯一的”]}

在'<'之后

'\''需要显示错误,否则堆栈溢出会隐藏错误。

另一个问题的要求
在生产商店,请求ID为“38f5c3b3b7bdf4433724a845c6df4571”
在测试商店,请求ID是“6050f165586b631e81b840dc0e1e6807”

更多调查结果

测试商店的变种价格变动

p = ShopifyAPI::Product.last  
v = p.variants.first  
v.price = "8.00"  
v.save  

变体的初始价格=“9.00”
返回 false,错误 @messages = {:base => [“选项不唯一”]}
请求ID 978ad18483f40ff3946df18df0a9d1d8 。

直播商店的变种价格变动

p = ShopifyAPI::Product.first  
p.variants[0].price = "24.65"  
p.save  

变量的初始价格=“25.65”
返回为true,但价格未更改
请求id a9a798b631e3dd10fc81b723f2883af1 。

通过测试商店的产品实现不同的价格变动

p = ShopifyAPI::Product.first  
p.variants[0].price = "8.00"  
p.save  

变量的初始价格=“7.00”
返回 true且价格已更新
请求ID 7d995f6f6ed3bf515e69a1640f27f44a 。

通过实体店的产品变更价格

p = ShopifyAPI::Product.last  
v = p.variants.first  
v.price = "4.00"  
v.save  

变量的初始价格=“3.00”
返回 false,错误 @messages = {:base => [“选项不唯一”]} 请求id c6aaa5b65576eb4ec0d89715d25b787e

2 个答案:

答案 0 :(得分:3)

@messages={:base=>["Options are not unique"]}

那是你的问题。查看您正在使用POST提交请求的日志,该请求用于创建新对象。 Shopify认识到已经存在具有指定选项的变体并且拒绝创建新选项。

如果您使用PUT作为您的HTTP方法,Shopify会将此正确解释为更新,一切都应该没问题。

答案 1 :(得分:0)

这是ActiveResource 3.1 +中的错误。

我已经开了ActiveResource pull request,但我现在还在等待回复。

我对shopify_api v3.0.1中的此错误有committed a workaround,因此升级此gem将解决此问题。