Shopify

Shopifyストアの商品、注文、顧客、在庫、決済、マーケティングなどのデータにアクセスします。

概要

Shopify連携を使えば、Pressoを通じてShopifyストアのデータをClaude Codeから直接操作できます。商品、注文、顧客、在庫、決済、マーケティングなど、あらゆるデータを自然言語で問い合わせることができ、Shopify管理画面を操作したりAPIを手動で呼び出したりする必要はありません。

Pressoは25種類以上のShopify専用ツールを提供しており、基本的な商品検索から高度なShopifyQLアナリティクスやカスタムGraphQLクエリまで幅広く対応しています。在庫の簡単な確認から売上トレンドの詳細分析まで、数秒で結果を得られます。

セットアップ

前提条件

  • 管理者権限を持つShopifyストア
  • Claude Codeに接続済みのPressoアカウント(MCP接続を参照)
  • Shopify Dev Dashboardで作成したShopifyアプリ

Shopifyアプリの作成

  1. Shopify Dev Dashboardにアクセスし、Shopifyパートナーまたはストアオーナーのアカウントでサインインします。
  2. Create an appをクリックし、アプリ名を入力します(例:「Presso」)。
  3. Configurationで、以下のAPIスコープを追加します:
    • read_products, read_orders, read_customers, read_inventory, read_fulfillments, read_draft_orders, read_returns, read_shopify_payments_payouts, read_marketing_activities, read_discounts, read_checkouts, read_reports
  4. Distributionで、Custom distributionを選択し、アプリをストアにインストールします。
  5. インストール後、アプリの認証情報ページからClient IDClient Secretを控えておきます。

ストアの接続

  1. Pressoにサインインし、接続ページに移動します。
  2. Shopifyの横にある接続をクリックします。
  3. 以下の情報を入力します:
    • Shop Domain -- Shopifyストアのドメイン(例:your-store.myshopify.com
    • Client ID -- Shopifyアプリから取得したClient ID
    • Client Secret -- Shopifyアプリから取得したClient Secret
  4. 接続をクリックします。PressoがClient Credentials Grantを使用してストアと認証を行います。これでShopifyストアの接続は完了です。
  5. Claude Codeで以下のように質問して、接続を確認します。
Shopifyストアの情報を見せて。

Claude Codeがshopify_get_shop_infoを呼び出し、ストア名、通貨、ドメイン、プランの詳細を表示します。

利用可能なツール

Pressoが提供するShopifyツールをカテゴリ別に紹介します。

商品

ツール説明
shopify_list_products検索、ソート、ページネーションに対応した商品一覧の取得
shopify_get_productバリエーション、画像、在庫を含む商品の詳細情報の取得

クエリ例:

「summer-sale」タグが付いた商品を全部見せて。
商品ID 123456789の詳細を、バリエーションも含めて教えて。
ベンダーが「Nike」の商品をタイトル順で一覧表示して。

注文

ツール説明
shopify_list_ordersステータス、決済状態、フルフィルメント状態でフィルタリングした注文一覧の取得
shopify_get_order明細、顧客情報、配送情報を含む注文の詳細取得

利用可能な注文フィルタ:

フィルタオプション
statusopenclosedcancelledany
financialStatuspaidpendingrefundedpartially_refundedany
fulfillmentStatusshippedpartialunshippedany

クエリ例:

今週の未発送の注文を全部見せて。
過去30日間の返金済み注文を一覧表示して。
注文番号 #1042 の詳細を、配送先と明細を含めて教えて。

顧客

ツール説明
shopify_list_customers名前・購入金額・日付でソートできる顧客一覧の取得
shopify_get_customer注文履歴と住所を含む顧客プロフィールの取得

クエリ例:

累計購入額が多い上位10人の顧客を見せて。
「example.com」ドメインのメールアドレスを持つ顧客を検索して。
顧客ID 111222333 のプロフィールと注文履歴を教えて。

コレクション

ツール説明
shopify_list_collectionsスマートコレクション・手動コレクションの一覧取得

クエリ例:

ストアのコレクションを全部一覧表示して。
「winter」を含むコレクションを検索して。

在庫

ツール説明
shopify_list_inventory_items全ロケーションの在庫数の確認

クエリ例:

全商品の在庫状況を見せて。
在庫が少ない商品や欠品している商品はどれ?

ストア情報とアラート

ツール説明
shopify_get_shop_infoストア名、通貨、ドメイン、プラン、各種設定の取得
shopify_get_shop_alertsストアのアクティブなアラートと通知の確認

クエリ例:

ストアの基本通貨とドメインは?
ストアに何か通知やアラートが出ていない?

ディスカウント

ツール説明
shopify_list_discountsディスカウントコードと自動ディスカウントの一覧取得

クエリ例:

有効なディスカウントコードを全部見せて。
現在実施中のディスカウントを一覧表示して。

フルフィルメント

ツール説明
shopify_list_fulfillment_ordersステータス別のフルフィルメント注文一覧の取得

利用可能なステータス: openin_progresscancelledincompleteclosed

クエリ例:

未処理のフルフィルメント注文を見せて。
現在処理中のフルフィルメント注文はいくつある?

カゴ落ち(放棄チェックアウト)

ツール説明
shopify_list_abandoned_checkouts購入に至らなかったチェックアウトの一覧取得

クエリ例:

過去1週間のカゴ落ちを見せて。
カゴ落ちは何件あって、合計金額はいくら?

下書き注文

ツール説明
shopify_list_draft_orders未確定の下書き注文の一覧取得

クエリ例:

未確定の下書き注文を全部見せて。

マーケット

ツール説明
shopify_list_markets設定済みの国際マーケットの一覧取得

クエリ例:

うちのストアはどの市場で販売している?

返品と返金

ツール説明
shopify_list_returns明細付きの返品一覧の取得(デフォルトではオープン/リクエスト済み)
shopify_get_refund返金IDに基づく返金の詳細取得

クエリ例:

オープン中の返品リクエストを見せて。
返金 gid://shopify/Refund/456 の詳細を教えて。

不正検出

ツール説明
shopify_list_order_risks不正リスク評価が付いた注文の一覧取得

クエリ例:

確認が必要な高リスク注文はある?
不正の疑いがある注文を見せて。

決済

ツール説明
shopify_get_payments_accountShopify Paymentsのアカウント情報、残高、最近の入金の取得
shopify_list_balance_transactions残高取引の一覧取得
shopify_list_tender_transactions決済手段別の取引一覧の取得

クエリ例:

Shopify Paymentsの現在の残高を教えて。
直近10件の入金を見せて。
最近の取引を決済手段別に内訳で見せて。

顧客セグメント

ツール説明
shopify_list_segments顧客セグメントの一覧取得

クエリ例:

ストアに作成されている顧客セグメントは何がある?

マーケティング

ツール説明
shopify_list_marketing_activitiesマーケティング活動とキャンペーンの一覧取得

クエリ例:

実施中のマーケティングキャンペーンを見せて。
今月実行されたマーケティング活動は何がある?

アナリティクス(ShopifyQL)

以下のツールはShopifyQLを使用してサーバーサイドで正確に集計されたアナリティクスを提供します。すべて日付範囲の指定が必要で、期間ごとのグルーピングに対応しています。

ツール説明
shopify_sales_analytics売上、注文数、平均注文額、ディスカウント、返品、送料、税金
shopify_product_analytics商品別売上、販売数量、商品パフォーマンス
shopify_order_analytics注文数の推移、平均注文額、総売上と純売上
shopify_customer_analytics顧客総数、新規顧客、リピーターの指標
shopify_session_analyticsセッション数、ユニークビジター数、コンバージョン率

パラメータ:

パラメータ必須説明
startDateはい開始日(YYYY-MM-DD形式)
endDateはい終了日(YYYY-MM-DD形式)
groupByいいえdayweekmonthのいずれか(デフォルトはツールにより異なる)

クエリ例:

2026年1月の売上を週ごとに見せて。
過去90日間の新規顧客とリピーターの推移はどうなっている?
2025年Q4の商品パフォーマンスを比較して。一番売れた商品はどれ?
過去30日間のコンバージョン率を教えて。
直近2週間の日次注文推移を見せて。

カスタムGraphQLクエリ

ツール説明
shopify_get_custom_reportShopify Admin APIに対する任意のGraphQLクエリの実行

組み込みツールでカバーされていない高度なユースケースでは、任意のGraphQLクエリを実行できます。特定のフィールドの組み合わせ、カスタムフィルタ、または専用ツールがまだ用意されていないAPI機能へのアクセスに便利です。

パラメータ:

パラメータ必須説明
queryはい有効なGraphQLクエリ文字列
variablesいいえGraphQL変数のJSONオブジェクト

例 -- バリエーションのSKUと価格を含む商品の取得:

query($first: Int!) {
  products(first: $first) {
    edges {
      node {
        id
        title
        variants(first: 5) {
          edges {
            node {
              sku
              price
            }
          }
        }
      }
    }
  }
}

変数:{ "first": 10 }

例 -- 特定の日付以降に作成された注文の取得:

query($query: String!) {
  orders(first: 50, query: $query) {
    edges {
      node {
        id
        name
        totalPriceSet {
          shopMoney {
            amount
          }
        }
      }
    }
  }
}

変数:{ "query": "created_at:>=2026-01-01" }

GraphQLスキーマの詳細はShopify Admin APIドキュメントを参照してください。

GIDフォーマット

ShopifyはGraphQL形式のグローバルID(GID)を使用してリソースを識別します。IDを必要とするget系ツールを呼び出す際は、完全なGID文字列を使用します。

リソースGIDフォーマット
商品gid://shopify/Product/{id}gid://shopify/Product/123456789
注文gid://shopify/Order/{id}gid://shopify/Order/987654321
顧客gid://shopify/Customer/{id}gid://shopify/Customer/111222333
コレクションgid://shopify/Collection/{id}gid://shopify/Collection/444555666
返金gid://shopify/Refund/{id}gid://shopify/Refund/777888999

実際には、「商品 123456789 の詳細を見せて」のように質問すると、Claude Codeが自動的に正しいGIDを構築します。もちろん、完全なGIDを直接指定することもできます。

クエリ構文とフィルタリング

多くの一覧取得ツールはqueryパラメータを受け付け、Shopifyの検索構文を使ったサーバーサイドフィルタリングに対応しています。

商品フィルタ:

product_type:Shoes
vendor:Nike
tag:on-sale
title:*hoodie*

注文フィルタ:

financial_status:refunded
fulfillment_status:unshipped
created_at:>2026-01-01

顧客フィルタ:

email:*@example.com
accepts_marketing:true

フィルタは1つのクエリ文字列に組み合わせることができます。検索構文の詳細はShopify検索構文ドキュメントを参照してください。

ソート

一覧取得ツールでは、以下の2つのパラメータでソートを制御できます。

パラメータ説明
sortKeyソート対象のフィールド。リソースによって選択肢が異なる(例:TITLECREATED_ATUPDATED_ATTOTAL_SPENT
reversetrueで降順、falseで昇順

例:

顧客を累計購入額の多い順にソートして見せて。

ページネーション

Shopifyの一覧取得ツールはカーソルベースのページネーションを採用しています。仕組みは以下の通りです。

  1. 最初のリクエスト -- limitを指定してツールを呼び出します(デフォルトは10件)。
  2. 次ページの確認 -- レスポンスのpageInfohasNextPagecursorの値が含まれます。
  3. 次ページの取得 -- 前回のレスポンスのcursorを渡して同じツールを再度呼び出します。
  4. 繰り返し -- hasNextPagefalseになるまで繰り返します。

通常、「全部見せて」のような質問をすると、Claude Codeが自動的にページネーションを処理します。非常に大きなデータセットの場合は、件数を指定したり特定のページを要求したりできます。

ユースケース例

日次ストアヘルスチェック

今日のストアの状態をチェックして。
注文数、売上、未発送注文、在庫が少ない商品、アクティブなアラートを教えて。

週次売上レポート

過去4週間の週次売上レポートを作って。
総売上、注文数、平均注文額、売上上位5商品を週ごとにまとめて。

顧客分析

累計購入額の上位20人の顧客を見せて。
それぞれの注文回数と最終注文日も含めて。

カゴ落ち対策

過去7日間のカゴ落ちを一覧表示して。
合計金額と、よく放棄される商品もまとめて教えて。

不正レビュー

高リスクの注文を全部見せて。
それぞれの注文詳細と、具体的なリスク要因を教えて。

在庫計画

在庫が少なくなっている商品はどれ?
全ロケーションで残り10個以下のアイテムを見せて。

クロスチャネル比較

先月のShopify売上データをGoogle AdsとMeta Adsの
パフォーマンスと比較して。一番売上に貢献している広告チャネルはどこ?

制限事項と補足

  • 読み取り専用 -- PressoはShopifyデータへの読み取り専用アクセスを提供します。商品、注文などのリソースの作成・更新・削除はPresso経由では行えません。
  • レート制限 -- ShopifyにはAPIレート制限があります。Pressoはこれを適切に処理しますが、大量のバルククエリは完了までに時間がかかる場合があります。
  • データの鮮度 -- データはShopify Admin APIからリアルタイムで取得されます。キャッシュ層はないため、常に最新の情報を取得できます。
  • 単一ストア -- 各Presso接続は1つのShopifyストアに紐付けられます。複数のストアを管理する場合は、それぞれ個別に接続が必要です。
  • アナリティクスの日付範囲 -- ShopifyQLアナリティクスツールでは開始日と終了日の明示的な指定が必要です。「先月」「今四半期」のような表現であればClaude Codeが適切な日付を推定しますが、正確さが必要な場合は日付を直接指定してください。
  • カスタムGraphQL -- shopify_get_custom_reportを使用する場合、有効なGraphQLクエリを記述する必要があります。無効なクエリはShopify APIからエラーメッセージが返されます。