Shopify API查询已完成的订单

时间:2016-08-01 20:23:21

标签: ruby-on-rails shopify

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

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

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

我甚至尝试过使用fullfillment_status的参数:“any”,这是https://help.shopify.com/api/reference/order指示的默认值,所以它没有必要,但没有变化。

我对此不理解或遗漏了什么?如果履行的订单不再被认为是可行的订单或其他东西,我该如何去查询它们呢?

谢谢。

1 个答案:

答案 0 :(得分:1)

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

  1. 设置分页。使用:all最多返回50条记录。这意味着发送页面值和限制(250)。
  2. 在循环中询问未履行的订单并处理它们
  3. 在循环中询问已完成的订单并处理它们
  4. 关于它的内容。履行状态是未发货的'对于未实现的,这是超级直观的呃?

    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