```
```

Product Update V1 (updateProducts)

❗️

**Product V1 services will be unvalid starting from 15th October 2026. You need to finalize Product V2 service developments on your end.

Product Update

This method allows you to update the products that you have previously created using the createProduct service in your Trendyol store.

Limited to Product Information:

  • This service is specifically designed for updating product information only. If you need to update stock and price values, you should use the updatePriceAndInventory service.

Check Category and Attribute Values:

  • As new category and category attribute values may be added, it is recommended to check the getCategoryTree and getCategoryAttributes services to ensure that the category and category attribute values you use are up-to-date before updating your products.

Status Update:

  • The status of the product will be set to "İçerik Kontrol Bekleniyor" (Content Check Pending) after the update request. Your products may still be open for sale. If you don't want to receive orders during this period, it's crucial to update your stock and price information accordingly.

Maximum Items in Each Request:

  • You can include a maximum of 1000 items in each update request.

Product Update Constraint:

  • For approved products, the barcode, productMainId, brandId, categoryId fields, and attribute values defined as slicer or varianter, cannot be updated.
❗️

Check BatchRequest Result

After the product update process, you need to check the status of your products and the transfer process via the getBatchRequestResult service with the batchRequestId in the response.

PUT updateProducts

Sample Service Request

{
    "items": [
    {
        "barcode": "barkod-1234",
        "title": "Bebek Takımı Pamuk",
        "productMainId": "1234BT",
        "brandId": 1791,
        "categoryId": 411,
        "channels": ["CORE", "LUXE"],
        "stockCode": "STK-123",
        "origin": "AD",
        "dimensionalWeight": 12,
        "description": "Ürün açıklama bilgisi",
        "vatRate": 0,
        "locationBasedDelivery": "string", //could be "ENABLED", "DISABLED" or null
        "lotNumber": "string",
        "cargoProviders": ["cargo company code"],
        "deliveryOption": {
            "deliveryDuration": 1
        },
            "images": [
            {
                "url": "https://www.sampleadress/path/folder/image_1.jpg"
            }
        ],
        "attributes": [
            {
                "attributeId": 338,
                "attributeValueId": 6980
            },
            {
                "attributeId": 343,
                "attributeValueId": 4294
            },
            {
                "attributeId": 47,
                "customAttributeValue": "COLOUR"
            }
        ],
        "cargoCompanyId": 10,
        "shipmentAddressId": 0,
        "returningAddressId": 0
    }
]
}

Parameters Description and Rules

ParameterRequiredExplanationData TypeMax. Number of Characters
barcodeYesAs a special character "." , "-" , "_" can be use. You may use Turkish characters (ğ, Ğ, Ş, ş, İ, Ü etc.). If there is a space in the middle of your barcode, it will be combined and imported. You should also make your stock-price updates according to the imported barcode.string40
titleYesProduct Namestring100
productMainIdYesMain Product Codestring40
brandIdYesTrendyol Brand ID Information.integer-
categoryIdYesTrendyol Category ID Informationinteger-
stockCodeNoUnique stock code in supplier internal systemstring100
dimensionalWeightYesDesi Amountnumber-
originNoCountry of origin information of the product. You can find valid 2 digit codes herestring2
descriptionYesProduct description information.HTML - string30.000
currencyTypeYesIt should be sent in TRY. You need to determine the prices of your products in Turkish Lira. Exchange rate information is not supported.string-
cargoCompanyIdYesTrendyol Cargo Company Informationinteger-
deliveryDurationNo

Shipping Lead Time (You may enter a barcode-based shipping lead time within the intervals specified by our operations teams. If left blank, your default lead time will be applied to the barcode.)

As of August 2026:
You will need to submit a value of 0 for the "Ships Today" definition, and 1 for the "Ships Tomorrow at the Latest" definition.

integer-
deliveryOptionNo

Enables the entry of fast delivery options.

As of August 2026:
Passing a value in the "fastDeliveryType" field will no longer be required, and even if sent, it will not be processed. You can only enter one of the values specified above under "deliveryDuration".

string-
imagesYesIt is the URL address list of product images. Visual URL addresses must be SSL certified addresses in "https" format. Maximum 8 images can be added for a barcode. The dimensions of the images of the products must be 1200x1800 and 96dpi.List-
vatRateYesProduct VAT rate (like 0,1,10,20)integer-
shipmentAddressIdNoProduct Shipment warehouse address ID information in Trendyol systeminteger-
returningAddressIdNoProduct Return warehouse address ID information in Trendyol systeminteger-
attributesYesIt is the property (Specification/Attribute) information of the product that can be sent for Category information.List-
cargoProvidersNoIf you want to define a shipping company based on barcode, you can use one of the shipping companies returned from the service in the link.string-
channelsNo

Can only be used for approved products (approved:true). It accepts the values 'CORE' or 'LUXE'. It is recommended to send this field only when you intend to publish or unpublish a product in a specific channel.

Usage Examples:

1. If the product is live in both CORE and LUXE channels and you want to update the product information in both, the channels field can be omitted or sent as ["CORE", "LUXE"].

2.If the product is live only in the CORE channel, the request can be made with ["CORE"], or the channels field can be omitted.

3.If the product is live only in the LUXE channel, the request can be made with ["LUXE"], or the channels field can be omitted.

4.If the product is live in both CORE and LUXE channels, and you want to unpublish it from the LUXE channel, the request must be made with ["CORE"].

5.If the product is live only in the CORE channel, and you want to publish it in the LUXE channel as well (provided it meets the LUXE conditions), the request must be made with ["CORE", "LUXE"].

6.If the channels field is included in the request as an empty array [], it will return an error.

string-

Did this page help you?