Luego de registrar a tus comercios, es hora de cargar tus productos.
¿Cuales son mis productos? Los productos en YOM son los cada uno de los SKU que ofreces a la venta a tus clientes.
Estos productos se representan en la entidad Product. Un Product contiene atributos específicos que lo hacen único, como su SKU, nombre, precio y categorización dentro de grupos específicos. La plataforma permite gestionar la activación, destacado, y disponibilidad de cada producto.
Entidad → product
/<nombre_cliente>
/production
/load
/product
/all
20240201_180000_product.csv
...
/created
...
/updated
...
/development
...
Campo | Tipo | Carácter | Descripción | Ejemplos |
---|---|---|---|---|
productId |
📝 Texto | 🟢 Requerido | Identificador único del Producto. | |
*Normalmente corresponde al SKU | "SKU001" |
|||
name |
📝 Texto | 🟢 Requerido | Nombre del producto. | "Harina de Trigo Integral" |
description |
📝 Texto | 🟢 Requerido | Descripción del producto. | "Harina de trigo integral orgánica, ideal para panaderías." |
brand |
📝 Texto | 🟢 Requerido | Marca del producto. | "Harina YOM" |
pricePerUnit |
🔢 Número | 🟢 Requerido | Precio por unidad del Producto (sin impuestos). | 5.99 |
discountedPricePerUnit |
🔢 Número | 🟢 Requerido | Precio con descuentos del Producto(sin impuestos) | 5.55 |
sortIdx |
🔢 Número | ⚪️ Opcional | Indice para determinar el orden en que se mostrará el producto | 15 |
tags |
🔡 Lista de Textos | 🟡 Recomendado | Lista de strings de las Categorías asociadas al Producto. Permite asociar las Categorías a las cual pertenece el Producto. |
["alimentos", "harinas", "orgánico"]
|
| isDisabled
| 🔘 Bool | 🟡 Recomendado | ¿Está el Producto deshabilitado para venta B2B? | true
false
|
| isFeatured
| 🔘 Bool | 🟡 Recomendado | ¿Se etiqueta el Producto como destacado? | true
false
|
| isNew
| 🔘 Bool | 🟡 Recomendado | ¿Se etiqueta el Producto como novedad? | true
false
|
| dimensions
| 📝 Objeto → Dimensions | 🟢 Requerido | Dimensiones físicas del Producto. | {"weight": 1.5, "weightUnit": "kg", "length": 30, "lengthUnit": "cm", "width": 20, "widthUnit": "cm", "height": 15, "heightUnit": "cm", "volume": 9, "volumeUnit": "L"}
|
| constraints
| 📝 Objeto → Constraint | 🟢 Requerido | Restricciones de compra para ventas B2B del Producto. | { "minUnit": 6, "stepSize": 2}
|
| packaging
| 📝 Objeto → Packaging | 🟢 Requerido
| Definición de niveles de empaque para el producto.
Unidad - Paquete - Caja - Pallet | {"unitName": "Unidad", "packageName": "Display", "packageUnit": "DIS", "amountPerPackage": 6, "boxName": "Empaque", "boxUnit": "CAJ", "amountPerBox": 8, "palletName": "Pallet", "palletUnit": "PAL", "amountPerPallet": 300}
|
| formats
| 🔡 Lista de Objetos → Format | 🔴 Deprecado | Formatos en los cuales se vende el Producto (unidades, cajas, bandejas, etc). | [{'displayName': "Unidad", 'key': "UN", 'baseAmountPerFormat': 1, 'base': True}]
|
| taxes
| 🔡 Lista de Objetos → Tax | 🟡 Recomendado | Impuestos aplicables al Producto. | [{"code": "14", "name": "IVA", "rate": 0.19}]
|
| group
| 📝 Objeto → Group | 🟡 Recomendado | Grupo de productos al cual pertenece este SKU. | {"name": "Harinas", "description": "Productos de harina disponibles en la tienda."}
|
| variants
| 📝 Objeto → Variant | ⚪️ Opcional | Variantes de un producto determinado. | { "features": [ { "key": "Tipo de Grano", "value": "Trigo" } ], "parentSku": "HARINA-MINIMA-SKU001", "genericDisplayName": "Harina Básica de Trigo", "index": 0 }
|La estructura dimensions
en el objeto del Producto permite definir las dimensiones físicas del producto, incluyendo el peso, volumen y medidas.
Campo | Tipo | Carácter | Descripción | Ejemplos |
---|---|---|---|---|
weight |
🔢 Número | 🟢 Requerido | El peso del producto. | 1.5 |
weightUnit |
📝 Texto | 🟢 Requerido | La unidad de medida del peso del producto. | "kg" |
length |
🔢 Número | 🟡 Opcional | La longitud del producto. | 30 |
lengthUnit |
📝 Texto | 🟡 Opcional | La unidad de medida de la longitud del producto. | "cm" |
width |
🔢 Número | 🟡 Opcional | El ancho del producto. | 20 |
widthUnit |
📝 Texto | 🟡 Opcional | La unidad de medida del ancho del producto. | "cm" |
height |
🔢 Número | 🟡 Opcional | La altura del producto. | 15 |
heightUnit |
📝 Texto | 🟡 Opcional | La unidad de medida de la altura del producto. | "cm" |
volume |
🔢 Número | 🟡 Opcional | El volumen del producto. | 9 |
volumeUnit |
📝 Texto | 🟡 Opcional | La unidad de medida del volumen del producto. | "L" |
Ejemplo
"dimensions": {
"weight": 1.5,
"weightUnit": "kg",
"length": 30,
"lengthUnit": "cm",
"width": 20,
"widthUnit": "cm",
"height": 15,
"heightUnit": "cm",
"volume": 9,
"volumeUnit": "L"
}
La estructura constraints
en el objeto del Producto permite definir las restricciones de compra asociadas al Producto para ventas B2B. Este objeto agrupa las reglas que determinan tanto el mínimo de unidades que se pueden adquirir como los incrementos permitidos al realizar un pedido.
Campo | Tipo | Carácter | Descripción | Ejemplos |
---|---|---|---|---|
minUnit |
🔢 Número | 🟢 Requerido | Mínimo de unidades de compra para B2B | 6 |
stepSize |
🔢 Número | 🟢 Requerido | Incremento en unidades después de alcanzar el mínimo para B2B. | 2 |
Ejemplo
{
"minUnit": 6,
"stepSize": 2
}
En este caso:
La estructura packaging
en el objeto del Producto permite definir dos niveles de agregación predefinidos de empaque en los que se puede vender el Producto: el Paquete (package), la Caja (box) y el Pallet (pallet). Estos a partir de la Unidad (unit). Los niveles de agregación están estructurados de la siguiente manera:
Campo | Tipo | Carácter | Descripción | Ejemplos |
---|---|---|---|---|
unitName |
📝 Texto | 🟢 Requerido | Nombre que se mostrará para la unidad individual del Producto. | "Botella" |
unit |
📝 Texto | 🟢 Requerido | La clave única que identifica la Unidad. | "BOT" |
packageName |
📝 Texto | 🟡 Recomendado | Nombre que se mostrará para el paquete del Producto. | “Display” |
packageUnit |
📝 Texto | 🟡 Recomendado | La clave única que identifica el Paquete. | “DIS” |
amountPerPackage |
📝 Texto | 🟡 Recomendado | Cantidad de unidades individuales contenidas en un Paquete. | 6 |
boxName |
📝 Texto | 🟡 Recomendado | Nombre que se mostrará para la caja del Producto. | “Empaque” |
boxUnit |
📝 Texto | 🟡 Recomendado | La clave única que identifica la Caja. | “CAJ” |
amountPerBox |
📝 Texto | 🟡 Recomendado | Cantidad de unidades contenidas en una Caja. | 8 |
palletName |
📝 Texto | 🟡 Recomendado | Nombre que se mostrará para el pallet del Producto. | “Pallet” |
palletUnit |
📝 Texto | 🟡 Recomendado | La clave única que identifica el Pallet. | “PAL” |
palletPerBox |
📝 Texto | 🟡 Recomendado | Cantidad de unidades contenidas en un Pallet. | 300 |
<aside> <img src="/icons/light-bulb_gray.svg" alt="/icons/light-bulb_gray.svg" width="40px" /> Los nombres de las variables son únicamente referenciales
unit
, package
y box
, se deben pensar como tres niveles de agregación.box
sin haber definido un package
.package
.</aside>
Ejemplo
El archivo de Productos contiene la información detallada de cada producto registrado en YOM, incluyendo precios, descripciones, disponibilidad, categorías y detalles fiscales.
{
"productId": "SKU001",
"name": "Harina de Trigo Integral",
"description": "Harina de trigo integral orgánica, ideal para panaderías.",
"brand": "Harina YOM",
"isDisabled": true,
"isFeatured": true,
"isNew": false,
"tags": ["alimentos", "harinas", "orgánico"],
"pricePerUnit": 8092,
"taxes": [
{
"code": "IVACL",
"name": "IVA",
"rate": 0.19
}
],
"dimensions": {
"weight": 1.5,
"weightUnit": "kg",
"length": 30,
"lengthUnit": "cm",
"width": 20,
"widthUnit": "cm",
"height": 15,
"heightUnit": "cm",
"volume": 9,
"volumeUnit": "L"
},
"measurement": {
"unit": "BOT",
"unitName": "Botella",
"minUnit": 6,
"stepSize": 2
},
"packaging": {
"packageName": "Display",
"packageUnit": "DIS",
"amountPerPackage": 6,
"boxName": "Empaque",
"boxUnit": "CAJ",
"amountPerBox": 8
},
"formats": [
{
"displayName": "Unidad",
"key": "UN",
"baseAmountPerFormat": 1,
"base": true
},
{
"displayName": "Pack",
"key": "PACK",
"baseAmountPerFormat": 6,
"base": false
},
{
"displayName": "Caja",
"key": "BOX",
"baseAmountPerFormat": 24,
"base": false
}
],
"group": {
"name": "Harinas",
"description": "Productos de harina disponibles en la tienda."
},
"variant": {
"features": [
{
"key": "Tipo de Grano",
"value": "Trigo"
},
{
"key": "Molienda/Procesamiento",
"value": "Integral"
},
{
"key": "Peso",
"value": "1kg"
}
],
"parentSku": "SKU001",
"genericDisplayName": "Harina para Cocina y Panadería",
"index": 0
}
}
productId;name;description;brand;isDisabled;isFeatured;isNew;tags;pricePerUnit;taxes_0_code;taxes_0_name;taxes_0_rate;dimensions_weight;dimensions_weightUnit;dimensions_length;dimensions_lengthUnit;dimensions_width;dimensions_widthUnit;dimensions_height;dimensions_heightUnit;dimensions_volume;dimensions_volumeUnit;constraints_minUnit;constraints_stepSize;packaging_unit;packaging_unitName;packaging_packageName;packaging_packageUnit;packaging_amountPerPackage;packaging_boxName;packaging_boxUnit;packaging_amountPerBox;packaging_palletName;packaging_palletUnit;packaging_amountPerPallet;group_name;group_description;variant_features_0_key;variant_features_0_value;variant_features_1_key;variant_features_1_value;variant_features_2_key;variant_features_2_value;variant_parentSku;variant_genericDisplayName;variant_index
SKU001;"Harina de Trigo Integral";"Harina de trigo integral orgánica; ideal para panaderías.";"Harina YOM";true;true;false;"alimentos;harinas;orgánico";8092;"IVACL";"IVA";0.19;1.5;"kg";30;"cm";20;"cm";15;"cm";9;"L";6;2;"BOT";"Botella";"Display";"DIS";6;"Empaque";"CAJ";8;"Pallet";"PAL";300;"Harinas";"Productos de harina disponibles en la tienda.";"Tipo_de_Grano";"Trigo";"Molienda_Procesamiento";"Integral";"Peso";"1kg";"SKU001";"Harina para Cocina y Panadería";0
¡Entendido! Quieres la tabla de clave-valor en un formato idéntico al que se ve en tu captura de Notion.
Aquí tienes la tabla formateada exactamente como en la imagen, con los mismos nombres de columna y el mismo estilo de datos, lista para copiar y pegar.
| --- | --- |