For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション

地域サービスの見積もり依頼コンバージョン仕様

地域サービスの見積もり依頼プラグインを ChatGPT のコンバージョンフローに統合するための仕様。

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:フィード内で一意の、変わることのない事業者 ID
  • name:事業者名
  • address:構造化された住所、または人が読みやすい形式に整えた住所
  • locationlatitudelongitude を含むオブジェクト
  • 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 の絶対 URL
  • display_name:プロバイダーが指定する表示名(任意)

ページ分割に対応した一覧取得エンドポイント

GET /v1/businesses などの一覧取得エンドポイントを公開し、 次のいずれかのページネーション方式に対応させます。

  • pagepage_size
  • offsetlimit
  • 不透明な 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 によってこのラベルが上書きされることはありません。

今後の拡張

この仕様は見積もり依頼を対象としています。見積もり依頼フローでは、予約など、その他のサービスアクションへの対応は必須ではありません。