【问题标题】:Fetching all of a single customer’s orders on Shopify在 Shopify 上获取单个客户的所有订单
【发布时间】:2012-06-07 14:51:12
【问题描述】:

有没有办法在 Shopify 上获取客户的所有订单?例如:

o = ShopifyAPI::Customer.find(…).orders

【问题讨论】:

标签: ruby-on-rails ruby shopify


【解决方案1】:

目前无法通过该端点按客户过滤订单。

您需要获取所有订单并按内容过滤它们,其中包括客户 ID。

orders.select{ |o| o.customer.id == customer_id }

如果这需要快速完成,那么您可能需要将订单存储在数据库中,并与 webhook 保持同步。 Shopify Wiki 上有一个 Syncing with a Store 页面说明了如何执行此操作。

【讨论】:

    【解决方案2】:

    谢谢,迪伦。

    如果可能,我们能否将其添加到 API 愿望清单中?如果能够获得由customer_id 过滤的订单记录,那就太好了。例如,“显示属于某个客户的 10 个最近的待处理订单”。

    【讨论】:

    【解决方案3】:

    客户的身份基于他们的电子邮件地址。因此,如果您通过客户的电子邮件搜索订单,您应该能够获得他们的所有订单:

    @customer = ShopifyAPI::Customer.first
    @orders = ShopifyAPI::Order.find(:all, params: { email: @customer.email })
    

    【讨论】:

    • 这不会找到该客户电子邮件的所有订单,它只会返回所有订单。电子邮件参数不做任何事情并被忽略。
    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    相关资源
    最近更新 更多