定義

Shopifyストアの管理領域(Admin)のデータを操作するためのAPI。商品、注文、顧客、在庫、配送、割引といったリソースに対して、取得・作成・更新・削除を行える。

GraphQL版とREST版が提供されており、Shopifyは現在GraphQL Admin APIを推奨している。アクセスにはアプリのアクセストークンが必要で、アプリに付与されたスコープ(権限)の範囲内でのみ操作できる。

背景

Shopifyが提供するAPIは一つではない。用途ごとに複数のAPIが用意されており、単に「API」と言うと会話がすれ違うことがある。代表的なものは次のとおり。

  • Admin API: ストア管理データの読み書き。基幹システム連携やアプリのバックエンド処理で使う
  • Storefront API: 買い物客向けの公開データ取得。ヘッドレス構成やカスタムフロントエンドで使う
  • Customer Account API: ログイン中の顧客自身のデータを扱う

Admin APIは管理者権限に近い強い操作ができる分、レート制限やスコープ設計、トークンの取り扱いに注意が必要になる。GraphQL版ではクエリの複雑さに応じてコストが計算される仕組みが採られている。

Flagshipでの関わり

クライアントのバックオフィス連携、B2B向けの管理機能、Connector for Mirakl のようなコネクタアプリでは、GraphQL Admin API と Webhooks を中核に据えてシステムを設計する。基幹システムや受注管理SaaS(NextEngineなど)との商品・在庫・注文の同期がその典型で、大量データの同期では Bulk Operations とレート制限(リーキーバケット方式)を前提に、スループットとバックオフを設計する。

社内外で「API」という言葉が出たら、Admin API・Storefront API・Customer Account API のどれを指しているかをその場で確認する。管理データを扱うのか、購入者向けの表示なのか、ログイン中の顧客本人のデータなのかで、必要な権限も実装する場所も変わるためである。