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.
| Campo | De onde vem |
|---|---|
item_id | O id da variante. É o que vai no endereço do carrinho. |
title | O nome do produto, com os valores da variante ("Tênis de corrida - Azul / 40"), até 150 caracteres. |
description | A descrição do produto, em texto simples, até 5.000 caracteres; sem descrição, o nome. |
url | A página do produto, com a variante escolhida (?variante=<id>) quando há mais de uma. |
brand | A marca do produto; sem marca, o nome da loja. |
seller_name | O nome da loja. |
image_url, additional_image_urls | As fotos da variante primeiro (as marcadas com o valor dela), depois as gerais; até 10 adicionais. |
availability | in_stock ou out_of_stock. |
price, sale_price | Em reais, no formato 79.99 BRL. Em promoção, price é o preço cheio e sale_price, o da promoção. |
condition | new, used ou refurbished. |
gtin, mpn | O código de barras da variante e a referência do produto, quando há. |
product_category | A categoria do Google, em português ("Vestuário e acessórios > Sapatos"); sem ela, as categorias da loja. |
color, size, gender, age_group, material | Os atributos com papel: o valor da variante, quando a opção tem o papel, ou o do produto. |
group_id, listing_has_variations, variant_dict | No produto com mais de uma variante: o id do produto e as opções da variante ({"Cor": "Azul", "Tamanho": "40"}). |
is_eligible_search | true. |
is_eligible_checkout | false: a compra pelo agente ainda não existe (ver O que ainda não existe). |
accepts_returns, return_deadline_in_days | true e 7: o direito de desistir da compra pela internet em 7 dias (Código de Defesa do Consumidor, art. 49). |
store_country, target_countries | BR 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.comitem_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
urlda 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-SearchBoteChatGPT-User(OpenAI),Claude-SearchBoteClaude-User(Anthropic),PerplexityBotePerplexity-User,Storebot-Google(Google Shopping) eGoogle-Extended, que controla também o que o app do Gemini usa para responder. - Treinamento de modelos:
GPTBot,ClaudeBot,Applebot-ExtendedeCCBot. 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 recebemDisallow: /. 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.