← Volver al catálogo

🧰 Merchant Center Auto-Fix v3

Archivo: agentes/marketing/merchant-autofix-v3.ts · Plist: _(ninguno)_ · Horario: Manual / one-shot

Qué hace

Evolución de v2: aplica los fixes de Merchant a TODOS los productos activos de Shopify sin depender del match contra Google (la lógica es que un issue tipo title_all_caps afecta al producto en todos los idiomas). No usa Content API. Pasa títulos a Title Case con un diccionario amplio de acrónimos y marcas (BMW, VW, KuKirin, Xiaomi…), borra GTINs ambiguos, y añade metafields Google age_group=adult, gender=unisex y condition=new a los productos que no los tengan.

Cómo funciona

1. Pagina productos activos de Shopify.

2. Pre-carga qué productos ya tienen google.age_group para no duplicar.

3. FIX A: Title Case (umbral 55% mayúsculas, ≥10 letras; toTitleCase preserva acrónimos del set ACRONYMS, normaliza marcas con BRANDS_UPPER, pone conectores en minúscula).

4. FIX B: borra barcodes ambiguos (<8 dígitos, ceros, repetidos o no numéricos).

5. FIX C: crea metafield google.age_group=adult donde falta.

6. FIX D: crea google.gender=unisex y google.condition=new donde falten (consulta antes para no duplicar).

7. Imprime resumen + expectativas de re-crawl + pendientes manuales.

Datos/APIs

  • Shopify Admin API (2024-10): products (read), products PUT, variants PUT, metafields GET/POST. No usa Google API.
  • Vars .env: SHOPIFY_STORE, SHOPIFY_ACCESS_TOKEN.

Cómo probarlo

cd /Users/user/rifai-agents && npx tsx agentes/marketing/merchant-autofix-v3.ts

Espera: carga de productos, verificación de metafields existentes (barra de progreso), FIX A–D con conteos, y resumen final. Escribe en Shopify (no tiene DRY_RUN). Es lento: hace varias llamadas por producto con throttles.

Si se rompe / recuperar

  • Sin plist. Por su volumen de escrituras, no programar a ciegas; ejecutar puntualmente y vigilar.
  • Idempotente: re-ejecutar no duplica metafields (chequea antes) y no re-Title-Casea lo ya correcto.
  • Logs: stdout (redirigir a /Users/user/rifai-agents/logs/merchant-autofix-v3.log).

Cómo replicarlo

  • Paginación de productos + set de productos con age_group ya puesto.
  • toTitleCase con ACRONYMS + BRANDS_UPPER + conectores.
  • Limpieza de barcodes + creación condicional de metafields Google (age_group/gender/condition).
  • Es el "barrido completo"; v2 es el "dirigido por Merchant".