FROM CACHE - jp_header
解決済

adminAPIをストア内で利用することに関するセキュリティ的な懸念/security concern regarding using adminAPI in our storepage

ktr_masuda
訪問者
2 0 0

Shopify上での在庫表示とAPIに関する質問です。

弊社ではECとともに実店舗でもビジネスを展開しており、ECサイトで商品をチェックしたうえで、実店舗で実物を確認してから購入するというお客様も多数いらっしゃいます。

その際に、ECでチェックした商品が最寄り店舗に在庫として準備されているのか確認する手段が現状無く、

実際に店舗に来店いただくか、店舗に電話で確認いただくかのいずれかしか方法がない状態です。

ついては店舗の在庫もShopify上にデータとして保持させて、それをproductsページで見ていただけるような改修を検討しています。

 

質問1:

上記のような要件をかなえるためにShopify上の在庫情報を取得するには、

adminAPIを利用するしかなく、在庫情報はstorefrontAPIでは取得出来ないと認識しているのですが、間違いないでしょうか。

 

質問2:

通常adminAPIは管理者のためのAPIと認識していますが、ECサイトのページから直接adminAPIをCallしてResponseを受け取り、その結果をサイト上に表示させるという仕組みを考えています。

当然adminAPIのトークン作成時に権限は在庫のReadのみに絞る形を想定しており、自社のポリシー的には在庫情報が誰でも読み取り可能になることは問題ないと判断しています。

それでもなお、表からadminAPIが見え、在庫情報をReadできるAPIが外からCall出来る状態になっていることについて、なにか想定すべきリスクはありますでしょうか。

adminAPIがCall出来る状態であることが第三者に見つかり、悪意を持ってCall上限まで常にCallし続けられるような攻撃をされた場合、機能しなくなるということまでは想定できているのですが。

1 件の受理された解決策

ogasawarakyohei
Shopify Partner
109 43 39

成功

質問1

 

もしかしたらご希望の用途には合わないかもしれませんが、ProductVariantのstoreAvailabilityが利用できるかもしれません。

https://shopify.dev/docs/api/storefront/2024-04/objects/ProductVariant#connection-storeavailability

 

質問2

 

Admin APIはStorefrontから使われることを想定したAPIではないので、もし商品ページの表示1回につきAdmin APIに1リクエストするのであれば、PVが多くなくても短時間にアクセスが集中しただけでレート制限に引っかかると思われます。

https://shopify.dev/docs/api/usage/rate-limits#graphql-admin-api-rate-limits

小笠原 京平 | 株式会社Tsun | RuffRuff アプリ
・私の回答が役に立ったら、いいね! ボタンをクリックして教えてください!
Shopify 開発で役に立つ情報を発信していますので、テックブログおすすめ Shopifyアプリ もぜひご参照ください。

元の投稿で解決策を見る

2件の返信2

ogasawarakyohei
Shopify Partner
109 43 39

成功

質問1

 

もしかしたらご希望の用途には合わないかもしれませんが、ProductVariantのstoreAvailabilityが利用できるかもしれません。

https://shopify.dev/docs/api/storefront/2024-04/objects/ProductVariant#connection-storeavailability

 

質問2

 

Admin APIはStorefrontから使われることを想定したAPIではないので、もし商品ページの表示1回につきAdmin APIに1リクエストするのであれば、PVが多くなくても短時間にアクセスが集中しただけでレート制限に引っかかると思われます。

https://shopify.dev/docs/api/usage/rate-limits#graphql-admin-api-rate-limits

小笠原 京平 | 株式会社Tsun | RuffRuff アプリ
・私の回答が役に立ったら、いいね! ボタンをクリックして教えてください!
Shopify 開発で役に立つ情報を発信していますので、テックブログおすすめ Shopifyアプリ もぜひご参照ください。
ktr_masuda
訪問者
2 0 0

アドバイスありがとうございます!

弊社では店頭受取をInactiveにしているので、それでもなおQuantityが取得できるかどうかは要テストですが、ざっと見た感じ行けそうな感じがするので、まずはトライしてみます。

またadminAPIを利用した時の懸念点もありがとうございます。ご指摘の通り仕組みは少し考えないと、ページ読込のたびにCallしていたら上限にかかりそうです。

有意義な情報大変ありがとうございました。