ruby on rails-Shopify API查询已完成的订单



我正在创建一个shopify应用程序,用于查询商店的订单。其目的是获得未完成和已完成的订单;如果你去商店的订单标签,我需要退回那里列出的所有订单。然而,我当前的代码只会返回未完成的订单。

在RubyonRails中,有问题的查询如下:

@orders = Shopify_API::Order.find(:all)

我甚至尝试过使用fullfillment_status的参数:"any",这是在https://help.shopify.com/api/reference/order所以这应该没有必要,但没有变化。

我有什么不理解或错过的?如果已完成的订单不再被视为可行的订单或其他什么,我该如何查询它们?

谢谢。

你需要更好地组织自己。以下是一些基于什么对我有效的提示。

  1. 设置分页。using:all最多返回50条记录。这意味着发送一个page的值和一个限制(250)
  2. 循环询问未完成的订单并进行处理
  3. 在循环中询问已完成的订单并进行处理

这就涵盖了。对于未完成的人来说,完成状态是"未完成的",这是超直观的,是吗?

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