ProductUpdate. Permite la actualización de uno o más productos utilizando como llave el campo SellerSku.
La respuesta del API es asincrónica y genera la creación de un Feed; recuerda siempre ver el detalle de un feed (consulta aquí) para revisar si el producto fue creado correctamente o bien tiene observaciones en el rechazo.
El cuerpo del request es un XML; aquellos campos que sean enviados con valor vacío no serán procesados y serán ignorados, como el siguiente ejemplo, donde ParentSku será ignorado, aunque haya sido declarado. Es posible actualizar uno o más productos.
Datos de la solicitud
<?xml version="1.0" encoding="UTF-8" ?>
<Request>
<Product>
<SellerSku>SKU-TEST-12345</SellerSku>
<ShortDescription>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</ShortDescription>
<BusinessUnits>
<BusinessUnit>
<OperatorCode>facl</OperatorCode>
<Stock>50</Stock>
<Status>active</Status>
</BusinessUnit>
</BusinessUnits>
</Product>
<Product>
<SellerSku>SKU-TEST-999999</SellerSku>
<Name>PRODUCT TEST - TEST - TEST</Name>
<ParentSku/>
<Description>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</Description>
<Color>Verde</Color>
<ColorBasico>Rojo</ColorBasico>
<BusinessUnits>
<BusinessUnit>
<OperatorCode>facl</OperatorCode>
<Price>59990</Price>
<SpecialPrice>35990</SpecialPrice>
<SpecialFromDate>2023-05-26 00:00:00</SpecialFromDate>
<SpecialToDate>2023-10-31 23:59:59</SpecialToDate>
<Stock>40</Stock>
<Status>inactive</Status>
</BusinessUnit>
</BusinessUnits>
<ProductData>
<ConditionType>Nuevo</ConditionType>
<PackageHeight>11</PackageHeight>
<PackageWidth>11</PackageWidth>
<PackageLength>11</PackageLength>
<PackageWeight>4</PackageWeight>
</ProductData>
</Product>
Las etiquetas XML tienen el siguiente significado:
Etiqueta | Tipo | Descripción |
---|---|---|
SellerSku | String | El identificador único del producto que se va a modificar. Obligatorio |
Status | String | Uno de los siguientes valores: 'active' (activo), 'inactive' (inactivo) o 'deleted' (eliminado). Opcional |
Name | String | El nombre del producto que se muestra al usuario final. Opcional. Debe tener entre 2 y 255 caracteres. |
Variation | String | Si un producto está disponible en múltiples variaciones (por ejemplo, colores o tamaño), este es el valor de la variación. Por ejemplo, si el producto es una chaqueta que viene en diferentes tamaños, este sería el tamaño de la variación de la chaqueta que se agrega con la llamada (por ejemplo, 'Extra Small'). Opcional |
Color | String | Indica el color principal del producto. |
ColorBasico | String | Indica el color principal del producto. En caso de no tener uno, selecciona la opción multicolor. |
Talla | String | Indica la talla del producto. |
PrimaryCategory | Integer | El ID de la categoría principal de su producto. Para obtener el ID de cada una de las categorías del sistema, llame a GetCategoryTree. Opcional |
Categories | String | Una lista separada por comas de una de las tres subcategorías a las que pertenece el producto. Cada una de las subcategorías dadas debe descender de la categoría especificada por el parámetro PrimaryCategory. Opcional |
BrowseNodes | String | Una lista separada por comas de una o dos categorías adicionales que no están necesariamente relacionadas con PrimaryCategory. Opcional |
Description | String | La descripción del producto, como se muestra al usuario final. 6 a 25000 caracteres. Se permite agregar determinadas etiquetas HTML, pero se deben utilizar como caracteres de escape (ver más abajo). Obligatorio |
Brand | String | La marca del producto. Opcional |
BusinessUnits | Subsection | Operador del código del producto y el estado, precios, detalle de stock, con cada BusinessUnit y sus detalles declarados por separado. Opcional si no está actualizando el precio, stock o estado del producto. |
OperatorCode | String | Código de operador para el producto, por ejemplo: FACL: Chile FAPE: Perú FACO: Colombia Siempre será 'FA' seguido del código de país. |
Status | String | Estado del producto en ese operador. Es uno de los siguientes valores: 'active' (activo), 'inactive' (inactivo), 'deleted' (eliminado). Por defecto el valor es 'active' |
Price | Decimal | El precio del producto. Opcional |
SpecialPrice | Decimal | El precio (con suerte reducido) del producto mientras está en oferta. Si se especifica SpecialPrice, se debe especificar SpecialFromDate o SpecialToDate; viceversa, si se especifica al menos uno de SpecialFromDate o SpecialToDate, SalePrice es obligatorio. |
SpecialFromDate | DateTime | Hora y fecha de salida del producto. Si se transfiere, SpecialPrice se vuelve obligatorio si aún no se ha establecido. |
SpecialToDate | DateTime | Hora y fecha de finalización de la venta del producto. Si se transfiere, SpecialPrice se vuelve obligatorio si aún no se ha establecido. |
TaxClass | String | La clase fiscal a la que pertenece el producto. Las clases de impuestos disponibles dependen de la instalación específica contra la que se ejecuta la llamada. Opcional |
ShipmentType | String | Indica si el producto se envía directamente al recibirlo ('crossdocking') o se envía directamente ('dropshipping'). Los tipos de envío permitidos dependen de lo que esté configurado para un vendedor específico. Opcional |
ProductId | String | Un código armonizado para el producto, como el Código de producto universal (UPC), el Número de artículo internacional (EAN), el Número de artículo comercial global (GTIN) o el Número de libro estándar internacional (ISBN). Opcional |
ConditionType | String | Indica si el producto es nuevo o usado. Uno de "new" (nuevo), "used" (usado) o "refurbished" (reacondicionado). Opcional |
ProductData | Subsection | Atributos adicionales del producto, depende de la categoría principal. Opcional |
Stock | Integer | El nivel actual de inventario de este producto. Opcional |
VolumetricWeight | Number DECIMAL(10,2) | |
ProductGroup | String | El nombre del grupo |
Datos de la respuesta
Utilice la información de respuesta generada para recuperar más detalles del Feed a través de otra llamada a la API FeedStatus . Consulte los detalles de la respuesta a través de FeedList. Tenga en cuenta que mientras realiza la llamada ProductUpdate, sólo hacemos una validación básica. Se realizará una validación completa mientras se procesa el feed, por lo que puede ser posible que , al enviar 100 actualizaciones de productos, sólo 90 de ellas se actualicen realmente.
Errores
Código de error | Mensaje |
---|---|
1000 | Could not save product: %s (No se pudo guardar el producto) |
1000 | Format Error Detected (Error de formato detectado) |
8888 | Feed rows exceeded, max size allowed is %d and you uploaded %d items. Please next time try to upload less items (Se superó el tamaño máximo de filas de Feeds. Tratar de subir menos elementos la próxima vez) |
Marcado en la descripción
La descripción del producto puede ser texto sin formato así:
<Description>la descripción</Description>
También puede contener ciertas etiquetas HTML, incluidas ul, li y span. Si HTML está incrustado, debe escaparse como datos de caracteres, así:
<Description><![CDATA[<div>la descripción <b>negrita</b></div>]]></Description>