Update Products

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.


❗️

Minimum Structure

To perform a product update, the minimum request structure must include:

  • SellerSku
  • The BusinessUnits node, which must contain at least one BusinessUnit with:
    • OperatorCode corresponding to the country (facl for Chile, fape for Peru, faco for Colombia)
    • At least one attribute to update, such as Price, Stock, Status, etc.

To ensure an efficient integration, if you only need to update price or stock, you do not need to include additional information such as description, name, or other product attributes. It is enough to send the SellerSku, the BusinessUnits block, and the specific fields to be updated.

Request Data


⚠️

Recommended Batch Size

To optimize feed usage, group your products into batches. It is recommended to send between 500 and 1,000 products per request, depending on the size and complexity of the data included.

<?xml version="1.0" encoding="UTF-8" ?>
<Request>
	<Product>
		<SellerSku>SKU-TEST-12345</SellerSku>
		<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>
		<BusinessUnits>
			<BusinessUnit>
				<OperatorCode>facl</OperatorCode>
				<Stock>50</Stock>
                                <Price>4600</Price>
                                <SpecialPrice />
				<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
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.
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

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