記事のサマリー(TL;DR)
- Shopify Catalog APIは、各商品バリアントにおいて販売者が設定した比較対象価格(compare-at price)を
list_priceとして返すようになりました。 priceフィールド自体に変更はなく、対応のための作業は不要です。list_priceはUCPカタログ仕様(バージョン2026-08-25)で定義されたオプションフィールドで、priceと同じPriceオブジェクト(金額は最小通貨単位、通貨情報を含む)を使用します。
詳細
概要
Catalog APIは、各商品バリアントに対して販売者の比較対象価格をlist_priceとして返すようになりました。アプリやエージェントはlist_priceを利用することで、商品が値引きされているかどうか、またその値引き幅を把握できます。既存のpriceフィールドは変更されず、利用側での対応作業は必要ありません。
list_priceは、UCPカタログ仕様バージョン2026-08-25で定義されたオプションのフィールドです。priceと同じPriceオブジェクトの形式を使用し、金額は最小通貨単位(minor units)で表され、通貨情報を含みます。
商品(Products)にはlist_price_rangeも返されます。これは、その商品の各バリアントにおけるlist_priceの最小値と最大値を含むものです。
list_priceが含まれる条件
バリアントにlist_priceが含まれるのは、以下のすべての条件を満たす場合です。
- 販売者がShopify管理画面のCatalog Mappingを通じて比較対象価格を共有していること。Shopifyはこの設定を多くのストアでデフォルトで有効にしていますが、compare-atをMSRP(メーカー希望小売価格)やその他の参照価格として使用しているストアでは無効にしています。
- 購入者のコンテキストにおいて、compare-at価格がpriceより高いこと。
- 販売者が購入者の地域でcompare-at価格を表示していること。EEA(欧州経済領域)の購入者に対してcompare-at価格を非表示にしているストアでは、その購入者に対して
list_priceは返されません。
list_priceが存在しない場合、そのバリアントにはその購入者・設定において表示すべき比較対象価格がないことを意味します。これをUIやエージェントの応答でどのように表示するかは、実装側の判断に委ねられています。
list_priceがGlobal Catalogのレスポンスでどのように表示されるかについては、公式のGlobal Catalogドキュメントで確認できます。