For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主要導覽

在地服務「取得報價」轉換規格

將在地服務報價請求外掛程式整合至 ChatGPT 轉換流程的介接規範。

ChatGPT 中的在地服務「取得報價」轉換外掛程式目前處於 Beta 階段, 正與核准的合作夥伴共同測試。如要申請存取權,請填寫 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:結構化地址,或經過格式化、便於人員閱讀的地址。
  • location:包含 latitudelongitude 的物件。
  • 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,以及所採用分頁方式的中繼資料。

例如,下列請求會從以頁碼分頁的資料饋送中擷取一筆商家資料:

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"
        }
      ]
    }
  ]
}

報價啟動條件

只有在所屬商家的 ID 不為空、 服務供應商的 provider_business_id 不為空且 provider_action_url 有效,以及供應商已設定合作夥伴外掛程式時,ChatGPT 才會建立對話內啟動工具。 報價按鈕使用 ChatGPT UI 標籤「 取得報價」;對於 request_a_quote 動作, 供應商的 display_name 不會覆寫此標籤。

未來擴充

此介接規範涵蓋報價請求。報價請求流程不要求支援其他服務動作, 例如預約。