Santiant
← Casos técnicos
IA aplicada eCommerce ERP Backend Python PostgreSQL

Plataforma de enriquecimiento de catálogo con IA para un eCommerce B2B técnico

Diseño e implementación de una plataforma interna que combina IA, integración con fuentes externas y validación humana para gobernar datos de producto a escala en un eCommerce B2B de tecnología.

S
Santiago Moreno Arce ·

Resumen

Un distribuidor B2B con un catálogo técnico amplio necesitaba mejorar la calidad de sus datos de producto: nombres inconsistentes, metadatos SEO escasos y atributos técnicos incompletos que limitaban el filtrado y la conversión. Se diseñó e implementó una plataforma interna de enriquecimiento asistido por IA que combina generación controlada, integración con una fuente externa estructurada y flujos de validación humana, todo ello gobernado desde una interfaz operativa para el equipo de catálogo.

Contexto

El cliente opera un eCommerce B2B en el sector tecnológico, con miles de referencias provenientes de múltiples fabricantes y proveedores. El ERP corporativo, basado en Firebird, actúa como fuente de verdad comercial: contiene productos, categorías y atributos canónicos que terminan publicándose en la tienda online.

El catálogo crece de forma continua y heterogénea. Los datos llegan con nombres comerciales poco uniformes, descripciones de calidad variable y atributos técnicos parciales. En un sector donde el comprador filtra por especificaciones (RAM, almacenamiento, conectividad, tipo de panel, GPU, etc.), la falta de estructura impacta directamente en la experiencia de compra y en el SEO.

El equipo interno gestionaba estas mejoras manualmente, sin trazabilidad clara, lo que hacía inviable escalar al ritmo del catálogo.

Problema

Los síntomas eran consistentes y conocidos por el negocio, pero su origen estaba repartido entre datos, procesos y herramientas:

  • Nombres de producto inconsistentes y poco optimizados para SEO ni para el comprador.
  • Ausencia de metadescripciones y tags internos de búsqueda estructurados.
  • Atributos técnicos incompletos, dispersos o con valores no normalizados (“Rojo”, “rojo”, “ROJO” para el mismo concepto).
  • Datos externos de proveedores y de fuentes como Icecat con taxonomías propias, sin mapeo formal al modelo interno.
  • Procesos manuales lentos, difíciles de auditar y dependientes de personas concretas.

Un enfoque puramente manual ya no era sostenible. Una solución basada solo en IA generativa, sin gobierno de datos, habría introducido nuevos problemas: alucinaciones, valores fuera de vocabulario y falta de control sobre lo que entra al ERP.

Objetivos

  • Mejorar la calidad de nombres, metadatos y atributos a escala.
  • Mantener un control humano claro sobre lo que se escribe en el catálogo.
  • Reducir la carga manual repetitiva del equipo de catálogo.
  • Hacer auditables todos los cambios masivos sobre el catálogo.
  • Integrar datos externos estructurados sin romper el modelo canónico interno.
  • Permitir cambiar reglas y prompts sin tener que desplegar código.

Enfoque técnico

Se diseñó una plataforma modular en Python con una interfaz web Flask, separando claramente el motor de IA, la lógica de negocio, la persistencia operativa y la integración con sistemas externos.

Arquitectura de datos en dos capas. El ERP en Firebird se mantuvo como fuente de verdad comercial. Sobre él se montó una capa operativa en PostgreSQL que concentra configuración, prompts, logs de ejecución, cachés de respuestas, candidatos pendientes y mappings con fuentes externas. Esto permite iterar sobre el proceso de enriquecimiento sin tocar el ERP hasta el momento del writeback.

Gobierno de prompts en base de datos. Los prompts y la configuración de modelos no viven en código, sino en tablas dedicadas. Esto permite versionarlos, ajustarlos sin desplegar y resolverlos jerárquicamente por sección > familia > subfamilia, con plantillas globales combinables con reglas específicas por categoría.

Pipelines de IA especializados. Se construyeron tres motores diferenciados con la misma estructura interna: renombrado SEO, generación de metadescripciones y tags, y descubrimiento/extracción de atributos técnicos. Cada uno opera contra vocabularios controlados, distingue atributos literales de los interpretados y soporta atributos medibles y booleanos.

Vocabulario cerrado y validación de slugs. Para evitar que el modelo invente valores, la extracción de atributos trabaja contra un vocabulario aprobado. Los valores desconocidos no se escriben: se envían a una cola de revisión humana. Esto preserva la integridad del catálogo a costa de algo más de trabajo de aprobación, un trade-off intencional.

Integración con Icecat. Se construyó una capa de enriquecimiento externo con caché de respuestas crudas, sincronización de categorías, explorador de features, gestión de aliases y flujo de aprobación de candidatos antes del writeback. Convierte datos externos heterogéneos en datos internos utilizables.

Modos preview y execute. Todos los procesos críticos pueden ejecutarse en simulación antes de escribir en el ERP, lo que reduce el riesgo de cambios masivos.

Automatización con auditoría. Un sistema de batches con cron permite ejecutar renombrado, metas, extracción de atributos y gap fill de forma desatendida, dejando logs detallados por producto y por ejecución.

Decisiones y trade-offs

Se descartó una solución basada únicamente en LLMs sin esquema, porque habría amplificado los problemas de consistencia. En su lugar, la IA actúa dentro de un marco de vocabulario cerrado y validación humana, sacrificando algo de cobertura automática a cambio de fiabilidad.

Se optó por dos bases de datos (Firebird como verdad comercial, PostgreSQL como capa operativa) en lugar de extender el ERP. Esto añade complejidad de sincronización, pero protege el sistema crítico y permite iterar rápido sobre la capa de IA.

Se priorizó configuración en base de datos frente a configuración en código. Esto encarece el setup inicial, pero permite al equipo de catálogo ajustar el comportamiento sin tocar despliegues.

Se evitó automatizar al 100% el writeback de atributos. Aunque sería más rápido, la revisión humana asistida resulta clave para mantener la confianza del negocio en el sistema.

Resultado

  • Reducción significativa del trabajo manual sobre nombres, metas y atributos.
  • Mayor consistencia entre categorías y entre fabricantes.
  • Cobertura de atributos técnicos mucho más alta, con mejor experiencia de filtrado.
  • Procesos auditables, con logs por producto y por batch.
  • Capacidad real de procesar miles de referencias por lote en ejecuciones programadas.
  • Integración estable con datos externos estructurados, sin contaminar el modelo canónico.
  • Posibilidad de cambiar reglas y prompts en caliente sin desplegar código.

Stack técnico

  • Python (Flask)
  • PostgreSQL
  • Firebird (ERP)
  • OpenAI API
  • Integración con Icecat
  • Gunicorn, Docker, Docker Compose
  • Cron para ejecuciones desatendidas

Qué demuestra este caso

Este caso muestra capacidad para integrar IA aplicada en un sistema de negocio real sin caer en soluciones frágiles: combina arquitectura limpia, gobierno de datos, integración con un ERP existente, fuentes externas estructuradas y validación humana. Refleja criterio para decidir qué automatizar, qué dejar en manos del equipo y cómo proteger la operación durante todo el proceso.

Versión corta para tarjeta

Title: Plataforma de enriquecimiento de catálogo con IA

Sector: eCommerce B2B técnico

Problem: Catálogo amplio con nombres inconsistentes, metadatos escasos y atributos técnicos incompletos, gestionado manualmente.

Technical approach: Plataforma Python/Flask con motores de IA especializados, vocabulario cerrado, integración con Icecat y validación humana sobre una capa PostgreSQL apoyada en un ERP Firebird.

Result: Catálogo más consistente, mejor cobertura de atributos y procesos auditables con mucho menos trabajo manual.

Tags: IA aplicada, eCommerce B2B, ERP, Enriquecimiento de catálogo, Python, PostgreSQL

CTA opcional

Si tu empresa gestiona un catálogo amplio y empieza a notar que la calidad de los datos limita el SEO, el filtrado o la conversión, puedo ayudarte a diseñar un proceso de enriquecimiento realista, auditable y compatible con tu ERP actual.