Delegate access tokenを利用したStoreFrontApiの呼び出し

checkoutの作成をgraphql apiから作成しようとしています。

レート制限を考慮して、delegate access tokenを作成して呼び出しを考えております。

delegate access tokenを呼び出すAPIのaccess tokenの作成には下記を参考に行っております。

※参考サイト

https://shopify.dev/apps/auth/oauth/getting-started#step-5-get-a-permanent-access-token

scopeには「write_checkouts」を含めております。

delegateAccessScopeにはcheckout作成となるので「write_checkouts」をスコープに指定しております。

APIコールする際にヘッダーには「Shopify-Storefront-Private-Token: トークン値」を含めております。

checkout作成APIをコールすると「403 Forbidden response」の返答が帰ってきます。

checkout作成APIにはdelegate access tokenを指定することはできなのでしょうか?

私は、CurlでポチポチAPIコールを試してみた、というレベルの確認しかしていないので、

間違った理解、誤った検証をしている可能性がありますことご留意ください。

Shopify-Storefront-Private-Token

をRequest Hederに指定されているということは、

Storefront APIのcheckoutCreateを利用しようとしている、という認識でおります。

https://shopify.dev/api/storefront/2022-07/mutations/checkoutCreate

しかし、

delegateAccessTokenCreateは、

今のところ、Admin APIにしか存在しないように見えます。

Admin API: https://shopify.dev/api/admin-graphql/2022-07/mutations/delegateAccessTokenCreate

こちらに、delegateAccessTokenCreateは確かに存在します。

Storefront API: https://shopify.dev/api/storefront

こちらには、delegateAccessTokenCreateはないように見えます。

そして、

delegateAccessTokenCreateを実際に叩いて確認したところ、

作成できるアクセストークンは、Admin API用のアクセストークン(固定のアルファベット「エス、エイチ、ピー、エイ、ティー」で始まるトークン)しか作成できないように見えました。

Admin APIからStorefront API用のトークンを作成するには、

storefrontAccessTokenCreate をするのかもしれません。

https://shopify.dev/api/admin-graphql/2022-07/mutations/storefrontAccessTokenCreate

storefrontAccessTokenCreateを、実行してみたところ、

実際にStorefront API用のトークンが作成されました。

(ただし、作成したトークンが不要になった場合は、明示的に削除する必要があるのかもしれません。 https://shopify.dev/api/admin-graphql/2022-07/mutations/storefrontAccessTokenDelete )

最後になりますが、

Storefront APIのcheckoutCreateに必要なスコープは、

unauthenticated_write_checkouts のようです。

https://shopify.dev/api/storefront/2022-07/mutations/checkoutCreate

私は、ShopifyのAPIに詳しいわけではありませんので、あくまで参考に留めていただければと思います。

(キュー田辺)

キュー田辺様

ご返信ありがとうございます。

shopifyサイトで提供されているドキュメントを確認した処、StoreFrontAPIの呼び出しに使用できないのではないかと思っておりました。

また以下の投稿内容を見つけましたので共有させていただきます。

https://community.shopify.com/c/storefront-api-and-sdks/403-response-when-using-shopify-storefront-private-token/td-p/1641032

ご助力ありがとうございました。

1 Like