Publicación de Productos RMQ
Guía completa para la publicación de productos en el ecosistema GAIA
Proceso de Publicación
1. Creación de productos
la creación de productos implica obtener toda la info necesaria de productos y estructurarla en formato json de la siguiente manera:
{
"sku": "12204_2",
"name": "Buró Blancx B - Negro",
"description": "La línea Blancx son piezas inspiradas en el estilo contemporáneo que da protagonismo a los espacios prácticos y piezas clave. Creada por el equipo de diseño ...",
"visibility": "4",
"weight": "12",
"status": 1,
"image": "+http://pim.gaia.design/var/assets//Producto/buro_blancx_b_negro_still1_v2.jpg",
"color_family": "Black",
"color": "Black",
"linea": "Contemporáneo",
"product_line": "Blancx",
"tiempo_entrega_max": 7,
"tiempo_entrega_max_sin_stock": 60,
"comportamiento_bajo_umbral": "2",
"extend_zone": "0",
"dimension_alto": 44,
"dimension_ancho": 40,
"dimension_largo": 40,
"extra_days_code": "OVS",
"category_1": "MUEBLES",
"category_2": "MUEBLES DE ALMACENAMIENTO",
"category_3": "BUROS",
"categories": "Muebles/Almacenar;;Muebles/Almacenar/Burós;;Muebles/Recámara/Burós y mesas laterales;;Cumpleaños;;Dale la bienvenida al cambio;;GAIA Basics;;Hot Sale descuentos;;Muebles;;Muebles/Recámara",
"marketplace": [
"VIVIA",
"MELI",
"AMAZON",
"LIVERPOOL",
"PRODUCTECA"
],
"ean": "840260461292",
"color_principal": "Negro",
"material_principal": "NA.",
"comercializable": 1,
"extra_tags": [
"Preventa"
],
"landing_pages": [
"300horas",
"ofertashotv3"
],
"additional_services": ["teflon_piloto"],
"material": "",
"gaia_grouped_skus": "",
"type": "simple",
"largo": 40,
"alto": 44,
"ancho": 40,
"label_discount": "+5% en cashback",
"link": null,
"image_link": null,
"additional_image_link": null,
"categories": "Muebles/Almacenar;;Muebles/Almacenar/Burós;;Muebles/Recámara/Burós y mesas laterales;;Cumpleaños;;Dale la bienvenida al cambio;;GAIA Basics;;Hot Sale descuentos;;Muebles;;Muebles/Recámara",
"images": [
"http://pim.gaia.design/var/assets/Producto/buro_blancx_b_negro_still1_v2.jpg",
"http://pim.gaia.design/var/assets/Producto/buro_blancx_b_negro_still2_v2.jpg",
"http://pim.gaia.design/var/assets/Producto/buro_blancx_b_negro_still3_v2.jpg",
"http://pim.gaia.design/var/assets/Producto/buro_blancx_b_negro_still4_v2.jpg",
"http://pim.gaia.design/var/assets/Producto/buro_blancx_b_negro_closeup1_v2.jpg",
"http://pim.gaia.design/var/assets/Producto/buro_blancx_b_negro_closeup2_v2.jpg",
"http://pim.gaia.design/var/assets/Producto/buro_blancx_b_negro_closeup3_v2.jpg",
"http://pim.gaia.design/var/assets/Producto/buro_blancx_b_negro_infografico1_still750_v3.jpg"
],
"enhanced_attributes": [
{
"key": "armado",
"label": "Armado",
"children": [
{
"key": null,
"label": "N/A",
"children": [
{
"key": "complexity_armed",
"label": "Complejidad de armado",
"value": "Avanzado",
"icon": "complexity_armed",
"visibility": true
},
{
"key": "tipo_de_armado",
"label": "Tipo de armado",
"value": "Requiere armado completo",
"icon": "tipo_de_armado",
"visibility": true
},
{
"key": "instructivo",
"label": "Instructivo",
"value": "https://drive.google.com/file/d/1MA5lbEGJsCN1p0SKyNf17HHZULqbqylE/view?usp=sharing",
"icon": null,
"visibility": true
}
]
}
]
},
{
"key": "cuidados",
"label": "Cuidados",
"children": [
{
"key": "mantenimiento",
"label": "Mantenimiento",
"children": [
{
"key": "mantenimiento",
"label": "Mantenimiento",
"value": "Sacudir el polvo de la superficie con un paño suave, en caso de mancha limpia con un paño ligeramente humedecido con agua y seca. No uses productos abrasivos, pulidores o con solventes para su limpieza. No tallar o cepillar la superficie para evitar dañar el laminado. Protege la superficie de objetos húmedos y/o calientes. No apoyar objetos punzocortantes que puedan rayar la superficie",
"icon": null,
"visibility": true
},
{
"key": "seguridad",
"label": "Seguridad",
"value": "Hacer modificaciones estructurales que alteren el diseño del producto aSi como el uso inadecuado de éste, puede causar lesiones graves o fatales. No superar el peso máximo recomendado. No arrastrar los productos para evitar daños estructurales y/o accidentes. Este producto no está diseñado para usarse como escalera. Colocar los productos más pesados en el cajón o repisa inferior. Nunca abrir más de 1 cajón al mismo tiempo. Recomendamos la fijación a pared de piezas apartir de 75 cm de altura para evitar caídas. No colocar electrodomésticos en productos que no están diseñados para ello",
"icon": null,
"visibility": true
}
]
}
]
},
{
"key": "informacion_general",
"label": "Información general",
"children": [
{
"key": null,
"label": "N/A",
"children": [
{
"key": "garantia",
"label": "Garantía",
"value": "12 meses",
"icon": null,
"visibility": true
}
]
}
]
},
{
"key": "peso_dimensiones",
"label": "Peso y dimensiones",
"children": [
{
"key": null,
"label": "N/A",
"children": [
{
"key": "peso_soportado",
"label": "Peso máximo soportado (kg)",
"value": "15",
"icon": null,
"visibility": true
},
{
"key": "weight",
"label": "Peso del producto armado (kg)",
"value": "12",
"icon": null,
"visibility": true
}
]
}
]
},
{
"key": "especificaciones",
"label": "Especificaciones",
"children": [
{
"key": "materiales",
"label": "Materiales",
"children": [
{
"key": "material_principal",
"label": "Principal",
"value": "MDF laminado",
"icon": null,
"visibility": true
}
]
}
]
}
],
"facetable_attributes": {
"tipo_de_armado": "Requiere armado completo",
"material_principal": "MDF laminado"
},
"recommended_items": "11_1,11_2",
"new_stock": 50,
"stock": {
"ARTZ": 0,
"ARTZ_EX": 1
},
"msrp": 1000,
"price": 999,
"master_scores": {
"score_1": 2.559837484
},
"has_cashback": false
}
La publicación de productos implica enviar el mensaje al exchange product con el routing key sed.product.* donde * puede ser la acción que se ejecuta en el producto (add, update, etc)
Este exchange está configurado para publicar productos en el queue .ares.product del virtual host SEDstg
2. Actualización
La actualización de estos atributos implica reenviar el mensaje con el identificados de sku y solo los campos a actualizar que pueden ser una combinación de los anteriores, el único campo requerido es el sku.
Ejemplo de actualización para la visiblidad del producto
Se utilizan los siguientes campos:
- status: Indica si el producto esta habilitado en el catalogo.
- 0 = Deshabilitado
- 1 = Habilitado
- comercializable: Indica si se desea vender el producto.
- 0 = No comercializable
- 1 = Si comercializable
- comportamiento_bajo_umbral: Indica como afecta el stock para la venta.
- 1 = Se puede vender sin stock; "DM|Usar dias maximos".
- 2 = Solo se vende con stock; "NDPC|No disponible para carrito".
- visibility: Indica si se puede mostrar en web.
- 1 = No es visible individualmente; Se usa para dejar de mostrar en web.
- 2 = Catálogo; No se utiliza.
- 3 = Buscar; Antes se usaba para mostrar en POS pero no en web.
- 4 = Catálogo, Busqueda; Se debe utilizar este para que se muestre en web.
- 5 = A traves de simple; No se utiliza.
{
"sku": "12204_2",
"visibility": "4",
"status": 1,
"comportamiento_bajo_umbral": "2",
"comercializable": 1
}
Ejemplo de actualización de precio
Se utilizan los siguientes campos:
- msrp: Costo del producto "sin descuento".
- price: Costo final del producto "con descuento", puede ser el mismo que msrp.
{
"sku": "12204_2",
"msrp": 500,
"price": 449
}
Ejemplo de actualización de stock
Se utilizan los siguientes campos:
- new_stock: Cantidad de stock disponible a la venta ( consideramos el stock de CEDIS ).
- stock: Cantidad de stock en cada tienda, los códigos deben coincidir con el catalogo en headless.
- El valor es un objeto entonces reemplazara lo que tenga Ares guardado previamente de forma que si se tenia el stock de ARTZ, SHOC y SHROM pero en la actualizacion solo se manda ARTZ se perderia SHOC y SHROM.
{
"sku": "12204_2",
"new_stock": 20,
"stock": {
"ARTZ": 3,
"ARTZ_EX": 0
}
}