Storefront API
定義
Storefront APIは、購入者向けの公開データを扱うためのGraphQL APIです。商品・バリエーション・コレクションの取得、カートの作成・更新、店舗コンテンツ(記事・ブログ等)の取得などが行えます。デバイスに依存しない設計になっており、Hydrogenをはじめ、Next.js・Remix・Vue・Nuxtなど任意のフレームワークでヘッドレスストアフロントやモバイルアプリ、IoT・音声コマースなどを構築する際の基盤として使用します。Admin APIと異なり非認証APIであり、公開される情報は誰でも閲覧可能な前提で設計されています。商品情報の変更や在庫管理、注文処理といった管理業務には使用しません。
背景
Storefront APIは長年、カートやチェックアウトに加えて顧客の作成・ログインといった顧客関連のミューテーションも提供してきました。しかし、顧客データの保護強化という方針のもと、Shopifyはセルフサービスでの顧客データ管理に特化したCustomer Account API(別エントリ参照)を新設し、新しいお客様アカウント以降はそちらへ役割が移行しています。そのため現在のヘッドレス構成では、「商品・カート・チェックアウトはStorefront API」「認証済み顧客自身のデータはCustomer Account API」という役割分担で設計するのが基本です。
Flagshipでの関わり
フラッグシップ自身のコーポレートサイト(このHydrogenストアフロント)でも、Storefront APIを実際に使用しています。/store 以下の商品一覧・商品詳細・コレクションページは Storefront API へのGraphQLクエリで商品データを取得しており、カート機能(商品追加・数量変更・割引コード・ギフトカード適用)もStorefront APIのカートミューテーションを利用したHydrogenの cart ヘルパーで実装しています。