Saltar a contenido

Integración por Lotes (Batch) de Imágenes de Producto

Introducción

Esta sección describe la interfaz de carga de imágenes de producto para la integración por lotes (batch) en la Tol.

La interfaz permite la carga masiva de imágenes de producto, que se asocian a los productos existentes en el catálogo. El proceso se ejecuta diariamente a la 1:00 AM (hora del servidor) y procesa todas las imágenes que se encuentran en un directorio específico del servidor de archivos.

Interface

Acción

Da de alta o actualiza las imágenes de los productos existentes en el catálogo. Los errores se registran en la tabla de errores de carga y se informan en el correo resumen.

Formato de los ficheros de las imágenes

  • Extensiones admitidas por defecto: jpg, jpeg, png y webp.
  • Peso máximo: 5 MB.
  • Proporción recomendada: cuadrada (1:1), con el producto centrado.
  • Resolución mínima recomendada: 1600 × 1600 px.

Tamaños de visualización

TOL escala las imágenes a 135 × 135, 300 × 300 y 1600 × 1600 px según dónde se muestren.

Importar imágenes

Diariamente se ejecuta el procesado de imágenes de producto.

  • Lista las imágenes a procesar en el origen.
  • Comprueba que el formato sea aceptado.
  • Comprueba que el tamaño sea el correcto.
  • Importa las imágenes al servidor de CDN (destino).
  • Mueve las imágenes procesadas en old/TIMESTAMP/ en el origen.

Extracción de información de las imágenes:

La carga lee el nombre de cada fichero para saber a qué producto pertenece la imagen, en qué posición va y en qué zonas se muestra. Se admiten estos formatos:

Formato Uso
$IMGNAME.$EXT Imagen de orden 0 para todas las zonas.
$IMGNAME_$ORDER.$EXT Imagen del orden indicado para todas las zonas.
$IMGNAME_$ORDER_$ZONE.$EXT Imagen del orden indicado solo para una zona.
$IMGNAME_$ORDER_$ZONE_$AREA.$EXT Imagen del orden indicado para una zona, para todas las zonas de un área geográfica, o para las dos. Disponible a partir de la versión 26.3.0.

Parámetros:

  • $IMGNAME: código, EAN o valor del campo imagen del producto, sin extensión. No puede contener el separador.
  • $ORDER: posición de la imagen. Tiene que ser un número entero. Los ceros a la izquierda no cuentan (_1, _01 y _001 son el mismo orden).
  • $ZONE: identificador numérico interno de una zona existente (el id de la zona, no el código de tienda).
  • $AREA: código de un área geográfica existente. Es alfanumérico y tiene hasta 50 caracteres. En este formato la zona y el área son opcionales y pueden dejarse vacías.
  • $EXT: jpg, jpeg, png o webp.

El separador por defecto es _. Algunas instalaciones pueden tener configurado otro separador u otras extensiones.

Zonas y áreas geográficas

  • Cada zona es una tienda preparadora (relación 1:1). Las zonas se dan de alta desde el backoffice, en Alta de tienda preparadora.
  • Un área geográfica agrupa varias zonas, y cada zona pertenece como mucho a un área. Las áreas, y la asignación de zonas a áreas, se gestionan desde el backoffice a partir de la versión 26.3.0.
  • Ninguna carga batch crea zonas ni áreas, ni sus relaciones. Tienen que existir antes de cargar las imágenes.

Ejemplos

Fichero Resultado
123456.png Imagen de orden 0 del producto 123456 para todas las zonas.
123456_2.png Imagen de orden 2 para todas las zonas.
123456_2_3.png Imagen de orden 2 solo para la zona 3.
123456_2__NORTE.png Imagen de orden 2 para todas las zonas del área NORTE.
123456_2_3_NORTE.png Imagen de orden 2 para la zona 3 y para todas las zonas del área NORTE.

Cómo se aplican las imágenes

  • Producto, zona y orden identifican una imagen. Si se sube otra con el mismo orden, sustituye a la anterior. Por eso 123456_1.png y 123456_01.png son la misma imagen, igual que 123456.png y 123456_0.png.
  • Una imagen cargada para una zona o un área también se da de alta en la zona por defecto, salvo que allí ya exista una imagen con ese orden.
  • Si para un mismo orden hay imagen de la zona del cliente y de la zona por defecto, se muestra la de la zona.
  • El área se expande a sus zonas en el momento de la carga. Si después se añade una zona al área, esa zona no recibe las imágenes que ya se habían cargado.

Imagen principal

En todas las pantallas (ficha, listados, carruseles, carrito, validación del pedido, histórico de pedidos y listas de la compra) la imagen principal es la de menor orden. Si el producto no tiene ninguna imagen cargada, se usa la del campo imagen de la carga de surtido, y si ese fichero no existe, se muestra una imagen genérica. El pedido guarda la imagen vigente en el momento de la compra, así que los cambios posteriores no afectan al histórico. La carga de imágenes no modifica el campo imagen.

El campo imagen del surtido no es necesario si los ficheros se nombran por código o EAN. Solo es imprescindible si se usa otro nombre, porque $IMGNAME se asocia al producto a través de ese campo. Si no se informa, a los productos nuevos se les asigna CODIGO.jpg. Ver el campo imagen en la carga de surtido.

Ficheros rechazados

Si el nombre no sigue ninguno de estos formatos, el fichero se rechaza y queda registrado en el log del proceso. Por ejemplo, 123456_P.01.png se rechaza porque el orden que se lee es P.01, que no es numérico. También se rechaza cuando el producto, la zona o el área no existen.

Procesar imágenes

Actualizamos en DB la información para cada tipo de imagen, usando el listado de objetos creados en el paso anterior.

Gestión de errores y logs

  • Se insertarán los siguientes registros en la tabla log_batch
    • registros de inicio y fin de proceso
    • registros de error del proceso
  • Se escribirán en el log:
    • Mensaje en el bus de Start / End carga de imágenes, trazas para cada tipo de error.

Notificaciones

Enviar un correo con el resultado del proceso incluyendo total de imágenes procesadas, y cuantas OK y KO.

El correo es configurable atendiendo a la tabla de configuración de envío de mails (parametro_mail)

Planificación del proceso

Diariamente y según la planificación establecida, se ejecutará un proceso que recogerá los ficheros de imagen de la carpeta de origen del servidor de archivos definido y, una vez procesados, los moverá a una carpeta de archivos procesados.

Las carpetas de lectura y de archivos procesados son configurables en cada instalación.

El proceso se puede lanzar de forma manual desde el backend.

El proceso envía un mail a la cuenta de cargas con el resultado de la ejecución:

Image

Gestión de versiones

Versión Cambios
25.0 Importación inicial
26.3.0
  • Nuevo formato de nombre con área geográfica ($IMGNAME_$ORDER_$ZONE_$AREA).
  • Corrección de los formatos de nombre (se elimina $TYPE), extensiones admitidas, requisitos de imagen e imagen principal.
  • Documentado el uso del campo imagen como imagen de reserva y su valor por defecto.