API バージョン 2026-07 から、Market を「国・地域」だけでなく「販売チャネル単位」で作れる。チャネルごとに商品の出し分け・価格・通貨を、既存のカタログ/マーケット API でそのまま制御できる。
国・地域、小売ロケーション、会社ロケーション、none の単位でしか Market を切れなかった。チャネルごとの出し分けは Market では表現できない。
MarketType.CHANNEL で 1 つ以上のチャネルに紐づく Market を作成。既存のカタログ/マーケット API で品揃え・価格・通貨を制御できる。
| カテゴリ | API / フィールド | 用途 |
|---|---|---|
| 識別 | MarketType.CHANNEL / MarketConditionType.CHANNEL |
チャネルマーケットを識別する |
| 作成 | MarketCreateInput.conditions.channelsConditionMarketConditionsChannelsInput.channelIds |
チャネル ID を渡してチャネルマーケットを作成 |
| 更新 | MarketUpdateInput.conditions |
チャネル条件の追加・削除 |
| Market 側クエリ | Market.channels / Market.channelsCount |
ある Market に紐づくチャネルを取得 |
| Channel 側クエリ | Channel.markets / Channel.marketsCount |
あるチャネルに紐づく Market を取得 |
| 地域確認 | Channel.activeRegions |
チャネルが有効な商品フィードを持つ地域を読む |
| 絞り込み | markets(type: CHANNEL) |
タイプでマーケットをフィルタ |
チャネルは「もう 1 つの Market タイプ」として追加された。地域専用という前提だったコードは見直しが要る。
Markets やカタログを扱うアプリは、「マーケットは地域/小売/会社/none だけ」という前提のロジックをすべて更新する。CHANNEL タイプを想定に加える。
channelsCondition.channelIds にチャネル ID を渡し、その後は既存の Markets / catalog API でカタログと価格設定を割り当てる。新 API を覚え直す必要はない。
対象の販売チャネル ID を特定し、channelsCondition.channelIds に渡して marketCreate を実行。
既存の Markets / catalog API でカタログ(品揃え)と価格・通貨設定を紐づける。
商品フィード出力がカタログ設定+チャネルの公開設定の両方を満たして出ているか検証。
API バージョン 2026-07 から有効。古いバージョンを固定しているクライアントには出てこない。利用時は API バージョンを上げる。
Market.channels と Channel.markets の両方向で参照可能。channelsCount / marketsCount で件数だけ取れば、ページネーション前の概算に使える。
Channel.activeRegions はチャネルが「有効な商品フィードを持つ地域」を返す。チャネル × 地域のカバレッジ可視化に使える読み取り専用情報。
出力 = チャネルマーケットのカタログ設定 AND チャネルの公開コントロール。意図通りに出ない時はどちらのゲートで落ちたかを切り分ける。
追加的変更なので動作は壊れないが、Market タイプを列挙・分岐している箇所(型ガード、UI のラベル分け、レポート集計、markets(type: …) のフィルタ)は CHANNEL を漏らしやすい。type を enum 網羅で扱っているテストを先に追加してから機能対応すると安全。
MarketType.CHANNEL の Market を作成し、カタログと価格設定を割り当て。アプリ/スクリプトから一括管理。Channel.markets / Channel.marketsCount / Channel.activeRegions を読み取り、チャネル×マーケット×地域のマトリクスを生成。...Count)で先に規模を把握し、詳細はページネーションで取得すると API コール効率が良い。MarketType の enum 網羅テストを追加 → CHANNEL の分岐・ラベル・バリデーションを補完 → markets(type: CHANNEL) でフィルタ確認。MarketType.CHANNEL)。