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 に答える