提问者:小点点

已完成订单的Shopify API查询


我正在创建一个购物应用程序,查询商店的订单。目的是得到未完成和已完成的订单;

在Ruby on Rails中,有问题的查询如下:

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

我甚至尝试使用fullfillment_status参数:“任何”,这是https://help.shopify.com/api/reference/order中指示的默认值

我对此有什么不理解或遗漏?如果已完成的订单不再被视为可行的订单或其他东西,我该如何查询它们呢?

非常感谢。


共1个答案

匿名用户

你需要更好地组织自己。以下是一些基于对我有效的建议。

  1. 设置分页。使用:all最多返回50条记录。这意味着发送页面值和限制(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