Channel Markets を GraphQL Admin API で作れるようになった
原題: Create channel markets with the GraphQL Admin API
- Markets
- Admin API
- GraphQL
- Channels
- 新機能
- Catalog
- Apps
- Product Feed
図解 : Channel Markets を GraphQL Admin API で作成(チャネル単位の Markets) Admin GraphQL API / 2026-07 Channel Markets を GraphQL Admin API で作れるようになった API バージョン 2026-07 から、Market を「国・地域」だけでなく「販売チャネル単位」で作れる。チャネルごとに商品の出し分け・価格・通貨を、既存のカタログ/マーケット API でそのまま制御できる。 このページの構成 そもそも何が変わるのか(30秒で理解) 仕組み図解 : チャネルマーケットの構造 追加された API / フィールド一覧 従来の Market タイプとの関係 アプリ開発者が「やること」 作成フロー(3ステップ) 技術者が押さえるべき5つのポイント 業務に活かせる3つのユースケース 提案で使える1行サマリ 1 そもそも何が変わるのか これまで Market(マーケット)は「地域・小売ロケーション・会社ロケーション・none」が条件だった。 2026-07 から 「販売チャネル」を条件にした Market = Channel Market を、GraphQL Admin API で作成・更新できるようになった。チャネルごとの品揃え・価格・通貨を出し分けられる。 従来 : Market は「地域」中心 国・地域、小売ロケーション、会社ロケーション、none の単位でしか Market を切れなかった。チャネルごとの出し分けは Market では表現できない。 これから : チャネル単位の Market MarketType.CHANNEL で 1 つ以上のチャネルに紐づく Market を作成。既存のカタログ/マーケット API で品揃え・価格・通貨を制御できる。 これは追加的変更(additive change)。 既存アプリは、Market やマーケットカタログの型を作成・クエリ・前提化していない限り、対応不要。 2 仕組み図解 : チャネルマーケットの構造 Product Feed の出力は「2 つの設定」を両方尊重する :チャネルマーケットのカタログ設定 + 販売チャネル自体の公開コントロール(publishing controls)。どちらかで非公開なら出ない。 3 追加された API / フィールド一覧 カテゴリ API / フィールド 用途 識別 MarketType.CHANNEL / MarketConditionType.CHANNEL チャネルマーケットを識別する 作成 MarketCreateInput.conditions.channelsCondition MarketConditionsChannelsInput.channelIds チャネル ID を渡してチャネルマーケットを作成 更新 MarketUpdateInput.conditions チャネル条件の追加・削除 Market 側クエリ Market.channels / Market.channelsCount ある Market に紐づくチャネルを取得 Channel 側クエリ Channel.markets / Channel.marketsCount あるチャネルに紐づく Market を取得 地域確認 Channel.activeRegions チャネルが有効な商品フィードを持つ地域を読む 絞り込み markets(type: CHANNEL) タイプでマーケットをフィルタ 4 従来の Market タイプとの関係 チャネルは「もう 1 つの Market タイプ」として追加された。地域専用という前提だったコードは見直しが要る。 地域(Regional) 国・地域単位 小売ロケーション retail-location 会社ロケーション company-location(B2B) チャネル NEW type: CHANNEL 「Market は地域・小売・会社・none のいずれか」と決め打ちしているロジック(switch 文・バリデーション・型ガード等)は、 CHANNEL タイプを取りこぼす 。網羅性チェックを更新すること。 5 アプリ開発者が「やること」 ① 前提の見直し Markets やカタログを扱うアプリは、「マーケットは地域/小売/会社/none だけ」という前提のロジックをすべて更新する。CHANNEL タイプを想定に加える。 ② チャネルマーケットを作る場合 channelsCondition.channelIds にチャネル ID を渡し、その後は 既存の Markets / catalog API でカタログと価格設定を割り当てる。新 API を覚え直す必要はない。 商品フィードの出力は、 チャネルマーケットのカタログ設定 と 販売チャネル自身の公開コントロール の両方を引き続き尊重する。アプリ側で公開状態を上書きできるわけではない。 6 作成フロー(3ステップ) 1 チャネル ID を集める 対象の販売チャネル ID を特定し、 channelsCondition.channelIds に渡して marketCreate を実行。 2 カタログ・価格を割り当て 既存の Markets / catalog API でカタログ(品揃え)と価格・通貨設定を紐づける。 3 フィードを確認 商品フィード出力がカタログ設定+チャネルの公開設定の両方を満たして出ているか検証。 7 技術者が押さえるべき5つのポイント 1. 2026-07 以降でのみ利用可 API バージョン 2026-07 から有効。古いバージョンを固定しているクライアントには出てこない。利用時は API バージョンを上げる。 2. 1 Market ↔ N チャネルの双方向クエリ Market.channels と Channel.markets の両方向で参照可能。 channelsCount / marketsCount で件数だけ取れば、ページネーション前の概算に使える。 3. activeRegions で地域を読む Channel.activeRegions はチャネルが「有効な商品フィードを持つ地域」を返す。チャネル × 地域のカバレッジ可視化に使える読み取り専用情報。 4. フィードは「二段ゲート」 出力 = チャネルマーケットのカタログ設定 AND チャネルの公開コントロール。意図通りに出ない時は どちらのゲートで落ちたか を切り分ける。 5. 既存ロジックの「マーケット網羅」を総点検 追加的変更なので動作は壊れないが、Market タイプを列挙・分岐している箇所(型ガード、UI のラベル分け、レポート集計、 markets(type: …) のフィルタ)は CHANNEL を漏らしやすい。 type を enum 網羅で扱っているテストを先に追加 してから機能対応すると安全。 8 業務に活かせる3つのユースケース USE CASE 1 チャネル別の価格・品揃えを「API で一元管理」 課題 オンラインストア・POS・外部マーケットプレイスで、出す商品や価格を変えたいが、Market が地域単位しか切れず手作業や別管理になっていた。 打ち手 チャネルごとに MarketType.CHANNEL の Market を作成し、カタログと価格設定を割り当て。アプリ/スクリプトから一括管理。 効果 チャネル別の品揃え・価格戦略をコードで再現可能に。手運用ミスの削減とチャネル拡大時の横展開の高速化。 技術メモ 価格・通貨は既存の catalog/market API をそのまま利用。新しい価格 API を覚える必要はない。 USE CASE 2 チャネル別カバレッジの「可視化ダッシュボード」 課題 どのチャネルがどの Market・どの地域でフィードを出しているか俯瞰できず、抜け漏れの発見が属人的。 打ち手 Channel.markets / Channel.marketsCount / Channel.activeRegions を読み取り、チャネル×マーケット×地域のマトリクスを生成。 効果 「このチャネルは○地域で未配信」といった機会損失を一目で検出。運用レビューの定例資料に転用可能。 技術メモ 件数フィールド( ...Count )で先に規模を把握し、詳細はページネーションで取得すると API コール効率が良い。 USE CASE 3 既存アプリの「Market 網羅対応」改修 課題 自社アプリが Market タイプを地域・小売・会社・none で決め打ちしており、CHANNEL マーケットを持つストアで表示崩れや集計漏れが起きうる。 打ち手 MarketType の enum 網羅テストを追加 → CHANNEL の分岐・ラベル・バリデーションを補完 → markets(type: CHANNEL) でフィルタ確認。 効果 追加的変更のうちに先回り対応し、チャネルマーケット利用ストアでの不具合・サポート問い合わせを未然に防止。 技術メモ API バージョンを 2026-07 に上げてからテスト。古いバージョン固定のままでは新タイプが流れてこない。 9 提案で使える1行サマリ 「2026-07 から、Market を 『販売チャネル単位』 で作れるようになった( MarketType.CHANNEL )。 チャネルごとの品揃え・価格・通貨を 既存のカタログ/マーケット API でそのまま制御 でき、追加的変更なので既存アプリは前提を更新するだけ。 フィードはカタログ設定とチャネルの公開設定の両方を尊重する。」 source : shopify.dev/changelog/create-channel-markets-with-the-graphql-admin-api