PRODUCT_UNAVAILABLE_IN_BUYER_LOCATION2026-07 版の Storefront API から、購入者の所在地で取り扱い対象外の商品が Cart line に含まれていると、Cart が該当行ごとに警告を返すようになる。target には CartLine ID が入り、UI 上の行に直接マップできる。
地域で売れない商品がカートに残っていても、専用の警告コードが無く、決済直前に気付かれる/問い合わせになる、というケースが起こりやすかった。
Cart の warnings に PRODUCT_UNAVAILABLE_IN_BUYER_LOCATION が返り、target に該当 CartLine ID が入る。UI でその行をピンポイントで赤くできる。
PRODUCT_UNAVAILABLE_IN_BUYER_LOCATION。買い手の所在地で取り扱い対象外の商品がカート行に含まれていることを表す。
該当する CartLine ID。UI 上のどの行に対する警告なのかを直接特定できる。
影響を受けるカート行 1 本につき 1 件の警告が発行される(複数行影響 = 複数件の警告)。
| 項目 | 従来 | 2026-07 以降 |
|---|---|---|
| 地域で買えない商品の検知 | 独自実装 自前でチェックロジックが必要 | API が通知 Cart 警告として返る |
| 影響行の特定 | カート全体で曖昧 | CartLine ID に target が紐づく |
| 複数行同時の扱い | — | 行ごとに警告が個別発行 |
| UI 反映 | 決済画面まで遅延しがち | カート画面で即時赤化/削除導線が出せる |
| 位置づけ | — | warning 既存の cart warnings 仕組みに乗る |
2026-07 バージョンで Cart が発行するようになる。古いバージョン固定のクライアントは恩恵を受けない。
Cart クエリのレスポンスに warnings を含めて取得し、code と target を読む実装が必要。
Storefront クライアントのバージョン指定を 2026-07 以降に更新する。
cart { warnings { code target } } を要求して取得する。
target の CartLine ID を UI 上の行にマップして警告表示・削除 CTA を出す。
GraphQL の errors ではなく Cart の warnings として返る扱い。クエリは成功しつつ、業務的な注意点として情報が乗ってくる設計。
「カートに 2 つ不可商品 → 警告 2 件」の挙動。UI 実装側は配列としてループ処理する前提で組む。
UI 側のデータと付き合わせる際は、CartLine ID をキーに警告を join する設計が必要。商品 ID ではない点に注意。
クライアントの API バージョン固定運用をしている場合、明示的に 2026-07 に上げないとこの警告は飛んでこない。バージョンアップ計画に含める。
これまで「決済直前にエラーになる」だったケースを、カート画面で先回り表示できるようになる。離脱や問い合わせコストを減らす UX 改修の根拠として使える設計変更。
PRODUCT_UNAVAILABLE_IN_BUYER_LOCATION を拾い、対象 CartLine をカート画面で赤化+削除 CTA を表示。warnings を 1 箇所で吸い上げる共通フックを用意し、code === 'PRODUCT_UNAVAILABLE_IN_BUYER_LOCATION' を含めた既知コードを enum で集中管理。PRODUCT_UNAVAILABLE_IN_BUYER_LOCATION 警告が立ったセッションをタグ付けし、分析基盤(GA4 / BigQuery 等)へイベント送出。