agentplace :: Feeds de producto para ChatGPT y Google

# Lo que lee un agente en esta URL: el markdown de la página, con precio, stock y el grafo de producto. Los links siguen en la vista para agentes.

ruta ..........
/feeds
markdown ......
/feeds.md
pedido ........
GET · Accept: text/markdown
estado ........
200 ok
tokens ........
≈ 6.885

metadatos

title .........
Feeds de producto para ChatGPT y Google
description ...
El catálogo de 14 tiendas como feed de OpenAI y de Google Merchant Center, con las relaciones del Storegraph: de dónde sale cada campo y cómo se manda a cada plataforma.
canonical .....
/feeds
updated .......
2026-10-02
  • Productos: 11.552 de 14 tiendas
  • Filas (una por variante): 39.010
  • Relaciones exportadas: 61.843 related_product
  • Specs revisadas: 1 de octubre de 2026

ChatGPT, AI Mode y Gemini arman sus respuestas de compra con feeds de producto: un archivo con una fila por variante, con precio, stock, fotos y links. Agentplace genera los dos que importan, el de OpenAI y el de Google Merchant Center, con los datos de cada tienda, el texto de la IA y las relaciones del Storegraph, para que el asistente sepa qué recomendar al lado de cada producto.

En 10 segundos

  • Listos y al día. Los dos feeds se generan en cada build desde los mismos datos que la página, sin llamadas a modelos: OpenAI (JSONL) y Google (XML). El sync de cada noche los renueva.
  • Con el grafo adentro. 87 % de los productos sale con sus relaciones como related_product, el atributo que Google usa en AI Mode.
  • El paso que sigue es la cuenta. Para Google, cada tienda ya tiene su feed con links a su dominio; OpenAI se abre con aprobación. Nada se envió todavía: lo decide Rafa.

Cómo se manda a cada plataforma

PlataformaAgentplace (un feed)Cada tienda (CrossUp)Cómo llegaFormatoRelaciones
Google Merchant CenterRequiere cuentaListo para enviarFuente de datos por archivo con descarga programada (diaria) desde una URL; o Merchant API.XML RSS 2.0 con g: (acepta .gz), hasta 4 GB.Sí: related_product (hasta 30 por producto, los 6 tipos), pensado para AI Mode.
OpenAI · ChatGPTRequiere aprobaciónRequiere aprobaciónPush por SFTP de una foto completa, al menos diaria (OpenAI no la descarga); más una API PATCH para cambios.jsonl.gz (también parquet, csv.gz, tsv.gz); hasta 500k ítems por archivo.Hoy no: related_product_id y relationship_type salieron de la spec entre el 28-ago y el 13-sep-2026. Los dejamos calculados.
Microsoft Merchant CenterRequiere cuentaListo para enviarDescarga programada desde una URL, SFTP o importación desde Google Merchant Center.El mismo XML de Google.No documentado.
PerplexityNo disponible en ARNo disponible en ARFormulario de alta y feed por SFTP o URL.El formato de Google (CSV o XML RSS).No documentado.
MetaNo disponible en ARRequiere cuentaCatálogo con feed programado desde una URL (hasta cada hora) o Catalog Batch API.Acepta el XML RSS con campos g:.No.
PinterestRequiere cuentaRequiere cuentaFeed por URL o SFTP, ~cada 24 h.Acepta el XML o el TSV de Google.No.

Google Merchant Center

Shopping, listados gratuitos, AI Mode y Gemini. Agentplace: Con agentplace.crossup.ai reclamado, los links a nuestras PDPs cumplen la regla de dominio. A validar: que acepten una PDP que manda a comprar a otra tienda. Cada tienda: Cada tienda ya tiene su feed con links a su propio dominio: se pega la URL en su Merchant Center.

  1. Crear la cuenta de Merchant Center y elegir Argentina y ARS (soportados en listados gratuitos).
  2. Verificar y reclamar agentplace.crossup.ai: cada link tiene que caer en el dominio reclamado.
  3. Productos → Fuentes de datos → Agregar archivo → Descarga programada, diaria, con la URL del feed.
  4. Revisar los diagnósticos de la primera descarga antes de activar listados gratuitos.

Feed: google-merchant.xml.gz. Para enviarlo: Confirmar con Google que acepta un agregador cuya compra ocurre en la tienda del merchant. GTIN: sin código de barras, Google se arregla con marca + MPN. A escala: Una cuenta avanzada de CrossUp que vincula la cuenta de cada merchant por Merchant API (accountManagement: el merchant conserva la propiedad), una fuente programada por tienda apuntando a su feed y regeneración con los webhooks product/* de Tiendanube.

Fuentes: Especificación de datos de producto (abre en otra pestaña) · related_product (abre en otra pestaña) · Requisitos de la página de destino (abre en otra pestaña) · Países y monedas (Argentina, ARS) (abre en otra pestaña) · Archivos comprimidos y 4 GB (abre en otra pestaña) · Merchant API: sub-cuentas (abre en otra pestaña).

OpenAI · ChatGPT

Búsqueda de productos en ChatGPT. Agentplace: El alta es para socios aprobados, por formulario. La carga estándar hoy apunta a Estados Unidos; otros mercados los habilita OpenAI. Cada tienda: Mismo camino: CrossUp como plataforma, con el mercado argentino habilitado.

  1. Postular a CrossUp en chatgpt.com/merchants como plataforma con catálogos argentinos.
  2. Con la aprobación llegan las credenciales SFTP: subir openai.jsonl.gz y validar primero con ~100 ítems.
  3. Programar la subida diaria (la foto completa reemplaza a la anterior; un producto ausente queda 14 días).

Feed: openai.jsonl.gz. Para enviarlo: Aprobación de OpenAI y el mercado AR habilitado. Fotos en JPEG o PNG para el 7 % que hoy está en WebP. A escala: Un solo socio (CrossUp) con un archivo por merchant en la raíz SFTP, regenerado cada noche y parcheado por API con los webhooks de Tiendanube. seller_name y seller_url ya identifican a cada tienda.

Fuentes: Spec del feed (file upload) (abre en otra pestaña) · Entrega por SFTP (abre en otra pestaña) · Get started (socios aprobados) (abre en otra pestaña) · Spec del 23-ago-2026, con related_product_id (abre en otra pestaña).

Microsoft Merchant Center

Bing Shopping y Copilot. Agentplace: Misma regla de dominio que Google: con el dominio reclamado, el mismo feed. Cada tienda: Se importa directo desde Google Merchant Center: el feed de cada tienda sirve tal cual.

  1. Crear la tienda en Microsoft Merchant Center y reclamar el dominio (Bing Webmaster Tools).
  2. Importar desde Google Merchant Center, o cargar la URL del feed con descarga diaria.

Feed: google-merchant.xml.gz. Para enviarlo: El checkout de Copilot es hoy sólo para Estados Unidos; los listados de producto no lo necesitan. A escala: Importación desde la cuenta de Google de cada merchant: sin un segundo pipeline.

Fuentes: Microsoft Advertising · agentic commerce (abre en otra pestaña).

Perplexity

Shopping en Perplexity. Agentplace: El programa de merchants pide vender y enviar a Estados Unidos (fuentes secundarias). Cada tienda: Igual: se abre cuando sumen Argentina.

  1. Postular en el Merchant Program cuando habilite tiendas argentinas: el feed de Google ya sirve.

Feed: google-merchant.xml.gz. Para enviarlo: Que Perplexity acepte merchants que no envían a Estados Unidos. A escala: El mismo feed de Google por tienda.

Fuentes: Guía del Merchant Program (secundaria) (abre en otra pestaña) (secundaria).

Meta

Catálogo de Facebook e Instagram. Agentplace: Meta Shops se apagó en Argentina el 10-ago-2023; el catálogo queda para anuncios. Cada tienda: Cada tienda puede usar el feed para anuncios de catálogo desde su Business Manager.

  1. Opcional, como canal de anuncios: en Commerce Manager, Catálogo → Fuentes de datos → Feed programado con la URL de la tienda.

Feed: google-merchant.xml.gz. Para enviarlo: Shops y el etiquetado de productos siguen apagados en Argentina. A escala: Acceso de partner al catálogo de cada merchant; es un canal de anuncios, no de compras con IA.

Fuentes: Desactivación de Meta Shops (Tiendanube) (abre en otra pestaña).

Pinterest

Catálogos y Shopping. Agentplace: Cuenta de empresa y dominio reclamado; Argentina figura entre los mercados de catálogos (fuente secundaria). Cada tienda: Cada tienda reclama su dominio y carga la URL de su feed.

  1. Crear la cuenta de empresa, reclamar el dominio y cargar la URL del feed en Catálogos.

Feed: google-merchant.xml.gz. Para enviarlo: Confirmar en la doc oficial que Argentina tiene catálogos habilitados. A escala: Mismo feed de Google por tienda.

Fuentes: Pinterest catalogs (secundaria) (abre en otra pestaña) (secundaria).

Revisadas y sin camino hoy: Google UCP / checkout en AI Mode (Estados Unidos primero, después Canadá y Australia); Amazon Buy for Me (Sólo Estados Unidos, vía Feedonomics, Salsify o CedCommerce); Klarna (Argentina no figura entre sus mercados); Mercado Libre (No recibe catálogos externos); Shopify Catalog (Sólo tiendas Shopify).

Campo por campo

Una sola tabla en el código (lib/feeds/mapping.ts) arma los dos feeds, mide la cobertura y dibuja esta página. Cobertura = filas con un valor válido para esa spec.

Identidad y variantes

OpenAIGoogleFuenteDe dónde saleCómo se transformaCobertura OpenAICobertura Google
item_id (obligatorio)id (obligatorio)Catálogoproducts.id + products.variants.idUna fila por variante visible: <id de producto>-<id de variante> de Tiendanube. Estable entre syncs y sin : (Google lo usa de separador).100 %100 %
group_id (condicional)item_group_id (condicional)Catálogoproducts.id · products.nameSólo si el producto tiene más de una variante visible: el id de producto agrupa a sus variantes (distinto del id de cada fila).82 %82 %
variant_dict (condicional)variant_option (opcional)Catálogoproducts.variants.optionsLas opciones de Tiendanube tal cual (Color: Hueso, Talle: 36).82 %82 %
gtin (opcional)gtin (recomendado)Faltaproducts.variants.barcode (no sincronizado)Se mandaría tal cual, validando el dígito verificador. Para llenarlo: Tiendanube guarda un código de barras por variante: sumarlo al sync (variants.barcode) y que el merchant lo cargue. Sin GTIN, Google pide mpn + brand.0 %0 %
mpn (opcional)mpn (condicional)Catálogoproducts.variants.skuEl SKU de la variante. Es un MPN legítimo cuando la marca es la propia tienda (fabricante); para un revendedor hace falta el GTIN.93 %93 %

Contenido

OpenAIGoogleFuenteDe dónde saleCómo se transformaCobertura OpenAICobertura Google
title (obligatorio)title (obligatorio)Catálogoproducts.name + variants.optionsEl nombre sin mayúsculas gritadas y, si hay variantes, las opciones de esta (Sábana 2 plazas - Hueso / 36). Cortado en ≤ 150 por palabra.100 %100 %
description (obligatorio)description (obligatorio)IAcontent.products[id].answerLa respuesta corta de la PDP (≤ 150 palabras), escrita por IA sobre la ficha del merchant y validada; texto plano. Si no hay, la descripción de Tiendanube sin HTML.100 %100 %
brand (obligatorio)brand (obligatorio)Catálogoproducts.brand → stores.nameLa marca de Tiendanube; si está vacía o es un placeholder (SI, N/A), el nombre de la tienda: casi todas venden marca propia.100 %100 %
condition (opcional)condition (opcional)DerivadopolíticaSiempre new: las 14 tiendas venden productos nuevos.100 %100 %
product_category (opcional)google_product_category (opcional)Derivadodepartamento + products.categories + products.nameReglas por rubro sobre el nombre y las categorías del merchant → un nodo de la taxonomía de Google (2021-09-21). Google recibe el id; OpenAI, la ruta en inglés.100 %100 %
—product_type (opcional)Catálogoproducts.categoriesLas categorías del merchant que describen el producto (sin promociones ni «Todos los productos»), unidas con >.—97 %
material (opcional)material (opcional)IAcontent.products[id].attributes (Material, Composición, Tejido)El atributo que la IA extrajo de la ficha del merchant (nunca inventado: si la ficha no lo dice, no hay atributo).71 %71 %
color (opcional)color (condicional)Catálogoproducts.variants.options[Color]La opción Color de la variante.60 %60 %
size (opcional)size (condicional)Catálogoproducts.variants.options[Talle/Número/Tamaño/Medida/Plazaje]La opción de talle o medida de la variante.74 %74 %
gender (opcional)gender (condicional)Derivadoproducts.categories + products.nameSólo en indumentaria: male/female/unisex cuando el merchant lo dice en una categoría o en el nombre (Hombre, Mujer, Unisex); si no, no se manda.15 %15 %
—adult (condicional)Derivadodepartamentoyes para el rubro Lencería y juguetes (+18). En OpenAI esos productos van con is_eligible_search: false: su política no los admite.—6,3 %
—product_detail (opcional)IAcontent.products[id].attributesLos atributos que la IA extrajo de la ficha (material, medidas, cuidados…), como Características:Nombre:Valor.—100 %
—question_and_answer (opcional)IAcontent.products[id].faqLas 3–5 preguntas frecuentes de la PDP, respondidas con la ficha del merchant.—100 %
dimensions + weight (opcional)product_weight + product_length… (opcional)Faltaproducts.variants.{weight,width,height,depth} (no sincronizado)Se mandarían como dimensions + weight (OpenAI) y product_length/width/height/weight (Google). Para llenarlo: Tiendanube guarda peso y medidas por variante para cotizar envíos: sumarlos al sync.0 %0 %

Links e imágenes

OpenAIGoogleFuenteDe dónde saleCómo se transformaCobertura OpenAICobertura Google
url (obligatorio)link (obligatorio)Derivadostores.slug + products.handleLa PDP de Agentplace (agentplace.crossup.ai/<tienda>/<handle>): el dominio que reclamamos nosotros. En el feed de cada tienda (CrossUp) va la PDP del merchant en Tiendanube (canonicalUrl).100 %100 %
image_url (obligatorio)image_link (obligatorio)Catálogoproducts.variants.imageUrl → products.images[0]La foto de la variante o, si no tiene, la primera del producto, en el CDN de Tiendanube (1024 × 1024).93 %100 %
additional_image_urls (opcional)additional_image_link (opcional)Catálogoproducts.images[1…]El resto de la galería, sin repetir la principal, hasta 10.94 %94 %

Precio y stock

OpenAIGoogleFuenteDe dónde saleCómo se transformaCobertura OpenAICobertura Google
price (obligatorio)price (obligatorio)Catálogoproducts.variants.price · stores.currencyEl precio de lista de la variante en la moneda de la tienda, con punto decimal y sin separador de miles: 24999.00 ARS.100 %100 %
sale_price (opcional)sale_price (opcional)Catálogoproducts.variants.promotionalPriceSólo si la tienda tiene un precio promocional menor al de lista.15 %15 %
availability (obligatorio)availability (obligatorio)Catálogoproducts.variants.stockin_stock si la variante tiene unidades o no lleva control de stock (null); out_of_stock si está en 0.100 %100 %

Tienda, envíos y devoluciones

OpenAIGoogleFuenteDe dónde saleCómo se transformaCobertura OpenAICobertura Google
seller_name + seller_url (obligatorio)—Tiendastores.name · stores.storeUrlLa tienda que vende y despacha, con su sitio. Agentplace no vende: la compra es en la tienda.100 %—
is_eligible_search (opcional)—Derivadopolítica + departamentotrue: queremos que ChatGPT lo muestre. false para +18, que la política de OpenAI no admite.100 %—
is_eligible_checkout (condicional)—Derivadopolíticafalse: la compra, el pago y el envío son de cada tienda (ChatGPT manda al link). Activarlo pide ACP y las políticas de abajo.100 %—
seller_privacy_policy + seller_tos (condicional)—Faltapáginas de la tienda (no sincronizadas)Las URLs de política de privacidad y términos de cada tienda. Para llenarlo: Sólo hacen falta para checkout dentro de ChatGPT. Tiendanube no las expone por API: se piden en el onboarding.0 %—
shipping_price (opcional)shipping (opcional)Catálogoproducts.freeShippingSi el producto tiene envío gratis: costo 0 a Argentina. Si no, se omite (OpenAI lo lee como desconocido, no gratis). Para llenarlo: Las tarifas de envío de la tienda: Tiendanube las cotiza por código postal en el checkout. Con una tabla por zona del merchant se llena para todos.0,7 %0,7 %
accepts_returns + return_deadline_in_days (opcional)—DerivadoLey 24.240, art. 34Toda compra a distancia en Argentina se puede revocar en 10 días corridos: es el piso legal. Si la tienda ofrece más, se toma de su política. Para llenarlo: La URL de la política de cambios y devoluciones de cada tienda (return_policy), que se pide en el onboarding.100 %—
review_count + star_rating (opcional)product ratings (programa aparte) (opcional)Falta—Cantidad de reseñas y promedio de estrellas del producto. Para llenarlo: Una fuente real de reseñas (la app de reseñas de cada tienda). Nunca se inventan.0 %0 %
store_country + target_countries (opcional)—Tiendastores.countryAR. OpenAI pide configurar el mercado: la carga estándar hoy es sólo para Estados Unidos.100 %—

Relaciones (Storegraph)

OpenAIGoogleFuenteDe dónde saleCómo se transformaCobertura OpenAICobertura Google
related_product_id + relationship_type (retirado)related_product (opcional)Storegraphstoregraph/<tienda>.jsonl · aristas (from = este producto)Las relaciones del Storegraph con su tipo de #139 (complementario → often_bought_with, sustituto → substitute, set y pack → part_of_set), primero las curadas, después las fuertes; hasta 30, apuntando a la variante por defecto del vecino.83 %83 %

Del Storegraph a related_product

Cada relación del Storegraph que pasó los umbrales de calidad viaja con su tipo (vocabulario de la decisión #139), primero las curadas y los complementos, hasta 30 por producto, apuntando a la variante por defecto del vecino. El motivo en palabras queda en la página y en el Storegraph: el feed no tiene dónde ponerlo.

Relación en el StoregraphGoogle related_productschema.orgQué significa
Se combina (complementary)often_bought_with (accessory si el grafo lo marca)isRelatedToComplementos con evidencia de co-compra o del catálogo
Kit o rutina (bundle)part_of_sethasPart / isRelatedToLos otros productos del set
Pack (unit_to_pack)part_of_setisRelatedToEl mismo producto en más cantidad
Alternativa (substitute)substituteisSimilarToOtra opción para la misma necesidad
Versión superior (premium_substitute)substituteisSimilarToUn paso más
Variante (variant)— (va como item_group_id)isVariantOfMismo producto, otro talle o color

Hoy: 61.843 relaciones en 10.031 productos (substitute 55.124, often_bought_with 5.435, part_of_set 1.284), 2.021 curadas a mano. OpenAI tuvo los mismos tipos en related_product_id + relationship_type hasta su spec del 28-ago-2026; quedan calculados para cuando vuelvan.

Cobertura por tienda

TiendaProductosFilasListas OpenAIListas GoogleCon relacionesFeeds de la tienda
Brida2.0892.44799 %100 %95 %OpenAI · Google
BWAY26331989 %90 %71 %OpenAI · Google
Cataleia8968.467100 %100 %85 %OpenAI · Google
Embrujo1.19210.99295 %100 %69 %OpenAI · Google
El Galpón del Hockey36174599 %100 %69 %OpenAI · Google
Ganga Home2.0602.19369 %100 %94 %OpenAI · Google
Gilipollas2251.69423 %100 %92 %OpenAI · Google
Glauco23223497 %97 %54 %OpenAI · Google
Kosmos Cosmética12451498 %99 %90 %OpenAI · Google
Magnolias2.4293.59094 %100 %98 %OpenAI · Google
Napoli4362.126100 %100 %50 %OpenAI · Google
Pato Pampa9705.371100 %100 %83 %OpenAI · Google
Springwall23324598 %100 %97 %OpenAI · Google
Vitalis Navitas427351 %100 %67 %OpenAI · Google

Descargas

ArchivoParaFilasTamaño
/feeds/openai.jsonl.gzOpenAI (subida por SFTP)39.0104,7 MB
/feeds/google-merchant.xml.gzGoogle Merchant Center (descarga programada)39.0107,8 MB
/feeds/openai-sample.jsonlMuestra legible, 5 por tienda——
/feeds/google-merchant-sample.xmlMuestra legible, 5 por tienda——
/feeds/summary.jsonCobertura y archivos (JSON)——
/feeds/fields.jsonLa tabla de campos (JSON)——

El registro de cada producto, campo por campo, está en /feeds/items/<tienda>/<handle>.json y se ve en la vista Agentes de su página (/ai/<tienda>/<handle>) o con ?debug=1.

Qué cambió en las specs

  • OpenAI reescribió su feed entre el 28-ago y el 13-sep-2026: id pasó a item_id, link a url, image_link a image_url, enable_search a is_eligible_search; quedan 9 campos obligatorios y se entrega por SFTP (jsonl.gz o parquet), al menos una vez por día. Spec vigente (abre en otra pestaña).
  • related_product_id y relationship_type salieron de la spec de OpenAI en esa reescritura: estaban en el snapshot del 23-ago-2026 (abre en otra pestaña) y no en el del 13-sep-2026 (abre en otra pestaña).
  • Google mantiene related_product (hasta 30 por producto, los mismos 6 tipos) entre los atributos conversacionales para AI Mode, junto con question_and_answer, product_detail, variant_option e item_group_title. Spec (abre en otra pestaña).
  • Quién puede mandar: Google pide que cada link caiga en el dominio reclamado por la cuenta; OpenAI abre el alta a socios aprobados y hoy apunta a Estados Unidos. Detalle y fuentes en docs/product-feed.md.

Cómo lo haría CrossUp para todas sus tiendas

  1. Un feed por merchant, desde el día uno. El mismo generador con el catálogo de cada tienda, sus links y su Storegraph: lo que hoy son los feeds de las 14 tiendas de Agentplace.
  2. Vincular su Merchant Center con un clic. Una cuenta avanzada de CrossUp enlaza la cuenta de Google de cada merchant por Merchant API (accountManagement): el merchant conserva la propiedad y su dominio ya reclamado; CrossUp carga la fuente programada.
  3. Al día con cada cambio. Los webhooks product/created, product/updated y product/deleted de Tiendanube regeneran la fila y la mandan por API entre las fotos diarias.
  4. ChatGPT como plataforma. CrossUp postula como socio de OpenAI con un archivo por merchant en su raíz SFTP; seller_name y seller_url ya identifican a cada tienda.
  5. Lo que sube la calidad: GTIN y medidas desde Tiendanube, tabla de envíos y política de devoluciones en el onboarding, y fotos en JPEG para OpenAI. Cada campo nuevo se ve en la cobertura de esta página.