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,_01y_001son 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.pngy123456_01.pngson la misma imagen, igual que123456.pngy123456_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:

Gestión de versiones
| Versión | Cambios |
|---|---|
| 25.0 | Importación inicial |
| 26.3.0 |
|