Storefront APIでの在庫数取得について

初めて質問させていただきます。

GatsbyとStorefront APIで開発を行っております。

gatsby-source-shopifyというライブラリを使用し、GraphQLでデータを取得し表示しています。

データの取得表示は問題なく行えているのですが、その中で商品の在庫数に該当する変数がわからず思案しております。
実際に取得しているコードが以下になります。

graphql`
query shopifyDetail($id: String) {
    shopifyProduct(shopifyId: { eq: $id }) {
      id
      shopifyId
      title
      description
      images {
        originalSrc
      }
      variants {
        price(locale: "ja")
        selectedOptions {
          name
          value
        }
      }
    }
  }
`

是非ご存知の皆様のお知恵をいただけますと幸いです。
何卒よろしくお願い致します。

variantsの中に availableForSale というフィールドがありますでしょうか?

https://www.gatsbyjs.org/packages/gatsby-source-shopify/#query-products

variantsの中に availableForSale という値ございました。

返り値はtrueでした。

あ、「在庫があるかどうか」と勘違いしてました。storefront APIを直接叩けるのであれば productに totalInventoryというフィールドがあるようですが、https://shopify.dev/docs/storefront-api/reference/object/product

gatsby-source-shopifyからどのフィールドが使えるのかはよくわかってません

そうですよね…。
gatsby-source-shopifyのドキュメントにも該当する値が見当たらずでして。。。

最悪直接叩く方が良いですかね…?

直接叩いたほうが簡単なような気がします

3 Likes