ProductUpdate. Allows the update of one or more products using the SellerSku field as the key.

The API response is asynchronous and generates the creation of a Feed; always remember to check the details of a feed (see here) to review whether the product was created successfully or if there are any issues with the rejection.

The request body is XML; fields sent with empty values will not be processed and will be ignored, as in the following example, where ParentSku will be ignored even if it has been declared. It is possible to update one or more products.

Request Data


<?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>


The XML tags have the following meanings:

TagTypeDescription
SellerSkuStringThe unique identifier of the product to be modified. Mandatory
StatusStringOne of the following values: 'active', 'inactive', or 'deleted'. Optional
NameStringThe name of the product displayed to the end user. Optional. Must be between 2 and 255 characters.
VariationStringIf a product is available in multiple variations (e.g., colors or sizes), this is the variation value. Optional.
ColorStringIndicates the primary color of the product.
ColorBasicoStringIndicates the primary color of the product. If it doesn't have one, select the multicolor option.
SizeStringIndicates the size of the product.
PrimaryCategoryIntegerThe ID of the primary category of your product. To obtain the ID of each category in the system, call GetCategoryTree. Optional
CategoriesStringA comma-separated list of one of the three subcategories to which the product belongs. Optional
BrowseNodesStringA comma-separated list of one or two additional categories that are not necessarily related to PrimaryCategory. Optional
DescriptionStringThe product description as shown to the end user. 6 to 25000 characters. Certain HTML tags are allowed but must be escaped (see below). Mandatory
BrandStringThe brand of the product. Optional
BusinessUnitsSubsectionOperator of the product code and status, prices, stock details, with each BusinessUnit and its details declared separately. Optional if not updating the product's price, stock, or status.
OperatorCodeStringOperator code for the product, e.g., FACL: Chile, FAPE: Peru, FACO: Colombia. It will always be 'FA' followed by the country code.
StatusStringProduct status with that operator. One of 'active', 'inactive', or 'deleted'. Default value is 'active'.
PriceDecimalThe price of the product. Optional
SpecialPriceDecimalThe (hopefully reduced) price of the product while on sale. If SpecialPrice is specified, SpecialFromDate or SpecialToDate must be specified.
SpecialFromDateDateTimeThe date and time the product goes on sale. If transferred, SpecialPrice becomes mandatory if it hasn't been set yet.
SpecialToDateDateTimeThe date and time the product sale ends. If transferred, SpecialPrice becomes mandatory if it hasn't been set yet.
TaxClassStringThe tax class to which the product belongs. Available tax classes depend on the specific installation against which the call is made. Optional
ShipmentTypeStringIndicates whether the product is shipped directly upon receipt ('crossdocking') or sent directly ('dropshipping'). Allowed shipment types depend on what's configured for a specific seller. Optional
ProductIdStringA harmonized code for the product, such as Universal Product Code (UPC), International Article Number (EAN), Global Trade Item Number (GTIN), or International Standard Book Number (ISBN). Optional
ConditionTypeStringIndicates whether the product is new or used. One of "new", "used", or "refurbished". Optional
ProductDataSubsectionAdditional product attributes, depending on the primary category. Optional
StockIntegerThe current inventory level of this product. Optional
VolumetricWeightNumber DECIMAL(10,2)
ProductGroupStringThe name of the group

Request Data

Use the generated response information to retrieve more details of the Feed through another API call to FeedStatus. Check the details of the response through FeedList. Keep in mind that while making the ProductUpdate call, we only perform basic validation. Full validation will occur while processing the feed, so it may be possible that, when sending 100 product updates, only 90 of them are actually updated.

Errors

Error CodeMessage
1000Could not save product: %s (Could not save the product)
1000Format Error Detected
8888Feed rows exceeded, max size allowed is %d and you uploaded %d items. Please next time try to upload less items (Feed row limit exceeded. Please try to upload fewer items next time)

Markup in Description

The product description can be plain text like this:

<Description>the description</Description>

It can also contain certain HTML tags, including ul, li, and span. If HTML is embedded, it must be escaped as character data, like this:

<Description><![CDATA[<div>the description <b>bold</b></div>]]></Description>

Language