使用API​​查询客户

时间:2012-10-17 19:17:21

标签: shopify

使用命令行shopify应用程序

include ShopifyAPI
Customer.first(:params => {:query => "email:foo@fizz.com", :fields => "email"})

=> #<ShopifyAPI::Customer:0x00000100b75448 @attributes={"email"=>"poohbear@gmail.com"}, @prefix_options={}, @persisted=true> 

我很好奇是否可以查询您提供的电子邮件,结果是空集(未找到)还是客户记录?无论我的查询是什么,我总是得到客户记录。这使得很难确定商店外是否存在客户。

2 个答案:

答案 0 :(得分:3)

你遇到了错误的终点。 Customer.first查询索引端点(admin/customers.json),而您尝试进行搜索(admin/customers/search.json)。

索引端点不理解查询参数,因此忽略它并获得常规索引。

要解决此问题,您需要指定您尝试触及的端点。 Docs are hereShopify-specific examples are here。还在这里:

ShopifyAPI::Customer.find(:all, :from => :search, :params => { :q => "John" })

答案 1 :(得分:0)

这是旧文章,但是Shopify的文档参差不齐。您需要使用搜索API终结点,并且需要引用要搜索的电子邮件地址,例如

/admin/customers/search.json?query=email:"email@domain.com"

如果您不引用电子邮件地址,则可能会收到很多相似的电子邮件地址。

请参见https://community.shopify.com/c/Shopify-APIs-SDKs/Find-a-Customer-by-Email-via-API-Call/td-p/141661