UCP 2026-08-25 から、Shopify ストアフロントは dev.ucp.shopping.permalink ケイパビリティに対応。/buy リンクは UCP 対応ストアならどこでも同じ書式で使える。既存の /cart リンクも引き続き動く。
/buy が追加された。UCP(2026-08-25 以降)の dev.ucp.shopping.permalink ケイパビリティに対応するルート。今後は「レガシー形式」扱い。引き続きサポートされ動作するが、新しい機能は追加されない。
UCP 標準の書式。新しい機能は /buy にだけ追加される。UCP 対応ストア間で共通の書式。
/.well-known/ucp)から config.endpoint を読み、それをベースにリンクを作るのが公式の推奨。
1 つ以上の商品をバリアント ID で追加できる。token が具体的にどの形式の ID を取るかの詳細は本文に記載なし(仕様ドキュメント参照)。
例として buyer/email、discounts/codes/0 が挙げられている。それ以外の項目(国・言語・Shop Pay など)の具体的なパラメータ名は本文に記載なし。
バリアント ID で 1 点〜複数点を指定。
メールアドレスなどの購入者の詳細を事前に入力。
購入者の国・言語を設定できる。
例 : discounts/codes/0 のようなフィールドパスで指定。
Shop Pay を好むことをリンクで示せる。
continue_to パラメータでストア内の特定ページに遷移させる。
| 項目 | /cart(レガシー) | /buy(UCP) |
|---|---|---|
| 位置づけ | レガシー形式 引き続きサポート | 推奨 新規リンクはこちら |
| 新機能の追加 | 追加されない | /buy にのみ追加 |
| ストア横断の互換性 | 記載なし | 共通 UCP 対応ストアなら同じ書式 |
| 販売プラン(selling plans) | 使える | 未対応 |
| ラインアイテムプロパティ | 使える | 未対応 |
| カートメモ/カート属性 | 使える | 未対応 |
| 適用できなかったとき | 記載なし | continue_to 先、なければストアフロントへリダイレクト(エラーページなし) |
/cart を使い続ける。/buy がこれらにいつ対応するかは記載なし。販売プラン・ラインアイテムプロパティ・カートメモ・カート属性を使っているリンクは /cart のまま残す。
新規リンクは /buy で作る。URL は手で組まず、ディスカバリプロファイルの値を読む。
/cart も動き続けるので、自分のスケジュールで段階的に移行すればよい。
/.well-known/ucp のディスカバリプロファイルから dev.ucp.shopping.permalink の config.endpoint を読み、それを起点にリンクを作る。/buy を決め打ちで組み立てないこと。
パーマリンクはネゴシエーションを使わない。エージェントプロファイルで dev.ucp.shopping.permalink を宣言する必要はない。
buyer/email、discounts/codes/0 のようにスラッシュ区切りのパスで指定し、配列はインデックスで表す。商品は別系統でパスの token:quantity に入れる。
適用できないリンクは continue_to 先、なければストアフロントへ送られる。購入者に壊れたページは見えないが、適用に失敗したことに気付きにくい点は意識しておく。
決済情報やアクセストークンは絶対にリンクに入れない。広く共有するリンク(SNS・メルマガ・広告など)には、メールアドレスなどの購入者の個人情報も入れないようにする。
/.well-known/ucp から config.endpoint を取得し、共通書式の /buy リンクを生成する実装に一本化する。discounts/codes/0 を入れ、国・言語や Shop Pay の優先も指定して配信する。buyer/email 等の個人情報を入れない。適用できない場合に備え、continue_to でキャンペーン LP へ戻す設計にしておく。