【问题标题】:Shopify API query for fulfilled ordersShopify API 查询已完成订单
【发布时间】:2016-08-01 20:23:20
【问题描述】:

我正在创建一个 shopify 应用程序来查询商店的订单。目的是同时获得未完成和已完成的订单;如果您转到商店的订单选项卡,我需要退回那里列出的所有订单。但是,我当前的代码只会退回未履行的订单。

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

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

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

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

谢谢。

【问题讨论】:

    标签: ruby-on-rails shopify


    【解决方案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
    

    【讨论】:

    • 您能具体说明“要求已完成的订单”是什么意思吗?我不知道该怎么做,这就是问题所在。请提供示例代码好吗?
    • 状态是我忽略的参数。需要将其从“打开”默认更改为“任何”。非常感谢您帮助我!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    相关资源
    最近更新 更多