Integración por Lotes (Batch) de Productos
Introducción
Esta sección describe el proceso de integración por lotes (batch) para la entidad de producto. Se detalla la estructura de datos de la entidad producto y se definen las interfaces estándar asociadas a esta entidad.
También se describe la optimización en el proceso de generación del archivo JSON de surtido, incluyendo solo la información imprescindible de los productos para su posterior carga.
El producto permite mantener información a dos niveles:
-
Nivel producto: Información relativa al producto y que se comparte con todas las zonas (tiendas) de la aplicación (código, descripciones, marca, tipo, etc.). Por tanto, si se modifica la información relativa al nivel de producto, esto aplicará a todas las tiendas y no es necesario enviar un registro de modificación por tienda.
-
Nivel producto/tienda preparadora: Información relativa al producto y que aplica a una zona (tienda) de la aplicación (precios, orden web, resaltado, etc.).
Definición productos base
Tipo de productos
A continuación, se muestra un ejemplo para cada tipo de producto, qué valores especificar y el resultado final en la tienda.
Tipo 1. Producto por unidades
Ejemplo: Patatas fritas
| Campo | Valor |
|---|---|
| Precio | 1.49 |
| Unidad de medida | U |
| Precio unitario | 3.73 |
| Unidad medida precio unitario | Kg. |
Ejemplo:
| En el listado de productos se mostrará: | ![]() |
![]() |
|---|---|---|
| En el carrito se mostrará: | ![]() |
Tipo 2. Producto al peso
Caso A. Precio y precio unitario en la misma unidad
Ejemplo: Manzanas. Se venden por kg
| Campo | Valor |
|---|---|
| Precio | 3,2 |
| Unidad de medida | Kg. |
| Precio unitario | 3,2 |
| Unidad medida precio unitario | Kg. |
| En el listado de productos se mostrará: | ![]() |
![]() |
|---|---|---|
| En el carrito se mostrará: | ![]() |
Caso B. Precio y precio unitario en distinta unidad.
Ejemplo: Cerezas. Se venden por gramos
| Campo | Valor |
|---|---|
| Precio | 0,00545 |
| Unidad de medida | Gr. |
| Precio unitario | 5,45 |
| Unidad medida precio unitario | Kg. |
| En el listado de productos se mostrará: | ![]() |
|
|---|---|---|
| En el carrito se mostrará: | ![]() |
Tipo 3. Producto al peso vendido por unidades.
Ejemplo: Plátanos. Se venden por unidades pero el precio se calcula al peso.
| Campo | Valor |
|---|---|
| Precio | 0,4 |
| Unidad de medida | loncha |
| Precio unitario | 19,96 |
| Unidad medida precio unitario | Kg. |
| En el listado de productos se mostrará: | ![]() |
![]() |
|---|---|---|
| En el carrito se mostrará: | ![]() |
Definición precios producto
Ver definición en carga de precios
Categorías
Las categorías deben existir en la tabla categorías
Para cada producto se pueden informar tantas categorías como se desee, y de niveles diferentes.
Ejemplo: Pizza congelada puede estar en la categoría de Alimentación/Arroz, pasta/Pizzas y en la de Congelados/Pizza
En el caso de una modificación de producto, si se desea modificar alguna categoría, deben informarse toda la lista de categorías asignadas al producto
Las categorías se pueden mantener desde el backoffice o mediante la interfaz de carga de categorías. Ver documento de carga de categorías.
Jerarquías
Las jerarquías no tienen tabla de validación en la TOL, para cada producto se pueden informar tantas jerarquías como se desee, y de niveles diferentes.
En el caso de una modificación de producto, si se desea modificar alguna jerarquía, deben informarse toda la lista de jerarquías asignadas al producto
Carga imágenes productos
Las imágenes serán depositadas por parte del cliente en un directorio definido en el servidor de archivos.
Diariamente, y de madrugada, se ejecutará un proceso que copiará las imágenes de dicho servidor al directorio web de imágenes de la tienda online.
Imagen del producto
El campo imagen indica el nombre del fichero de la imagen de reserva del producto, con extensión y hasta 30 caracteres. El fichero se sube con la carga de imágenes.
Todas las pantallas de la tienda (ficha, listados, carrito, pedidos y listas de la compra) muestran las imágenes de la carga de imágenes. Esta imagen solo se usa si el producto no tiene ninguna imagen cargada. Si el fichero tampoco existe, se muestra una imagen genérica.
- Si no se informa en un producto nuevo, se asigna
CODIGO.jpg(por ejemplo,123456.jpg). - Si no se informa en un producto existente, se conserva el valor que tenía. Enviar el campo vacío (
"imagen": "") equivale a no informarlo. - Si se informa, sustituye al valor actual.
No es necesario informarlo si las imágenes del producto se suben con la carga de imágenes nombradas por código o EAN. Es obligatorio si los ficheros usan otro nombre, porque la carga de imágenes los asocia al producto a través de este campo. Si se informa, conviene que sea el nombre exacto de un fichero existente (por ejemplo, "imagen": "123456.png" junto con el fichero 123456.png), ya que se mostrará si el producto se queda sin imágenes cargadas.
Configuración de acciones
- El tipo de producto tiene que estar habilitado en la TOL para que se procese.
- Si es un producto base, no hace falta informar de las tienda preparadora y precios.
- En el caso de querer informar un campo a null, se informará con el valor null (sin comillas).
La carga de cada registro de producto se procesa en función de:
Alta
Realiza el alta del producto en el sistema. Es obligatorio informar todos los campos obligatorios.
Si se intenta dar de alta un producto que ya esta dado de alta el sistema escribe un error en la tabla de errores de carga
Modificación
Realiza la modificación de un producto.
Es obligatorio informar como mínimo el producto y el canal y algún campo a modificar. Solo realiza la modificación de los campos informados.
Si se realiza un cambio de precio y no se informa el campo precio unitario se calcula el nuevo precio unitario como regla de tres.
Si el campo precio unitario se envía a null, no se calcula: el precio unitario se guarda vacío (ver Precio unitario a null).
Gestión de errores
Si se intenta modificar un producto que esta dado de baja el sistema escribe un error en la tabla de errores de carga
Baja
Realiza la baja del producto en el sistema. La acción de baja es una baja lógica, no física.
Es obligatorio informar el producto y canal.
Gestión de errores
Si se intenta dar de baja un producto que ya esta dado de baja el sistema escribe un error en la tabla de errores de carga
Fecha de vigencia:
Fecha a partir de la cual será efectiva la acción del registro procesado.
- Fecha de vigencia no informada o fecha de vigencia <= fecha actual.
Se realiza el alta del producto en el sistema en ese momento.
- Fecha de vigencia >= fecha actual.
El registro se guarda en BBDD (sin realizar validaciones) para su proceso el día de vigencia.
Configuraciones
Procesar solo modificaciones.
Es posible configurar la carga para procesar las altas como modificaciones.
Las Altas y modificaciones se envían como “M” y el sistema realiza el alta de los registros cuando no están en el sistema.
Gestión de modificaciones de productos dados de baja.
Es posible configurar la acción a realizar para el caso que se reciba una modificación para un producto que está de baja:
- Alta. Se realiza la modificación del producto y se da de alta.
- Modificación. Se realizar la modificación de producto, pero se mantiene de baja.
Interface de productos
Nomenclatura del fichero
Diariamente y según la planificación establecida, se ejecutará un proceso que recibirá un archivo JSON incremental con la información de los productos mostrados en la tienda online
Este archivo tendrá el siguiente nombre: “prefijoAAAAMMDDHHmmss”, donde:
- Prefijo: Prefijo a definir en cada instalación
- AAAA: Año.
- MM: Mes.
- DD: Día.
- HH: Hora.
- mm: Minutos.
- ss: Segundos.
El fichero deberá estar en formato UTF-8 sin BOM
Adicionalmente se puede definir que la carga del archivo de surtido se ejecute teniendo en cuenta la existencia de un archivo de semáforo para asegurar que el archivo de surtido está completo.
El archivo de semáforo tendrá el siguiente nombre “clotprefijoAAAAMMDDHHmmss”
Planificación del proceso
Según la planificación establecida, se ejecutará el proceso de carga que leerá los archivos JSON y cargara la información de los productos en la BBDD
En primer lugar, se procesarán la información que tiene fecha de vigencia ese día y que se hubieran enviado con anterioridad, por lo que, si el fichero del día contiene información nueva, sobrescribirá la información enviada con anterioridad.
El proceso se puede lanzar de forma manual desde el backend.
Formato del archivo JSON
El archivo JSON tendrá la estructura siguiente:
| Campo “Nombre campo” | Descripción/Ejemplo | Formato | Oblig. |
|---|---|---|---|
| Zonas “zonas” | Lista de tiendas preparadoras a las que pertenece el surtido | Lista de Tipo Código Zona | Sí |
| Canal “canal” | Canal al que pertenece el producto | Numérico entero | Sí |
| Código producto “codigo” | Código interno del producto en los sistemas del cliente | Literal (50 caracteres máx.) | Sí |
| Marca “marca” | Marca del producto | Literal (50 caracteres máx.) | Sí |
| Descripciones “descripciones” | Descripciones del producto en el idioma correspondiente | Lista de Tipo Literal Multi-idioma (50 caracteres máx.) | Sí |
| Tipo producto “tipo” | 1: Producto estándar 2: Producto al peso 3: Producto al peso que se vende por unidades 4: Producto kits 5: Servicios transporte 6: Regalo 7: Obsequio (sin zonas ni divisas) | Numérico entero | Si |
| EAN “ean” | EAN del producto | Literal (15 caracteres máx.) | Sí |
| Imagen “imagen” | Nombre del fichero de la imagen de reserva del producto, con extensión (p. ej. 123456.png). Ver Imagen del producto. |
Literal (30 caracteres máx.) | No |
| Unidad de medida “unidadMedida” | Es la unidad de compra del producto. | Literal (10 carácter máx.) | No |
| Unidad Medida Precio Unitario “unidadMedidaPrecioUnitario” | Unidad de medida en la que se expresa el precio unitario. Este dato es meramente informativo. | Literal (10 caracteres máx.) | Sí |
| Conversion Unidad Medida Valor “conversionUnidadMedidaValor” | Indica el valor de la medida de conversion en productos de tipo 2/3 (Por ejemplo: 0.160, 3, 1) | Decimal (10,2) | No |
| Conversion Unidad Medida “conversionUnidadMedida” | Indica launidad de medida de conversion en productos de tipo 2/3 (Por ejemplo: Kg, L., ud.) | Literal (10) | No |
| Conversion Unidad Cantidad “conversionUnidadCantidad” | Valor para aplicar la regla de 3 en la conversion entre unidades de medida para tipo 2/3 | Decimal (10,2) | No |
| Habilitar conversor entre unidades “conversionUnidadHabilitada” | Habilita el conversor de unidades en el selector para tipo 2/3. Por defecto activado. | Booleano (1,0) | No |
| Contiene alérgenos o intolerancias “contieneAlergeno” (deprecado) | Indicador para resaltar el producto con un icono determinado al mostrarlo en la tienda online | Booleano (1,0) | No |
| Permite comentarios “permiteComentarios” | Indica si el articulo permite añadir comentarios en la línea del pedido. Si no se informa valor por defecto 0 | Booleano (1,0) | No |
| Categorías “categorias” | Categorías del producto en la tienda online. Si no hay categoría asignada, se preestablecerá la categoría estipulada por defecto | Lista de Tipo Categoría | No |
| Jerarquías “jerarquias” | Jerarquías a las que pertenece el producto dentro del árbol de jerarquías propio de la tienda física | Lista de Tipo Jerarquía | No |
| Precios “precios” | Precios del producto | Lista de Tipo Moneda | Sí |
| Tipo IVA “tipoIva” | Tipo de IVA aplicado al producto | Numérico entero | No |
| IVA “iva” | Porcentaje de IVA del producto | Numérico | Sí |
| Orden Web “ordenWeb” | Peso del producto que marcará el orden de aparición de los productos en la tienda online | Numérico entero | Sí |
| Resaltado “resaltado” | Indicador para resaltar el producto con un aspecto determinado al mostrarlo en la tienda online | Booleano (1,0) | No |
| Mínimo “minimo” | Unidades mínimas seleccionables | Numérico | Sí |
| Máximo “maximo” | Unidades máximas seleccionables | Numérico | Sí |
| Intervalo “intervalo” | Unidades a sumar o restar al modificar la cantidad del producto en la cesta. | Numérico | Sí |
| Riesgo rotura stock “riesgoStock” | Unidades por las que se considera que se puede generar un problema de stock. En este caso se avisa a la tienda. También causará el aplazamiento de las franjas de entrega disponible. | Numérico entero | No |
| Grupo picking “grupoPicking” | Para la división de los pedidos en grupos de picking en el Backoffice | Numérico entero | No |
| Orden picking 1 “ordenPicking1” | Para la ordenación de los productos en la lista de picking dentro de su grupo | Numérico entero | No |
| Orden picking 2 “ordenPicking2” | Para la ordenación de los productos en la lista de picking dentro de su grupo | Numérico entero | No |
| Orden picking 3 “ordenPicking3” | Para la ordenación de los productos en la lista de picking dentro de su grupo | Numérico entero | No |
| Proveedor “proveedor” | Proveedor/operador al que esta asociado el producto | Literal (20 caracteres max.) | No |
| Novedad “novedadHasta” (deprecado) | Fecha hasta que el producto se considerará como novedad. Si no viene informado se inicializa a 1-1-2000 | Fecha (dd/mm/aaaa HH:mm) | No |
| Disponible “disponible” | Indica si el producto está disponible para la venta: “1” à Disponible “0” à Actualmente no disponible en esta zona “DATE.01/10/2021 à Disponible a partir del 01/10/2021 “FUTURE” à Próximamente en tu tienda “NOSTOCK” à Temporalmente sin stock Si no viene informado se inicializa a 1. Funcionalidad habilitada a partir de la versión 6.6 de la TOL | Literal (50 caracteres max.) | No |
| Fecha vigencia “fechaVigencia” | Fecha a partir de la cual será efectiva la acción Si no viene informada la aplicación será inmediata | Fecha (dd/mm/aaaa HH:mm) | No |
| Acción “accion” | Alta, baja o modificación | Literal (1 carácter) “A”, “B” o “M” | Sí |
Tipo Moneda
El campo precios definido en el json dependen de la divisa, Para cada uno de ellos se tiene que especificar un valor para cada divisa que se quiere soporte: en la tabla anterior dichos campos están especificados con formato Tipo Moneda
| Campo “Nombre campo” | Descripción/Ejemplo | Formato | Oblig. |
|---|---|---|---|
| Divisa “divisa” | Código que identifica la divisa (ISO-4217) | Literal (3 caracteres máx.) | Sí |
| Precio “precio” | PVP del producto. Precio con IVA. Según el tipo de producto tiene el siguiente significado: 1(estándar): precio por unidad de producto 2 (al peso): precio por unidad de producto. 3 (al peso por unidades): precio por unidad de medida Este dato se utiliza para el cálculo del importe de la línea del carrito. | Decimal (10,5) | Sí |
| Precio Unitario “precioUnitario” | Precio unitario del producto. En función de la “Unidad de Medida Precio Unitario” y de la Moneda será: €/Kg, €/Litro, €/metro. Este dato es meramente informativo. Si se envía a null, el producto se guarda sin precio unitario. Ver Precio unitario a null. |
Decimal (10,5) o null |
No |
| Desde unidades “desdeUnidades” | Unidades a partir de las que aplica el precio | Decimal (10,5) | Sí |
| Fecha desde “fechaDesde” | Fecha y hora inicio validez del precio | Fecha (dd/mm/aaaa HH:mm) | Sí |
| Fecha hasta “fechaHasta” | Fecha y hora fin validez del precio | Fecha (dd/mm/aaaa HH:mm) | Sí |
Precio unitario a null
El campo “precioUnitario” no es obligatorio. Según cómo venga en el fichero, la carga se comporta así:
| “precioUnitario” en el fichero | Resultado |
|---|---|
| Informado con un valor | Se guarda el precio unitario recibido. |
null explícito |
El producto se guarda sin precio unitario, también si ya tenía uno de una carga anterior. Tampoco se calcula el precio unitario de oferta y no se genera aviso de precio unitario incorrecto. |
| Campo no enviado | Se mantiene el comportamiento habitual: en una modificación se conserva el valor anterior o se recalcula como regla de tres. |
El precio “precio” no se ve afectado. Si más adelante se vuelve a enviar “precioUnitario” con un valor, el producto recupera su precio unitario.
Ejemplo de un producto que se carga sin precio unitario:
"precios": [
{
"divisa": "EUR",
"precio": 12.4,
"precioUnitario": null,
"desdeUnidades": 1,
"fechaDesde": "01/01/2026 00:00",
"fechaHasta": "31/12/2099 23:59"
}
]
Tipo código zona
| Campo “Nombre campo” | Descripción/Ejemplo | Formato | Oblig. |
|---|---|---|---|
| Código “codigo” | Código que identifica distintivamente la tienda preparadora. | Numérico entero | Sí |
Tipo literal multiidioma
El campo descripciones definido en el json dependen del idioma
| Campo “Nombre campo” | Descripción/Ejemplo | Formato | Oblig. |
|---|---|---|---|
| Idioma “idioma” | Identificador del idioma (ISO 639-1) | Literal (2 caracteres máx.) | Sí |
| Descripción breve “descripcionBreve” | Descripción del producto. Aparecerá en el listado de productos a seleccionar y en el carrito | Literal (500 caracteres máx.) | Sí |
| Descripción larga “descripcionLarga” | Descripción larga del producto. Aparecerá en la ficha del producto. Puede informarse un html. | Literal (3000 caracteres máx.) | Sí |
| Formato “formato” | Formato de presentación del producto (“Cajas”, “Botellas”…) Este valor se presenta en la página de detalle de producto concatenado a la descripción breve. | Literal (50 caracteres máx.) | No |
| seo “seo” | Valor que se utilizar para el SEO. Si no viene informado se crea con la descripción larga del producto incluyendo “-“ | Literal (1024 caracteres máx.) | No |
Tipo categoría
| Campo “Nombre campo” | Descripción/Ejemplo | Formato | Oblig. |
|---|---|---|---|
| Código “codigo” | Código que identifica distintivamente la categoría web. Existe una carga especifica de la tabla de categorías. | Numérico entero | Sí |
Tipo jerarquía
| Campo “Nombre campo” | Descripción/Ejemplo | Formato | Oblig. |
|---|---|---|---|
| Código “codigo” | Código que identifica distintivamente la jerarquía en los sistemas del cliente. | Literal (30 caracteres máx.) | Sí |
| Nivel “nivel” | Nivel a la que pertenece la jerarquía correspondiente a la profundidad del árbol de jerarquías propio de la tienda física | Numérico entero | Sí |
ANEXOS. Ejemplos json
Alta producto
El archivo JSON del surtido de productos tendrá el siguiente formato:
{
"surtido": [
{
"accion": "A",
"canal": 1,
"marca": "Colgate",
"codigo": "355",
"tipo": 1,
"ean": "848001760",
"imagen": "colgatepasta.jpg",
"unidadMedida": "u.",
"unidadMedidaPrecioUnitario": "u.",
"permiteComentarios": 0,
"ordenWeb": 1,
"resaltado": 1,
"minimo": 1,
"maximo": 100,
"intervalo": 1,
"iva": 21,
"grupoPicking": 0,
"descripciones": [
{
"idioma": "es",
"descripcionBreve": "Pasta de dientes COLGATE ",
"descripcionLarga": "Pasta dentífrica recomendada para uso diario COLGATE",
"formato": "Sobre"
}
],
"zonas": [
{
"codigo": 65
}
],
"precios": [
{
"divisa": "EUR",
"precio": 12.4,
"precioUnitario": 2.4,
"desdeUnidades": 0,
"fechaDesde": "01/01/2024 00:00",
"fechaHasta": "31/12/2099 23:59"
}
],
"categorias": [
{
"codigo": 1690
}
],
"jerarquias": [
{
"codigo": 12,
"nivel": 1
},
{
"codigo": 30,
"nivel": 2
}
]
}
]
}
Alta en múltiples tiendas
Si se quiere dar de alta un producto con la misma información en diferentes tiendas, basta con informar un único registro con los datos del producto indicando el listado de tiendas en el campo ”zonas”.
Ej. Alta del producto código “7190416” en las zonas 16,315 y 512
{
"surtido": [
{
"zonas": [
{
"codigo": 16
},
{
"codigo": 315
},
{
"codigo": 512
}
],
"descripciones": [
{
"idioma": "es",
"descripcionBreve": "Delicias de Cabra Semicurado",
"descripcionLarga": "Delicias de Cabra Semicurado",
"formato": ""
}
],
"categorias": [
{
"codigo": 4097
}
],
"precios": [
{
"divisa": "EUR",
"precio": 14.96,
"precioUnitario": 14.96,
"desdeUnidades": 0,
"fechaDesde": "01/01/2024 00:00",
"fechaHasta": "31/12/2099 23:59"
}
],
"canal": 1,
"marca": "EL PASTOR",
"codigo": "7190416",
"tipo": 2,
"ordenWeb": 6,
"ean": "8413376015301",
"imagen": "7190416.jpg",
"iva": 4,
"resaltado": 0,
"minimo": 0.25,
"maximo": 99,
"intervalo": 0.1,
"unidadMedida": "kg",
"unidadMedidaPrecioUnitario": "1 Kg",
"grupoPicking": 0,
"accion": "A",
"permiteComentarios": 1
}
]
}
Alta de precios por volumen
Es un alta de producto con varios precios por volumen dependiendo “desdeUnidades”. Estos precios se mostrarán en la tienda igual como se explicó en la definición.
{
"surtido": [
{
"zonas": [
{
"codigo": 16
},
{
"codigo": 315
},
{
"codigo": 512
}
],
"descripciones": [
{
"idioma": "es",
"descripcionBreve": "Delicias de Cabra Semicurado",
"descripcionLarga": "Delicias de Cabra Semicurado",
"formato": ""
}
],
"categorias": [
{
"codigo": 4097
}
],
"precios": [
{
"divisa": "EUR",
"precio": 14.96,
"precioUnitario": 14.96,
"desdeUnidades": 0,
"fechaDesde": "01/01/2024 00:00",
"fechaHasta": "31/12/2099 23:59"
},
{
"divisa": "EUR",
"precio": 13.96,
"precioUnitario": 13.96,
"desdeUnidades": 4,
"fechaDesde": "01/01/2024 00:00",
"fechaHasta": "31/12/2099 23:59"
},
{
"divisa": "EUR",
"precio": 12.96,
"precioUnitario": 12.96,
"desdeUnidades": 8,
"fechaDesde": "01/01/2024 00:00",
"fechaHasta": "31/12/2099 23:59"
}
],
"canal": 1,
"marca": "EL PASTOR",
"codigo": "7190416",
"tipo": 2,
"ordenWeb": 6,
"ean": "8413376015301",
"imagen": "7190416.jpg",
"iva": 4,
"resaltado": 0,
"minimo": 0.25,
"maximo": 99,
"intervalo": 0.1,
"unidadMedida": "kg",
"unidadMedidaPrecioUnitario": "1 Kg",
"grupoPicking": 0,
"accion": "A",
"permiteComentarios": 1
}
]
}
Modificación mínima
Es suficiente informar en el registro de modificación los campos que se deseen modificar, más los campos obligatorios: código producto, zona y canal, tanto si se modifican datos a nivel de producto como a nivel de producto/zona.
Ej. Cambio de precio del producto código “7190416” en la zona 16
{
"surtido": [
{
"zonas": [
{
"codigo": 16
}
],
"precios": [
{
"divisa": "EUR",
"precio": 13.96,
"desdeUnidades": 0,
"fechaDesde": "01/01/2024 00:00",
"fechaHasta": "31/12/2099 23:59"
}
],
"canal": 1,
"codigo": "7190416",
"accion": "M"
}
]
}
Modificación a nivel producto
En el caso de que las modificaciones sean solo para datos definidos a nivel de producto, solo es necesario enviar un registro de modificación para una de las tiendas (cualquiera de las que tengan el producto dado da alta)
Ej. Cambio de ean del producto codigo “7190416”.
{
"surtido": [
{
"zonas": [
{
"codigo": 16
}
],
"canal": 1,
"codigo": "7190416",
"ean": "8413376019999",
"accion": "M"
}
]
}
Modificación a nivel producto/zona
Si se modifica la misma información a nivel producto/zona para varias tiendas, es suficiente informar un registro con las modificaciones del producto e indicar las diferentes tiendas que se verán afectadas
Ej. Cambio de precio del producto código “7190416” en las zonas 315 y 323
{
"surtido": [
{
"zonas": [
{
"codigo": 315
},
{
"codigo": 323
}
],
"precios": [
{
"divisa": "EUR",
"precio": 13.5,
"desdeUnidades": 0,
"fechaDesde": "01/01/2024 00:00",
"fechaHasta": "31/12/2099 23:59"
}
],
"canal": 1,
"codigo": "7190416",
"accion": "M"
}
]
}
Baja en múltiples zonas
Si se quiere dar de baja un mismo producto en diferentes zonas, informar la baja del producto una sola vez e indicar las distintas tiendas en el listado de zonas.
Ej. Baja del producto código “7190416” en las zonas 16 y 323
{
"surtido": [
{
"zonas": [
{
"codigo": 16
},
{
"codigo": 323
}
],
"canal": 1,
"codigo": "7190416",
"accion": "B"
}
]
}
Gestión de versiones
| Versión | Cambios |
|---|---|
| 25.0 | Agregado: Precios por volumen y vigencia de precios |
| 25.3 | Eliminación versionJ |
| 26.3 | Documentado el uso del campo imagen como imagen de reserva y su valor por defecto |










