我正在创建一个shopify应用程序,用于查询商店的订单。其目的是获得未完成和已完成的订单;如果你去商店的订单标签,我需要退回那里列出的所有订单。然而,我当前的代码只会返回未完成的订单。
在RubyonRails中,有问题的查询如下:
@orders = Shopify_API::Order.find(:all)
我甚至尝试过使用fullfillment_status的参数:"any",这是在https://help.shopify.com/api/reference/order所以这应该没有必要,但没有变化。
我有什么不理解或错过的?如果已完成的订单不再被视为可行的订单或其他什么,我该如何查询它们?
谢谢。
你需要更好地组织自己。以下是一些基于什么对我有效的提示。
- 设置分页。using:all最多返回50条记录。这意味着发送一个page的值和一个限制(250)
- 循环询问未完成的订单并进行处理
- 在循环中询问已完成的订单并进行处理
这就涵盖了。对于未完成的人来说,完成状态是"未完成的",这是超直观的,是吗?
page = 1
orders = []
status = { fulfillment_status: 'unshipped', status: 'open', financial_status: 'paid', limit: 250 }
count = ShopifyAPI::Order.count(status)
puts "Found #{count} UNSHIPPED OPEN PAID orders..."
if count > 0
page += count.divmod(250).first
while page > 0
status.merge!({ page: page })
orders += ShopifyAPI::Order.all(params: status)
page -= 1
end
end