ChatGPT の地域サービス向け見積もり依頼コンバージョンプラグインは現在ベータ版で、 承認済みのパートナーとテストを行っています。利用を申し込むには、 ChatGPT マーチャントフォームに入力してください。
目的
ChatGPT は、見積もり依頼など、利用意向の強いユーザーを対象とした地域サービスのユースケースで、パートナープラグインを直接呼び出せます。
このフローを有効にするには、自社のサービスを識別できる地域の事業者データを提供し、見積もり依頼ウィジェットを開く MCP ツールを公開します。
この仕様に準拠したプラグインを構築する場合は、 ChatGPT マーチャントフォームから利用を申し込んでください。
ユーザー体験
ユーザーが対象の地域の事業者を検索すると、事業者のカードや サイドバーに「 見積もりを依頼 」ボタンが表示されることがあります。このボタンを選択すると、 ChatGPT 内のモーダルでプロバイダーの見積もり依頼ウィジェットが開きます。
ChatGPT にこのボタンが表示されるのは、事業者に対象のサービスプロバイダーがあり、そのプロバイダーにパートナープラグインが設定されている場合に限られます。
必須仕様
request_service という名前の MCP ツールを登録し、
ウィジェットリソースとして ui://widget/request-service.html を指定します。
ユーザーが「 見積もりを依頼」を選択すると、ChatGPT は modal 表示モードでウィジェットを起動し、
プロバイダー側の事業者 ID を送信します。
const launcherTool = {
name: "request_service",
_meta: {
ui: {
resourceUri: "ui://widget/request-service.html",
},
},
};
const launcherInput = {
business_id: "biz_123",
};
ウィジェットから直接呼び出すヘルパーツールには、
_meta["openai/widgetAccessible"] = true を設定します。このメタデータは、ウィジェットからアクセス可能なヘルパーツールに適用されます。
ウィジェットを開くという理由だけで、ランチャーに適用するものではありません。
ランチャーの入力 business_id には、
該当するサービスプロバイダーレコードの provider_business_id を指定する必要があります。この値は、そのレコードを含む
地域の事業者レコードの ID と異なっていてもかまいません。
事業者フィードの要件
事業者フィードとは、ChatGPT に提供する、ページ分割された地域の事業者レコードの集まりです。 ChatGPT は検索用にこれらのレコードをインデックス化し、 レコード内のサービスプロバイダーデータを使って、その事業者が「 見積もりを依頼」に対応しているかどうかを判断します。
事業者の必須フィールド
各事業者レコードには、次のフィールドを含める必要があります。
id:フィード内で一意の、変わることのない事業者 IDname:事業者名address:構造化された住所、または人が読みやすい形式に整えた住所location:latitudeとlongitudeを含むオブジェクトphone_number:事業者の電話番号(E.164 形式を推奨)website_url:事業者のウェブサイトplatform_url:自社プラットフォーム上の当該事業者の掲載ページの正規 URL
見積もり依頼アクション
見積もり依頼を受け付けるすべての事業者に、
次のフィールドを持つレコードを含む service_providers 配列を追加します。
provider:自社のプロバイダー名。設定済みのパートナープラグインと一致する必要があります。provider_business_id:自社で使用する、空でない事業者の識別子。 ChatGPT はこの値をbusiness_idとしてrequest_serviceに渡します。action_type:見積もり依頼の場合はrequest_a_quoteに設定します。provider_action_url:見積もり依頼アクション用の、 有効な HTTP または HTTPS の絶対 URLdisplay_name:プロバイダーが指定する表示名(任意)
ページ分割に対応した一覧取得エンドポイント
GET /v1/businesses などの一覧取得エンドポイントを公開し、
次のいずれかのページネーション方式に対応させます。
pageとpage_sizeoffsetとlimit- 不透明な
next_page_token
前回の同期チェックポイントを識別するため、任意の changes_token を受け付けます。
フィードに変更があったかどうかを示す checksum、
現在のページの businesses、および使用するページネーション方式に応じたメタデータを返します。
たとえば、次のリクエストは、ページ方式のフィードから事業者を 1 件取得します。
GET /v1/businesses?page=1&page_size=1&changes_token=sync_001
完全な事業者レコードと、その見積もり依頼アクションを返します。
{
"checksum": true,
"page": 1,
"page_size": 1,
"total_pages": 1,
"businesses": [
{
"id": "local_biz_456",
"name": "Acme Plumbing",
"address": {
"line1": "123 Market St",
"locality": "San Francisco",
"region": "CA",
"postal_code": "94105",
"country": "US",
"formatted": "123 Market St, San Francisco, CA 94105, US"
},
"location": {
"latitude": 37.793,
"longitude": -122.396
},
"phone_number": "+14155551234",
"website_url": "https://acmeplumbing.example",
"platform_url": "https://provider.example/businesses/local_biz_456",
"service_providers": [
{
"provider": "example_provider",
"provider_business_id": "biz_123",
"action_type": "request_a_quote",
"provider_action_url": "https://provider.example/request-quote/biz_123",
"display_name": "Get Quote"
}
]
}
]
}
見積もり依頼の起動条件
ChatGPT がチャット内にランチャーを作成するのは、サービスプロバイダーのレコードを含む事業者レコードに空でない ID があり、
サービスプロバイダーに空でない provider_business_id と
有効な provider_action_url が設定され、さらにそのプロバイダーにパートナープラグインが設定されている場合に限られます。
見積もりボタンには ChatGPT の UI ラベル「 見積もりを依頼」が使用されます。
request_a_quote アクションでは、プロバイダーの display_name によってこのラベルが上書きされることはありません。
今後の拡張
この仕様は見積もり依頼を対象としています。見積もり依頼フローでは、予約など、その他のサービスアクションへの対応は必須ではありません。