Cómo importar un catálogo JSON al catálogo consolidado

Cómo cargar una fuente JSON en el catálogo consolidado: fuente de datos, perfil, interfaz XML de configuración, identificación, reglas y transformaciones.

Usa una fuente JSON cuando el catálogo del proveedor llegue como archivo .json, respuesta JSON de una API, URL de archivo, URL con autorización, adjunto de email, archivo en FTP/FTPS/SFTP, almacenamiento en la nube o archivo ZIP con JSON dentro. Un mismo JSON puede contener productos, ofertas, categorías, precios, stock, imágenes, atributos y campos adicionales del proveedor.

Después de cargar el archivo, Eofferix analiza el JSON y prepara un snapshot de trabajo corto. Las cargas al catálogo consolidado usan una única interfaz XML de configuración. Esto no significa que el proveedor deba enviar XML: el servicio muestra una estructura XML compacta con nodos, elementos, atributos y ejemplos de valores únicos, no todo el archivo grande completo.

1. Elige cómo recibe Eofferix el JSON

Si la fuente debe actualizarse con regularidad, créala primero en Fuentes. El JSON puede recibirse desde un archivo subido, URL o respuesta API, URL con autorización, email, FTP/FTPS/SFTP, almacenamiento en la nube u otro canal compatible. Para una configuración puntual, carga el archivo directamente en el perfil de importación.

Formas de recibir un catálogo JSON en Eofferix
La fuente define de dónde obtiene Eofferix el JSON antes de cada ejecución.

2. Conecta la fuente JSON al perfil

Abre o crea un perfil de importación, selecciona la fuente JSON y elige la importación al catálogo consolidado. La interfaz del catálogo consolidado no se elige por separado: el perfil usa XML. Después de guardar, la configuración de estructura se abre en el snapshot XML.

Fuente JSON en un perfil de catálogo consolidado con interfaz XML
El perfil usa una fuente JSON, mientras que la interfaz de configuración del catálogo consolidado es XML.

3. Configura la identificación y las reglas de importación

En Identificación de elementos, selecciona los campos de la fuente que se usarán para relacionar los datos entrantes con productos, ofertas y categorías existentes. Los productos suelen usar id, sku, external_id o artículo. Las ofertas pueden usar un ID externo de variante, una combinación de producto y variante, código de barras o SKU. Las categorías pueden usar código, ID externo o ruta completa.

Campos de identificación para productos, ofertas y categorías desde una fuente JSON
Las claves de identificación determinan qué registros se actualizan en ejecuciones posteriores.

Debajo se configuran las reglas de importación: crear nuevos productos y ofertas, actualizar registros encontrados, procesar valores vacíos, precio cero y stock cero, actuar sobre elementos ausentes del JSON actual y detener la importación cuando se alcancen condiciones de protección.

Reglas de creación, actualización, limpieza y protección para una fuente JSON
Las reglas definen cómo cada ejecución cambia los datos existentes del catálogo consolidado.

4. Cómo funciona el snapshot

Después de guardar el perfil, el snapshot XML se abre en el paso siguiente. Muestra la estructura preparada: elementos repetidos, nodos anidados, atributos y ejemplos de valores. Aquí se elige qué nodo es producto, dónde están las ofertas y categorías, y después se asignan valores a campos del catálogo consolidado.

Primero marca el nodo repetido del producto con el rol Producto. Si la fuente tiene variantes separadas, asigna el rol Oferta al nodo de variante. Después haz clic en los valores dentro del nodo y elige el campo del catálogo: nombre, SKU, precio, stock, categoría, descripción, imagen o atributo.

Animación de configuración del snapshot XML para una fuente JSON
Un valor del snapshot preparado se asigna a un campo del catálogo consolidado.

5. Qué se puede transformar

Las transformaciones adaptan los datos del proveedor a la estructura del catálogo consolidado. En la interfaz puedes:

  • renombrar campos antes de la carga;
  • cambiar anidamiento u orden;
  • eliminar datos innecesarios;
  • filtrar productos, ofertas o categorías;
  • limpiar texto y eliminar espacios extra;
  • reemplazar valores;
  • convertir números y fechas;
  • redondear precios;
  • calcular margen o descuento;
  • usar nodos vecinos en cálculos;
  • crear campos nuevos o valores auxiliares;
  • procesar imágenes: guardar, convertir a JPG, PNG o WebP, cambiar tamaño y aplicar una marca de agua;
  • cargar el resultado en el catálogo consolidado o en una aplicación compatible.

6. Ejemplos de transformaciones

La herramienta de transformaciones permite cambiar mucho la importación final: limpiar datos de origen, crear una estructura nueva, añadir campos, filtrar productos, calcular valores y preparar el resultado para el formato o la aplicación necesarios.

Ejemplo simple: quitar guiones del SKU

Si el proveedor envía SKU con guiones, pero el catálogo necesita un código compacto, configura una transformación para el nodo sku: reemplazar - por un valor vacío.

Regla que reemplaza un guion en el SKU por un valor vacío

Antes

{
  "sku": "DESK-NORD-01"
}

Después

DESKNORD01

Ejemplo con condición: aumentar el precio de escritorios

El campo Precio puede comprobar un nodo vecino de categoría. Si category contiene Escritorios, la regla aumenta el precio un 20%.

Transformación condicional de precio según una subcadena de categoría

Antes

{
  "category": "Muebles / Oficina / Escritorios",
  "price": 129.90
}

Después

price: 155.88

Ejemplo con valor nuevo: crear un nombre de producto

Si nombre, SKU, material y país llegan separados, el campo Nombre puede ensamblarse desde varios valores. Las reglas se ejecutan de arriba abajo y añaden solo partes no vacías.

Transformaciones secuenciales para un nombre de producto compuesto
El nombre se arma desde varios valores del snapshot preparado.

En la fuente

{
  "name": "Escritorio Nordic",
  "sku": "DESK-NORD-01",
  "material": "roble macizo",
  "country": "Italia"
}

Después de la transformación

Escritorio Nordic DESK-NORD-01 (roble macizo), Italia

Ejemplo secuencial: preparar un precio

Ejemplo de transformaciones secuenciales para el campo Precio. Las transformaciones pueden usar no solo el valor actual, sino también otros nodos del documento para los cálculos.

  1. primero se limpia el valor;
  2. después se comprueban las condiciones;
  3. después se usa otro nodo del documento, por ejemplo stock, moneda o multiplicador;
  4. después se cambia el valor;
  5. después se redondea o se convierte al formato necesario.
Transformaciones secuenciales de precio en la interfaz XML

En la fuente

{
  "price": "129.90",
  "stock": 14,
  "markup": 1.12
}

Después de la transformación

146

7. Campos nuevos

Un campo nuevo se necesita cuando el resultado debe contener un valor que no existe en el JSON de origen, o cuando los datos deben organizarse de otra forma. Puede rellenarse con un valor de otro lugar de la fuente, un valor del sistema, una expresión o un cálculo intermedio.

Por ejemplo, crea un campo Clase del producto. Primero define el valor predeterminado Precio medio; después comprueba el precio: si es menor que 3000, reemplaza el valor por Económicos; si es mayor que 10000, por Premium.

Animación de creación del campo Clase del producto con condiciones de precio
El campo nuevo se rellena mediante reglas secuenciales y no necesita existir en el JSON de origen.

8. Variables

Una variable guarda un resultado intermedio y ayuda a reutilizar un valor calculado en varias reglas. Las variables no se incluyen en la importación final; solo ayudan a otras transformaciones.

Por ejemplo, una variable puede guardar un precio base con coeficiente del proveedor: se calcula una vez y después se reutiliza en el precio de venta, el descuento y las condiciones de exportación.

9. Qué ocurre después de la importación

Después de la ejecución, el perfil crea o actualiza productos, ofertas, categorías, atributos, precios, stock e imágenes en el catálogo consolidado. El vínculo con la fuente se conserva, por lo que las ejecuciones siguientes actualizan registros coincidentes por las claves seleccionadas en lugar de crear duplicados.

Si un producto, oferta, atributo o categoría falta en la fuente, la acción final depende de las reglas de importación: dejarlo sin cambios, despublicarlo, poner el stock a cero, eliminarlo o limitar la limpieza solo a la fuente actual.

Catálogo consolidado después de importar una fuente JSON mediante la interfaz XML
El catálogo muestra qué registros llegaron desde la fuente TestPartner.