For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
기본 탐색 메뉴
Theme
개요 ChatGPT 및 Codex 사용자 문서 활용 사례

지역 서비스 견적 요청 전환 사양

지역 서비스 견적 요청 플러그인을 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: 구조화된 주소 또는 사람이 읽기 쉬운 형식의 주소입니다.
  • location: latitude와 longitude를 포함하는 객체입니다.
  • phone_number: 업체 전화번호입니다. E.164 형식을 권장합니다.
  • website_url: 업체 웹사이트의 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와 같은 목록 조회 엔드포인트를 노출하고 다음 페이지네이션 방식 중 하나를 지원하세요.

  • page와 page_size
  • offset과 limit
  • 내부 값을 해석할 필요가 없는 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"
        }
      ]
    }
  ]
}

견적 요청 버튼 표시 조건

ChatGPT는 다음 조건을 모두 충족할 때만 채팅 안에 견적 요청 버튼을 생성합니다. 상위 업체 레코드의 ID가 비어 있지 않아야 하며, 서비스 제공업체 레코드에는 비어 있지 않은 provider_business_id와 유효한 provider_action_url이 있어야 합니다. 또한 해당 제공업체에 파트너 플러그인이 구성되어 있어야 합니다. 견적 요청 버튼에는 ChatGPT UI 레이블인 견적 받기가 표시됩니다. 제공업체가 지정한 display_name은 request_a_quote 액션의 버튼 레이블을 변경하지 않습니다.

향후 확장

이 사양은 견적 요청을 다룹니다. 방문 예약과 같은 다른 서비스 액션은 견적 요청 플로우에 필요하지 않습니다.