2

使用命令行 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> 

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

4

2 回答 2

3

你打错了终点。在您尝试进行搜索 ( ) 时Customer.first查询索引端点 ( )。admin/customers.jsonadmin/customers/search.json

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

要解决此问题,您需要指定您尝试访问的端点。文档在此处Shopify 特定示例在此处。也在这里:

ShopifyAPI::Customer.find(:all, :from => :search, :params => { :q => "John" })
于 2012-10-19T13:56:18.130 回答
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

于 2019-04-01T22:04:33.680 回答