🛠️ Google Shopping Auto-Fix (corrección de feed)
Archivo: agentes/marketing/google-shopping-autofix.ts · Plist: _(ninguno)_ · Horario: Manual (con flags FIX_LIMIT y DRY_RUN)
Qué hace
Corrige automáticamente en Shopify los problemas detectados por la auditoría para maximizar la aprobación en Google Merchant Center. Por cada producto con issues: genera imagen si falta (fal.ai), reescribe la descripción si es corta (IA, sin palabras prohibidas), asigna categoría Google Product Taxonomy, pone vendor "RifKings" si falta y reescribe el título si contiene palabras prohibidas. Tiene modo DRY_RUN para previsualizar sin escribir y límite configurable de productos por pasada.
Cómo funciona
1. Carga .env; lee FIX_LIMIT (default 30) y DRY_RUN.
2. Pagina productos activos y filtra los que tienen algún issue (sin imagen / desc corta / sin categoría / sin vendor / palabra prohibida en título), recorta a FIX_LIMIT.
3. Por producto construye updates: imagen (fal.ai flux/schnell), descripción (LLM sonnet), product_type (LLM), vendor, título limpio (LLM).
4. Si DRY_RUN, solo loguea. Si no, hace PUT /products/{id} y POST /products/{id}/images para la imagen.
5. Acumula stats y notifica (intel_competitor).
Datos/APIs
- Shopify Admin API (
2024-10): products (read + PUT + POST images). - fal.ai (
fal-ai/flux/schnell, square_hd) para imágenes faltantes. - gemini-cli local (modelo sonnet) para descripción/categoría/título.
- notify-router → evento
intel_competitor. - Vars .env:
SHOPIFY_STORE,SHOPIFY_ACCESS_TOKEN,FAL_API_KEY.
Cómo probarlo
cd /Users/user/rifai-agents && DRY_RUN=1 FIX_LIMIT=5 npx tsx agentes/marketing/google-shopping-autofix.ts
Espera (modo DRY): "Modo: DRY RUN (sin escribir)", lista [DRY] <producto> → <cambios previstos> y un resumen final con 0 escrituras. Sin DRY_RUN modifica productos reales (descripciones, títulos, imágenes, vendor, categoría).
Si se rompe / recuperar
- Sin plist. Es una acción de mantenimiento puntual; siempre probar primero con
DRY_RUN=1. - Logs: stdout (redirigir a
/Users/user/rifai-agents/logs/google-shopping-autofix.log). - Si un PUT falla cuenta error y continúa con el siguiente (no rompe la pasada).
Cómo replicarlo
- Reutiliza las reglas de
google-shopping-audit.tspara filtrar. - Para cada issue, una corrección: fal.ai (imagen), LLM (desc/categoría/título), constante (vendor).
- Guard rails: system prompt que prohíbe palabras vetadas e inventar specs;
DRY_RUN;FIX_LIMIT; throttle 600ms.