API Admin › Guias

Agentes de compra: o feed da OpenAI e o endereço do carrinho

Os assistentes de IA (ChatGPT, Gemini, Copilot, Perplexity, Claude) já acham e comparam produtos para quem pergunta o que comprar. Em outubro de 2026 nenhum deles fecha a compra de uma loja do Brasil: o agente descobre, e a compra termina no checkout da loja, com Pix, cartão e parcelamento. Toda loja da Denaryx publica, sem autenticação, o que esse caminho pede: o feed de produtos na especificação da OpenAI, um endereço que abre o carrinho com os itens que o agente escolheu, e um robots.txt com regras para os robôs de IA.

Os endereços abaixo ficam no domínio da loja: o subdomínio (https://minhaloja.denaryx.store) ou o domínio próprio, quando ela tem um.

O feed de produtos da OpenAI

GET https://minhaloja.denaryx.store/feeds/openai.jsonl

Um arquivo JSONL em UTF-8, com um objeto por linha e uma linha por variante, nos campos da especificação de feed da OpenAI. Os produtos são os mesmos do feed do Google Shopping (/feeds/google.xml): os que estão à venda sozinhos, com pelo menos uma foto, e as variantes com preço. A loja de teste e a loja suspensa respondem 404. O feed sai com o preço e o estoque do momento, sem cache. O lojista vê o endereço em Configurações › Buscadores, na seção Assistentes de IA.

CampoDe onde vem
item_idO id da variante. É o que vai no endereço do carrinho.
titleO nome do produto, com os valores da variante ("Tênis de corrida - Azul / 40"), até 150 caracteres.
descriptionA descrição do produto, em texto simples, até 5.000 caracteres; sem descrição, o nome.
urlA página do produto, com a variante escolhida (?variante=<id>) quando há mais de uma.
brandA marca do produto; sem marca, o nome da loja.
seller_nameO nome da loja.
image_url, additional_image_urlsAs fotos da variante primeiro (as marcadas com o valor dela), depois as gerais; até 10 adicionais.
availabilityin_stock ou out_of_stock.
price, sale_priceEm reais, no formato 79.99 BRL. Em promoção, price é o preço cheio e sale_price, o da promoção.
conditionnew, used ou refurbished.
gtin, mpnO código de barras da variante e a referência do produto, quando há.
product_categoryA categoria do Google, em português ("Vestuário e acessórios > Sapatos"); sem ela, as categorias da loja.
color, size, gender, age_group, materialOs atributos com papel: o valor da variante, quando a opção tem o papel, ou o do produto.
group_id, listing_has_variations, variant_dictNo produto com mais de uma variante: o id do produto e as opções da variante ({"Cor": "Azul", "Tamanho": "40"}).
is_eligible_searchtrue.
is_eligible_checkoutfalse: a compra pelo agente ainda não existe (ver O que ainda não existe).
accepts_returns, return_deadline_in_daystrue e 7: o direito de desistir da compra pela internet em 7 dias (Código de Defesa do Consumidor, art. 49).
store_country, target_countriesBR e ["BR"].

Uma linha:

{
  "item_id": "0199a0b4-7c6e-7a3f-9d1e-2b3c4d5e6f0a",
  "title": "Tênis de corrida - Azul / 40",
  "description": "Leve e macio.",
  "url": "https://minhaloja.denaryx.store/produtos/tenis-de-corrida?variante=0199a0b4-7c6e-7a3f-9d1e-2b3c4d5e6f0a",
  "brand": "Corre Já",
  "seller_name": "Minha Loja",
  "image_url": "https://fotos.denaryx.com/lojas/.../azul.webp",
  "availability": "in_stock",
  "price": "249.90 BRL",
  "sale_price": "199.90 BRL",
  "condition": "new",
  "gtin": "7891000315507",
  "color": "Azul",
  "size": "40",
  "group_id": "0199a0b4-7c6e-7a3f-9d1e-2b3c4d5e6f00",
  "listing_has_variations": true,
  "variant_dict": { "Cor": "Azul", "Tamanho": "40" },
  "is_eligible_search": true,
  "is_eligible_checkout": false,
  "accepts_returns": true,
  "return_deadline_in_days": 7,
  "store_country": "BR",
  "target_countries": ["BR"]
}

Como chega à OpenAI. A OpenAI aceita feeds só de lojistas aprovados, só para os Estados Unidos, o Canadá e o México (em outubro de 2026), e recebe o arquivo por SFTP, enviado pelo lojista ao menos uma vez por dia, comprimido (jsonl.gz) ou em Parquet. O endereço acima é a fonte: quem for aprovado baixa e envia, ou usa um agregador de feeds que busca o endereço e entrega à OpenAI. Quando o cadastro abrir para o Brasil, a loja já tem o feed pronto.

O endereço do carrinho

GET https://minhaloja.denaryx.store/cart/<item_id>:<quantidade>,<item_id>:<quantidade>

É o endereço que o agente entrega ao comprador para ele terminar a compra na loja (o continue_url dos protocolos de compra por agente), no formato que o mercado usa para links de carrinho. Abrir o endereço troca o que estava no carrinho do comprador pelos itens do endereço, para o carrinho ser o que o agente mostrou, e leva ao carrinho da loja, onde o comprador calcula o frete e segue ao checkout.

https://minhaloja.denaryx.store/cart/0199a0b4-7c6e-7a3f-9d1e-2b3c4d5e6f0a:2,0199a0b4-7c6e-7a3f-9d1e-2b3c4d5e6f0b?utm_source=chatgpt.com
  • item_id é o do feed (o id da variante). Até 50 itens; a quantidade vai de 1 a 99 e, sem ela, é 1; a mesma variante duas vezes soma. Os dois-pontos e as vírgulas podem vir codificados (%3A, %2C).
  • A busca do endereço (?utm_source=chatgpt.com, por exemplo) vai junto para a página do carrinho, e a medição da loja vê de onde o comprador veio.
  • Preço, estoque e frete são os da loja na hora; o checkout confere tudo de novo.
  • O que não pode entrar responde com uma página simples, sem mudar o carrinho, e o link de volta ao carrinho: o endereço mal escrito (400), a variante que não existe na loja (404), a esgotada e o produto que só é vendido junto com outro ou que exige escolher a montagem (422; por exemplo, a armação que pede a lente). Para estes, o agente entrega o url da página do produto.

Os robôs dos assistentes de IA

O robots.txt de cada loja (/robots.txt) tem regras explícitas para os robôs de IA, além do User-agent: *:

  • Busca e visita a pedido do comprador, sempre liberados, com as mesmas regras do Googlebot (fora do carrinho, do checkout e da busca): OAI-SearchBot e ChatGPT-User (OpenAI), Claude-SearchBot e Claude-User (Anthropic), PerplexityBot e Perplexity-User, Storebot-Google (Google Shopping) e Google-Extended, que controla também o que o app do Gemini usa para responder.
  • Treinamento de modelos: GPTBot, ClaudeBot, Applebot-Extended e CCBot. Entram como os outros, a menos que o lojista marque, em Configurações › Buscadores, "Não deixar a IA treinar com os textos e as fotos da loja": aí eles recebem Disallow: /. Bloquear o treinamento não muda a loja ser achada.

A vitrine não bloqueia robô pelo nome: o único limite é o de chamadas por endereço IP, de 50 leituras por segundo, folgado o bastante para um agente ler as páginas que o comprador pediu.

O que ainda não existe

A compra dentro do assistente (o checkout pelo agente, dos protocolos ACP, da OpenAI, e UCP, do Google) depende de o meio de pagamento entregar um token de pagamento para agentes. Nenhum dos gateways brasileiros faz isso em outubro de 2026. Quando fizer, a loja ganha o perfil /.well-known/ucp e as sessões de checkout sobre o checkout que já existe, e o feed passa a dizer is_eligible_checkout: true.