Os plugins do ChatGPT para o fluxo de conversão de pedidos de orçamento de serviços locais estão em fase beta, com testes em andamento junto a parceiros aprovados. Para solicitar acesso, preencha o formulário do ChatGPT para comerciantes.
Objetivo
O ChatGPT pode acionar diretamente os plugins de parceiros quando o usuário demonstra uma intenção clara de contratar um serviço local, por exemplo, ao solicitar um orçamento.
Para habilitar esse fluxo, forneça dados de empresas locais que identifiquem seu serviço e disponibilize uma ferramenta MCP que abra seu widget de solicitação de orçamento.
Se quiser criar um plugin que siga esta especificação, solicite acesso pelo formulário do ChatGPT para comerciantes.
Experiência do usuário
Quando o usuário pesquisa uma empresa local elegível, o cartão da empresa ou a barra lateral pode exibir o botão Solicitar orçamento. Ao selecionar o botão, o usuário abre o widget de solicitação de orçamento do provedor em uma janela modal no ChatGPT.
O ChatGPT só exibe o botão quando a empresa tem um provedor de serviços elegível e esse provedor tem um plugin de parceiro configurado.
Requisitos do contrato
Registre uma ferramenta MCP chamada request_service e use ui://widget/request-service.html como recurso do widget. O ChatGPT abre o widget no modo de exibição modal e envia o ID que o provedor atribuiu à empresa quando o usuário seleciona Solicitar orçamento.
const launcherTool = {
name: "request_service",
_meta: {
ui: {
resourceUri: "ui://widget/request-service.html",
},
},
};
const launcherInput = {
business_id: "biz_123",
};
Defina _meta["openai/widgetAccessible"] = true em cada ferramenta auxiliar que o widget chamar diretamente. Esse metadado se aplica às ferramentas auxiliares que o widget pode acessar. O simples fato de uma ferramenta abrir o widget não exige esse metadado.
O parâmetro de entrada business_id da ferramenta que abre o widget deve ter o valor de provider_business_id do registro do provedor de serviços correspondente. Esse valor pode ser diferente do ID do registro da empresa local que contém os dados do provedor.
Requisitos do feed de empresas
O feed de empresas é uma coleção paginada de registros de empresas locais que você fornece ao ChatGPT. O ChatGPT indexa esses registros para pesquisa e usa os dados dos provedores de serviços para determinar se a empresa oferece a opção Solicitar orçamento.
Campos obrigatórios da empresa
Cada registro de empresa deve incluir os seguintes campos.
idé um ID estável que identifica a empresa de forma única no feed.nameé o nome da empresa.addressé o endereço em formato estruturado ou em texto formatado para leitura.locationé um objeto que contémlatitudeelongitude.phone_numberé um número de telefone da empresa, de preferência no formato E.164.website_urlé o site da empresa.platform_urlé a URL canônica da página da empresa na sua plataforma.
Ação de solicitação de orçamento
Para cada empresa que aceita pedidos de orçamento, adicione um array service_providers com um registro que contenha os campos a seguir.
provideré o nome que você usa como provedor. Ele deve corresponder ao nome do provedor no plugin de parceiro configurado.provider_business_idé o identificador que você atribui à empresa e deve estar preenchido. O ChatGPT passa esse valor comobusiness_idpararequest_service.action_typedeve ter o valorrequest_a_quotepara pedidos de orçamento.provider_action_urlé uma URL HTTP ou HTTPS absoluta e válida para sua ação de solicitação de orçamento.display_nameé um nome de exibição opcional fornecido pelo provedor.
Endpoint de listagem paginada
Disponibilize um endpoint de listagem, como GET /v1/businesses, com suporte a uma das seguintes formas de paginação.
pageepage_size.offsetelimit.- Um token opaco
next_page_token.
Aceite o parâmetro opcional changes_token para identificar o ponto de controle da sincronização anterior. Retorne checksum para indicar se o feed mudou, businesses com os registros da página atual e os metadados da forma de paginação adotada.
Por exemplo, a requisição a seguir busca uma empresa em um feed paginado por número de página.
GET /v1/businesses?page=1&page_size=1&changes_token=sync_001
Retorne o registro completo da empresa com a ação de solicitação de orçamento.
{
"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"
}
]
}
]
}
Condições para abrir o widget de orçamento
O ChatGPT só cria o botão que abre o widget no chat quando todas as condições a seguir são atendidas. O registro da empresa que contém os dados do provedor deve ter um ID preenchido. O provedor de serviços deve ter um provider_business_id preenchido, uma provider_action_url válida e um plugin de parceiro configurado. O botão exibe o texto Solicitar orçamento, definido pela interface do ChatGPT. O valor de display_name fornecido pelo provedor não substitui esse texto nas ações do tipo request_a_quote.
Expansão futura
Este contrato abrange pedidos de orçamento. O fluxo de solicitação de orçamento não exige outras ações de serviço, como o agendamento de horários.