ChatGPT の商品購入用プラグインは現在ベータ版で、承認済みのパートナーとテストを進めています。利用を希望する場合は、申請フォームに必要事項を入力してください。
申請フォームを開く
目的
商品購入など、ユーザーが具体的な行動を起こそうとしている場面で、ChatGPT がパートナーのプラグインを直接呼び出せるようにすることが目的です。
パートナーから検索用の商品フィードの提供を受けると、そのパートナーの MCP サーバーに接続して、購入プロセスの最終段階の操作を実行できます。これを実現するには、パートナーのプラグインでウィジェット名、ツール名、ツールの入力を共通仕様に合わせる必要があります。
この仕様に準拠したプラグインを開発する場合は、ChatGPT の販売事業者向けフォームから利用を申請してください。
ユーザー体験
ユーザーが商品を検索すると、商品詳細のサイドバーに販売事業者ごとの「開く」ボタンが表示されることがあります。販売事業者がプラグインを提供している場合、ChatGPT はその場でプラグインを開き、ユーザーは外部サイトに移動せずに購入手続きを進められます。
現時点の必須要件
- ウィジェット名:
ui://widget/checkout-session.html - ツール名:
checkout_session
checkout_session では、次の設定が必須です。
_meta.ui.resourceUri = "ui://widget/checkout-session.html";
ウィジェットから直接呼び出すツールには、すべて次の設定が必要です。
_meta["openai/widgetAccessible"] = true;
checkout_session の入力
購入対象の商品ごとに必須となるフィールドは id と quantity のみです。offerId と、選択された販売事業者のオファーに関するメタデータは任意です。
{
"checkout_session": {
"items": [
{
"id": "string",
"quantity": 1,
"offerId": "string",
"name": "Wireless headphones",
"description": "Wireless headphones with noise cancellation.",
"images": [
"https://merchant.example.com/images/headphones.jpg",
"https://merchant.example.com/images/headphones-side.jpg"
],
"url": "https://merchant.example.com/products/headphones",
"merchant_name": "Example Merchant",
"price": "$24.99"
}
]
}
}
商品ごとに指定できる任意のフィールドは次のとおりです。
| フィールド | 説明 |
|---|---|
offerId |
選択された販売事業者のオファーを識別する ID。 |
name |
選択されたオファーの商品名。 |
description |
販売事業者自身の商品フィードにある商品説明。 |
images |
販売事業者の商品フィードにある画像 URL の順序付きリスト。先頭がメイン画像。 |
url |
選択された販売事業者のオファーの URL。 |
merchant_name |
選択された販売事業者の名称。 |
price |
オファーに表示される価格を表す文字列。 |
images には、選択された販売事業者の商品フィードにある画像 URL が 0 件以上含まれます。URL がある場合は、先頭の URL が指す画像がメイン画像として表示されます。ChatGPT は値を取得できない任意フィールドを省略します。商品説明を生成したり、別の販売事業者の商品説明や画像を使用したりすることはありません。ツールの入力スキーマでは、これらの商品フィールドを任意として宣言してください。購入対象の商品 ID とオファー ID を使い、自社のカタログから正確な商品情報、在庫情報、価格情報を取得してください。
このようにネストされたチェックアウトセッションの構造は、Commerce のチェックアウトセッション仕様に記載されている形式に準拠しています。