For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegación principal
Theme
Descripción general Documentación para usuarios de ChatGPT y Codex Casos de uso

Especificación del flujo de conversión para solicitar cotizaciones de servicios locales

Contrato para integrar un complemento de solicitud de cotizaciones de servicios locales en el flujo de conversión de ChatGPT.

Los complementos del flujo de conversión para solicitar cotizaciones de servicios locales en ChatGPT están en fase beta y se están probando con socios aprobados. Para solicitar acceso, completa el formulario de ChatGPT para comercios.

Objetivo

ChatGPT puede invocar directamente los complementos de sus socios cuando el usuario muestra una intención clara de contratar un servicio local, por ejemplo, al solicitar una cotización.

Para habilitar este flujo, proporciona datos del negocio local que permitan identificar tu servicio y expón una herramienta MCP que abra tu widget de solicitud de cotizaciones.

Si quieres crear un complemento que cumpla con esta especificación, solicita acceso mediante el formulario de ChatGPT para comercios.

Experiencia del usuario

Cuando un usuario busca un negocio local que cumple los requisitos, la ficha del negocio o la barra lateral pueden mostrar el botón Solicitar cotización. Al seleccionarlo, se abre el widget de solicitud de cotizaciones del proveedor en una ventana modal de ChatGPT.

ChatGPT muestra el botón solo si el negocio cuenta con un proveedor de servicios que cumple los requisitos y ese proveedor tiene configurado un complemento de socio.

Contrato de integración obligatorio

Registra una herramienta MCP llamada request_service y asigna ui://widget/request-service.html como recurso del widget. ChatGPT abre el widget en el modo de visualización modal y envía el ID que el proveedor asignó al negocio cuando el usuario selecciona Solicitar cotización:

const launcherTool = {
  name: "request_service",
  _meta: {
    ui: {
      resourceUri: "ui://widget/request-service.html",
    },
  },
};

const launcherInput = {
  business_id: "biz_123",
};

Configura _meta["openai/widgetAccessible"] = true en cada herramienta auxiliar que el widget invoque directamente. Estos metadatos se aplican a las herramientas auxiliares accesibles desde el widget. El solo hecho de que una herramienta abra el widget no implica que necesite estos metadatos.

El parámetro de entrada business_id de la herramienta que abre el widget debe coincidir con el provider_business_id del registro del proveedor de servicios correspondiente. Puede ser distinto del ID del registro del negocio local que contiene los datos del proveedor.

Requisitos del feed de negocios

Un feed de negocios es una colección paginada de registros de negocios locales que proporcionas a ChatGPT. ChatGPT indexa estos registros para las búsquedas y usa los datos de los proveedores de servicios para determinar si un negocio admite la opción Solicitar cotización.

Campos obligatorios del negocio

Cada registro de negocio debe incluir los siguientes campos:

  • id: un ID estable del negocio, único dentro de tu feed.
  • name: el nombre del negocio.
  • address: una dirección estructurada o una dirección con un formato legible para las personas.
  • location: un objeto que contiene latitude y longitude.
  • phone_number: un número de teléfono del negocio, preferentemente en formato E.164.
  • website_url: el sitio web del negocio.
  • platform_url: la URL canónica de la ficha del negocio en tu plataforma.

Acción de solicitud de cotización

Para cada negocio que acepte solicitudes de cotización, agrega un arreglo service_providers que contenga un registro con los siguientes campos:

  • provider: tu nombre como proveedor. Debe coincidir con el nombre del proveedor configurado en el complemento de socio.
  • provider_business_id: el identificador que asignas al negocio. No puede estar vacío. ChatGPT pasa este valor como business_id a request_service.
  • action_type: usa el valor request_a_quote para una solicitud de cotización.
  • provider_action_url: una URL absoluta HTTP o HTTPS válida para tu acción de solicitud de cotización.
  • display_name: un nombre opcional que el proveedor proporciona para mostrar en pantalla.

Punto de acceso para el listado paginado

Expón un punto de acceso para listar los negocios, como GET /v1/businesses, y admite una de estas formas de paginación:

  • page y page_size.
  • offset y limit.
  • Un token opaco next_page_token.

Acepta el parámetro opcional changes_token para identificar el punto de control de la sincronización anterior. Devuelve checksum para indicar si el feed cambió, businesses con los negocios de la página actual y los metadatos correspondientes a la forma de paginación que uses.

Por ejemplo, la siguiente solicitud obtiene un negocio de un feed paginado por número de página:

GET /v1/businesses?page=1&page_size=1&changes_token=sync_001

Devuelve el registro completo del negocio y su acción de solicitud de cotización:

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

Requisitos para iniciar una solicitud de cotización

ChatGPT crea un botón para iniciar la solicitud desde el chat solo si el registro del negocio que contiene los datos del proveedor tiene un ID no vacío, el proveedor de servicios tiene un provider_business_id no vacío y una provider_action_url válida, y el proveedor tiene configurado un complemento de socio. El botón muestra la etiqueta Solicitar cotización de la interfaz de ChatGPT. El valor de display_name que proporciona el proveedor no reemplaza esa etiqueta en las acciones de tipo request_a_quote.

Ampliaciones futuras

Este contrato cubre las solicitudes de cotización. El flujo de solicitud de cotizaciones no requiere otras acciones de servicio, como la reserva de citas.