Actualización de información de un producto
PATCH/cm/v2/product/commerce/:IDCommerce/product/:IDProduct
Este endpoint permite actualizar un producto existente en el catálogo de T1COMERCIOS. Se deben proporcionar los campos que se desean modificar, manteniendo las reglas de negocio y validaciones internas establecidas.
Actualiza los datos del producto, implementa JSON Merge Patch como se describe en el rfc7386
Reglas de negocio:
- El campo "sku_padre" no se puede editar una vez creado el producto.
- El campo "ean" no se puede editar una vez creado el producto.
- El campo "packing_days" debe ser un número positivo que indique los días que el comercio tarda en embarcar el producto. Los valores permitidos son 2,3,4,5,7,12,15 .
- El campo "photo" debe contener un array de imágenes, con un máximo de 10 fotos por producto.
- El campo "video" debe contener un array de videos, actualmente solo se permite la inclusión de videos de YouTube.
- El campo "bullets" debe ser un array de máximo 7 strings que describan el producto de manera concisa, se mostrarán como listado en los portales de venta.
- El campo "sales_channel" define los canales de venta y sus configuraciones, incluyendo precios, categorías y estado del producto en cada canal.
- El objeto "sku" define las variaciones del producto, con detalles como SKU, stock, identificador universal, color y talla (opcional).
- El campo "list_price" en los objetos "sales_channel" representa el precio base de la publicación en cada canal de venta.
- El campo "sales_price" en los objetos "sales_channel" indica el precio al que se venderá el producto, antes conocido como Precio Oferta. Este precio no puede ser menor al 71% del valor del campo "list_price" y tampoco puede ser mayor al campo "list_price"
- Los nuevos valores de los campos "list_price" y "sales_price" no pueden ser menores al 70% de los valores previos a la actualización.
- El campo "warranty" define las garantías proporcionadas por el vendedor y el fabricante, indicando la cantidad y la medida de tiempo de la garantía.
- El campo "invoice" indica los códigos del tipo de mercancía para el cumplimiento de la ley "Carta Porte", incluyendo el código SAT y la unidad de medida SAT. Este valor debe ser igual al que regresa el servicio de MATCH de categorías.
- El campo "category_t1comercios" debe ser el ID de la categoría de T1Comercios a la que pertenece el producto, asegurando que el producto exista en el catálogo de T1Comercios.
- El campo "category_name_t1comercios" proporciona el nombre textual de la categoría T1Comercios para una mejor identificación y referencia del producto.
- En "sales_channel", el campo "category" representa el ID de la categoría del canal de venta específico (por ejemplo, Claroshop, SEARS, Sanborns), asegurando que el producto esté correctamente categorizado en cada canal.
- En "sales_channel", el campo "category_name" proporciona el nombre textual de la categoría del canal de venta para una mejor identificación y referencia del producto en cada canal.
- Los objetos CS, SR y SN en el campo "sales_channel" son obligatorios incluso si el producto no se va a publicar dentro del canal de venta correspondiente. Estos objetos deben estar presentes y sus valores pueden definirse según sea necesario para el funcionamiento interno del sistema de gestión de productos en T1COMERCIOS.
Request
Path Parameters
Identificador único del comercio o seller.
Identificador único del producto.
- application/merge-patch+json
Body
required
Solo se deben mandar los parametros a modificar.
Array [
]
Array [
]
Array [
Array [
]
]
Array [
Array [
]
]
Array [
]
Possible values: Value must match regular expression /^[0-9a-zA-Z-]+$/
Indetificador único externo. El valor de este campo NO se puede repetir dentro de todo la tienda. Ni como SKU PADRE o como SKU VARIACION.
Possible values: Value must match regular expression /^[0-9a-zA-Z-]+$/
Título principal de la publicación.
Descripción de la publicación.
ID Categoría de T1Comercios. Este producto debe existir dentro del catalógo de T1Comercios.
Texto del nombre de la categoría T1Comercios.
Marca de la publicación.
Possible values: [2, 3, 4, 5, 7, 12, 15]
Número de días en que el comercio tarda en embarcar el producto.
sales_channel
object
required
Objeto que indica los canales de venta en los cuales se va a comercializar la publicación.
CS
object
Objeto que define la configuración del venta del canal Claroshop.com
IDCategoría del canal de venta Claroshop.
Nombre de la Categoría del canal de venta Claroshop.com
Precio del lista de la publicación para el canal Claroshop.
Precio en que el producto se venderá, antes conocido como Precio Oferta. El precio oferta no puede ser menor al 71% del valor del nodo, "list_price".
EStatus del producto en el canal de venta.
SR
object
Objeto que define la configuración del venta del canal Claroshop.com
IDCategoría del canal de venta Claroshop.
Nombre de la Categoría del canal de venta SEARS.com.mx
Precio del lista de la publicación para el canal SEARS.com.mx
Precio en que el producto se venderá, antes conocido como Precio Oferta. El precio oferta no puede ser menor al 71% del valor del nodo, "list_price".
EStatus del producto en el canal de venta.
SN
object
Objeto que define la configuración del venta del canal Claroshop.com
IDCategoría del canal de venta sanborns.com.mx.
Nombre de la Categoría del canal de venta sanborns.com.mx
Precio del lista de la publicación para el canal sanborns.com.mx
Precio en que el producto se venderá, antes conocido como Precio Oferta. El precio oferta no puede ser menor al 71% del valor del nodo, "list_price".
EStatus del producto en el canal de venta.
Possible values: <= 10
Arreglo de strings que describen el producto, estos se pintaran a manera de listado en los portales de claroshop, SEARS y Sanborns. Se permiten 7 bullets por producto.
volumetry
object[]
required
Arreglo de medidas volumetricas.
Alto del paquete
Ancho del paquete
Profundo del paquete
Peso del paquete
warranty
object
required
Objeto de inidica los tipos garantías que ofrece el vendedor en la publicación.
seller
object
Garantía que proporciona el vendedor. Solo se permiten las combinaciones 7 Días,10 Días,20 Días, 30 Días, 1 Años,2 Años
Possible values: [7, 10, 20, 30, 1, 2]
Possible values: [Días, Años]
manufacturer
object
Garantía de fábrica que ofrece la publicación. Solo se permiten las combinaciones 7 Días,10 Días,20 Días, 30 Días, 1 Años,2 Años
Possible values: [7, 10, 20, 30, 1, 2]
Possible values: [Días, Años]
invoice
object
required
Arreglo que indica los códigos del tipo de mercancia. Para el cumplimiento de la ley "Carta Porte".
ID del catalógo de SAT.
Texto del valor del código SAT.
Nodo que indica si el producto grava o no grava IVA.
Palabras clave del producto, estas palabras clave, ayudan a mejorar el SEO del producto. Máximo 10 tags por productos.
property
object[]
required
Array de atributos específicos de la categoría. Cada categoría tiene sus propios atributos y tipos de variación. Para obtener los detalles de estos atributos y sus variaciones, consulte el endpoint "Categorías" utilizando el ID de la categoría correspondiente.
sku
object[]
required
Schema qe define el array de ojectos "Variaciones."
Possible values: Value must match regular expression /^[0-9a-zA-Z-]+$/
Unidad de mantenimiento en almacén', valor único para el comercio.
Stock de la variacion.
Possible values: [ean-8, upc-12, upc-8, gtin-14, isbn-13, issn-12, otro]
tipo de identificador universal usado
Possible values: Value must match regular expression /^[0-9]+$/
Identificador universal del producto, valor único para el comercio.
Possible values: [active, inactive]
Estatus de la variacion
variation
object[]
Define los tipos y valores de la variación.
photo
object[]
required
Array de fotos de la publicación. Una publicación puede tener máximo 10 imagenes.
Url de la imagen que se cargo en el método FileManager.
Orden en que se mostrará la imagen dentro de la plataforma y en los canales de venta.
variation
object[]
video
object[]
required
Listado de videos, actualmente solo se permiten videos de youtube.
Siempre envíar el valor "1".
Array de SKUS que le pertenecen al objeto.Para producto Sin Vairación, envíar array vacío.
Responses
- 200
- 404
- 409
En caso de que el producto se actualizo correctamente
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
Array [
]
Array [
Array [
]
]
Array [
Array [
]
]
Array [
]
metadata
object
Possible values: [success, error, fail]
Default value: success
data
object
Schema básico de un producto, este schema es para cualquer tipo de producto, con o sin variación.
Possible values: Value must match regular expression /^[0-9a-zA-Z-]+$/
Indetificador único externo. El valor de este campo NO se puede repetir dentro de todo la tienda. Ni como SKU PADRE o como SKU VARIACION.
Possible values: Value must match regular expression /^[0-9a-zA-Z-]+$/
Título principal de la publicación.
Descripción de la publicación.
ID Categoría de T1Comercios. Este producto debe existir dentro del catalógo de T1Comercios.
Texto del nombre de la categoría T1Comercios.
Marca de la publicación.
Possible values: [2, 3, 4, 5, 7, 12, 15]
Número de días en que el comercio tarda en embarcar el producto.
sales_channel
object
required
Objeto que indica los canales de venta en los cuales se va a comercializar la publicación.
CS
object
Objeto que define la configuración del venta del canal Claroshop.com
IDCategoría del canal de venta Claroshop.
Nombre de la Categoría del canal de venta Claroshop.com
Precio del lista de la publicación para el canal Claroshop.
Precio en que el producto se venderá, antes conocido como Precio Oferta. El precio oferta no puede ser menor al 71% del valor del nodo, "list_price".
EStatus del producto en el canal de venta.
SR
object
Objeto que define la configuración del venta del canal Claroshop.com
IDCategoría del canal de venta Claroshop.
Nombre de la Categoría del canal de venta SEARS.com.mx
Precio del lista de la publicación para el canal SEARS.com.mx
Precio en que el producto se venderá, antes conocido como Precio Oferta. El precio oferta no puede ser menor al 71% del valor del nodo, "list_price".
EStatus del producto en el canal de venta.
SN
object
Objeto que define la configuración del venta del canal Claroshop.com
IDCategoría del canal de venta sanborns.com.mx.
Nombre de la Categoría del canal de venta sanborns.com.mx
Precio del lista de la publicación para el canal sanborns.com.mx
Precio en que el producto se venderá, antes conocido como Precio Oferta. El precio oferta no puede ser menor al 71% del valor del nodo, "list_price".
EStatus del producto en el canal de venta.
Possible values: <= 10
Arreglo de strings que describen el producto, estos se pintaran a manera de listado en los portales de claroshop, SEARS y Sanborns. Se permiten 7 bullets por producto.
volumetry
object[]
required
Arreglo de medidas volumetricas.
Alto del paquete
Ancho del paquete
Profundo del paquete
Peso del paquete
warranty
object
required
Objeto de inidica los tipos garantías que ofrece el vendedor en la publicación.
seller
object
Garantía que proporciona el vendedor. Solo se permiten las combinaciones 7 Días,10 Días,20 Días, 30 Días, 1 Años,2 Años
Possible values: [7, 10, 20, 30, 1, 2]
Possible values: [Días, Años]
manufacturer
object
Garantía de fábrica que ofrece la publicación. Solo se permiten las combinaciones 7 Días,10 Días,20 Días, 30 Días, 1 Años,2 Años
Possible values: [7, 10, 20, 30, 1, 2]
Possible values: [Días, Años]
invoice
object
required
Arreglo que indica los códigos del tipo de mercancia. Para el cumplimiento de la ley "Carta Porte".
ID del catalógo de SAT.
Texto del valor del código SAT.
Nodo que indica si el producto grava o no grava IVA.
Palabras clave del producto, estas palabras clave, ayudan a mejorar el SEO del producto. Máximo 10 tags por productos.
property
object[]
required
Array de atributos específicos de la categoría. Cada categoría tiene sus propios atributos y tipos de variación. Para obtener los detalles de estos atributos y sus variaciones, consulte el endpoint "Categorías" utilizando el ID de la categoría correspondiente.
sku
object[]
required
Schema qe define el array de ojectos "Variaciones."
Possible values: Value must match regular expression /^[0-9a-zA-Z-]+$/
Unidad de mantenimiento en almacén', valor único para el comercio.
Stock de la variacion.
Possible values: [ean-8, upc-12, upc-8, gtin-14, isbn-13, issn-12, otro]
tipo de identificador universal usado
Possible values: Value must match regular expression /^[0-9]+$/
Identificador universal del producto, valor único para el comercio.
Possible values: [active, inactive]
Estatus de la variacion
variation
object[]
Define los tipos y valores de la variación.
photo
object[]
required
Array de fotos de la publicación. Una publicación puede tener máximo 10 imagenes.
Url de la imagen que se cargo en el método FileManager.
Orden en que se mostrará la imagen dentro de la plataforma y en los canales de venta.
variation
object[]
video
object[]
required
Listado de videos, actualmente solo se permiten videos de youtube.
Siempre envíar el valor "1".
Array de SKUS que le pertenecen al objeto.Para producto Sin Vairación, envíar array vacío.
{
"metadata": {
"status": "success",
"http_code": 200,
"date_time": "2019-08-27T18:18:31Z",
"message": "ok"
},
"data": {
"sku_padre": "SKU_01",
"name": "Título de producto de prueba.",
"description": "Descripción de la publicación. Producto de prueba.",
"category_t1comercios": 11769,
"category_name_t1comercios": "Cajas",
"brand": "cuvo",
"packing_days": 1,
"sales_channel": {
"CS": {
"category": "22080",
"category_name": "Aceites, Salsas, Vinagres y Aderezos",
"list_price": 100,
"sales_price": 90,
"active": true
},
"SR": {
"category": "22080",
"category_name": "Aceites, Salsas, Vinagres y Aderezos",
"list_price": 100,
"sales_price": 90,
"active": true
},
"SN": {
"category": "22080",
"category_name": "Aceites, Salsas, Vinagres y Aderezos",
"list_price": 100,
"sales_price": 90,
"active": true
}
},
"bullets": [
"100% Algodón",
"Tejido hecho a mano"
],
"volumetry": [
{
"higth": 20,
"width": 20,
"deep": 20,
"weight": 20
}
],
"warranty": {
"seller": {
"quantity": 10,
"measure": "Días"
},
"manufacturer": {
"quantity": 10,
"measure": "Días"
}
},
"invoice": {
"sat-code": "53111500",
"sat-measure-unit": "Botas",
"iva": false
},
"tags": [
"T1comercios",
"producto",
"Ejemplo"
],
"property": [
{
"property_id": 10176,
"name": "Altura de la Bota",
"value": "media pierna"
}
],
"sku": [
{
"sku": "SKU_VARIACION_01",
"stock": 2,
"universal_id_type": "ean-8",
"universal_id": "1234567890",
"status": "active",
"variation": [
{
"variationName": "color",
"variation_value": "azul"
},
{
"variationName": "talla",
"variation_value": "Grande"
}
]
}
],
"photo": [
{
"url": "https://medios.plazavip.com/t1/1715047030ImagendeWhatsApp20240417alas11461309c23dcdjpg",
"order": 1,
"variation": [
{
"variationName": "color",
"variation_value": "azul"
}
]
}
],
"video": [
{
"order": 1,
"skus": [
[
"SKU_01",
"SKU_02"
]
]
}
]
}
}
En caso de que el producto no exista
- application/json
- Schema
- Example (from schema)
Schema
metadata
object
Default value: fail
Default value: object not found
{
"metadata": {
"status": "fail",
"http_code": 404,
"date_time": "2019-08-27T18:18:31Z",
"message": "object not found"
}
}
En caso de no cumplir con una regla de negocio
- application/json
- Schema
- Example (from schema)
Schema
metadata
object
Possible values: [success, error, fail]
Default value: fail
data
object
Possible values: [ERR-001, ERR-002, ERR-003, ERR-004, ERR-005, ERR-006, ERR-007, ERR-008, ERR-009, ERR-010, ERR-011, ERR-012, ERR-013, ERR-014, ERR-015, ERR-016, ERR-017, ERR-018, ERR-019, ERR-020, ERR-021, ERR-024, ERR-025, ERR-026, ERR-027, ERR-028, ERR-029, ERR-032]
Codigo de error en caso de que el producto no compla con una validación interna
Possible values: [SKU se encuentra en el sistema, Ean se encuentra en el sistema, Debe incluir por lo menos una foto del producto, Ya existe un producto con el mismo sku_padre, Debe enviar una categoria t1 valida, El producto debe tener una marca, Se debe considerar stock al crear el producto, Se deben llenar los datos del objeto invoice, El producto debe contener una descripcion, Cada item dentro de sku debe contener status, La propiedad active dentro del objeto sales channel es necesaria, La volumetria es necesaria --> ademas los valores deven ser > 0, Dias de embarque necesario, El atributo garantía es necesario, Existe conflicto entre el precio base y precio oferta, Categoria t1 no válida, No se pudieron validar las propiedades, El id propiedad no es válida para el producto, El id de la categoria cs no corresponde al enviado, El id de la categoria sr no corresponde al enviado, El id de la categoria sn no corresponde al enviado, El código Sat no coincide con la categoría seleccionada, Sólo puede ingresar un máximo de 7 características en el objeto bullets, Sólo se aceptan 10 fotos generales o por variación, Los valores permitidos para packing_days son {2,3,4,5,7,12,15}, Los valores aceptados en garantía son: (7,10,20,30) Días (1,2) Años, Los videos deben ser de la plataforma YOUTUBE, Universal_id no debe ser mayor a 13 caracteres]
Descripción del error, al momento de crear la publicación.
{
"metadata": {
"status": "fail",
"http_code": 409,
"date_time": "2019-08-27T18:18:31Z"
},
"data": {
"error_code": "ERR-001",
"message": "SKU se encuentra en el sistema"
}
}