Shopify
Shopifyストアの商品、注文、顧客、在庫、決済、マーケティングなどのデータにアクセスします。
概要
Shopify連携を使えば、Pressoを通じてShopifyストアのデータをClaude Codeから直接操作できます。商品、注文、顧客、在庫、決済、マーケティングなど、あらゆるデータを自然言語で問い合わせることができ、Shopify管理画面を操作したりAPIを手動で呼び出したりする必要はありません。
Pressoは25種類以上のShopify専用ツールを提供しており、基本的な商品検索から高度なShopifyQLアナリティクスやカスタムGraphQLクエリまで幅広く対応しています。在庫の簡単な確認から売上トレンドの詳細分析まで、数秒で結果を得られます。
セットアップ
前提条件
- 管理者権限を持つShopifyストア
- Claude Codeに接続済みのPressoアカウント(MCP接続を参照)
- Shopify Dev Dashboardで作成したShopifyアプリ
Shopifyアプリの作成
- Shopify Dev Dashboardにアクセスし、Shopifyパートナーまたはストアオーナーのアカウントでサインインします。
- Create an appをクリックし、アプリ名を入力します(例:「Presso」)。
- 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
- Distributionで、Custom distributionを選択し、アプリをストアにインストールします。
- インストール後、アプリの認証情報ページからClient IDとClient Secretを控えておきます。
ストアの接続
- Pressoにサインインし、接続ページに移動します。
- Shopifyの横にある接続をクリックします。
- 以下の情報を入力します:
- Shop Domain -- Shopifyストアのドメイン(例:
your-store.myshopify.com) - Client ID -- Shopifyアプリから取得したClient ID
- Client Secret -- Shopifyアプリから取得したClient Secret
- Shop Domain -- Shopifyストアのドメイン(例:
- 接続をクリックします。PressoがClient Credentials Grantを使用してストアと認証を行います。これでShopifyストアの接続は完了です。
- 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 | 明細、顧客情報、配送情報を含む注文の詳細取得 |
利用可能な注文フィルタ:
| フィルタ | オプション |
|---|---|
status | open、closed、cancelled、any |
financialStatus | paid、pending、refunded、partially_refunded、any |
fulfillmentStatus | shipped、partial、unshipped、any |
クエリ例:
今週の未発送の注文を全部見せて。
過去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 | ステータス別のフルフィルメント注文一覧の取得 |
利用可能なステータス: open、in_progress、cancelled、incomplete、closed
クエリ例:
未処理のフルフィルメント注文を見せて。
現在処理中のフルフィルメント注文はいくつある?
カゴ落ち(放棄チェックアウト)
| ツール | 説明 |
|---|---|
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_account | Shopify 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 | いいえ | day、week、monthのいずれか(デフォルトはツールにより異なる) |
クエリ例:
2026年1月の売上を週ごとに見せて。
過去90日間の新規顧客とリピーターの推移はどうなっている?
2025年Q4の商品パフォーマンスを比較して。一番売れた商品はどれ?
過去30日間のコンバージョン率を教えて。
直近2週間の日次注文推移を見せて。
カスタムGraphQLクエリ
| ツール | 説明 |
|---|---|
shopify_get_custom_report | Shopify 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 | ソート対象のフィールド。リソースによって選択肢が異なる(例:TITLE、CREATED_AT、UPDATED_AT、TOTAL_SPENT) |
reverse | trueで降順、falseで昇順 |
例:
顧客を累計購入額の多い順にソートして見せて。
ページネーション
Shopifyの一覧取得ツールはカーソルベースのページネーションを採用しています。仕組みは以下の通りです。
- 最初のリクエスト --
limitを指定してツールを呼び出します(デフォルトは10件)。 - 次ページの確認 -- レスポンスの
pageInfoにhasNextPageとcursorの値が含まれます。 - 次ページの取得 -- 前回のレスポンスの
cursorを渡して同じツールを再度呼び出します。 - 繰り返し --
hasNextPageがfalseになるまで繰り返します。
通常、「全部見せて」のような質問をすると、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からエラーメッセージが返されます。