Liquid、JavaScriptなどに関する質問
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
もしかしたらご希望の用途には合わないかもしれませんが、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
成功
> 質問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
アドバイスありがとうございます!
弊社では店頭受取をInactiveにしているので、それでもなおQuantityが取得できるかどうかは要テストですが、ざっと見た感じ行けそうな感じがするので、まずはトライしてみます。
またadminAPIを利用した時の懸念点もありがとうございます。ご指摘の通り仕組みは少し考えないと、ページ読込のたびにCallしていたら上限にかかりそうです。
有意義な情報大変ありがとうございました。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024