Integración por Lotes (Batch) de Afinidades de Producto
Introducción
Este documento describe la interfaz de carga de afinidades de producto en la TOL.
Una afinidad permite definir un conjunto de productos relacionados con otros productos. Estas afinidades se definen de forma asimétrica y especificando un valor de afinidad. Además, es posible definir diferentes tipos de afinidad.
Interface
La carga de afinidades es completa, cada vez que se carga un nuevo fichero, todas las afinidades son remplazadas por las nuevas. No existe como tal la gestión de bajas.
Formato del fichero
Diariamente y según la planificación establecida, se ejecutará un proceso que recibirá un archivo JSON con la información de las afinidades de productos mostrados en la tienda online
Este archivo tendrá el siguiente nombre: “prefijoNombrefichero”, donde:
- Prefijo: Prefijo a definir en cada instalación (eje: producto_afinidad)
- NombreFichero: A definir por el cliente en la instalación, p.ej . AAAAMMDDHHmmss
Planificación del proceso
Diariamente y según la planificación establecida, se ejecutará un proceso que recogerá el archivo JSON desde una carpeta del servidor de archivos definido y una vez procesado lo moverá a una carpeta de archivos procesados.
Las carpetas de lectura y de archivos procesados son configurables en cada instalación. Por defecto se usa la misma ruta que la carga de surtido
El proceso se puede lanzar de forma manual desde el back-office.
El proceso envía un mail a la cuenta de cargas con el resultado de la ejecución:

Formato del archivo JSON
El archivo JSON tendrá la estructura siguiente:
| Campo “Nombre campo” | Descripción/Ejemplo | Formato | Oblig. |
|---|---|---|---|
| Afinidades “afinidades” | Lista con la información de las afinidades | Lista del Tipo Afinidad | Sí |
| Campo “Nombre campo” | Descripción/Ejemplo | Formato | Oblig. |
|---|---|---|---|
| Tipo “tipo” | Tipo de afinidad. Por defecto es 1 | Numérico entero | No |
| Código Origen “codigo_origen” | Código que identifica el producto origen | Literal (50 caracteres máximos) | Sí |
| Código Destino “codigo_destino” | Código que identifica el producto destino | Literal (50 caracteres máximos) | Sí |
| Zona “zona” | Identificador de la zona si la afinidad va por zona. | Literal | No |
| Valor “valor” | Valor de afinidad entre los dos productos. | Decimal | Sí |
ANEXOS. Ejemplos json
Ejemplo fichero de afinidades
{
"afinidades": [
{
"codigo_origen": "113",
"codigo_destino": "110",
"valor": 20
},
{
"codigo_origen": "113",
"codigo_destino": "110",
"valor": 21,
"zona": 1
}
]
}
Gestión de versiones
| Versión | Cambios |
|---|---|
| 25.0 | Importación inicial |