PUT Edit Product
Chỉnh sửa sản phẩm Shop Scope yêu cầu: seller.product.write Chỉnh sửa tất cả các thuộc tính (ví dụ: mô tả, thương hiệu, hình ảnh) của một sản phẩm hiện có không ở trạng thái FREEZE hoặc DELETED. Sau khi chỉnh sửa sản phẩm, nội dung sản phẩm mới nhất (được gọi là v2) sẽ được gửi lại để kiểm duyệt. Nếu kiểm duyệt thành công, v2 sẽ được đăng lên shop, ngược lại, sản phẩm hiện có vẫn được hiển thị và giữ nguyên không thay đổi (giữ v1). Tuy nhiên, các chỉnh sửa đối với trường giá hoặc tồn kho không yêu cầu kiểm duyệt lại và sẽ được đăng ngay lập tức trên nền tảng. Sử dụng webhook Thay đổi trạng thái sản phẩm
để theo dõi trạng thái kiểm duyệt. Lưu ý:
- API này chỉ áp dụng cho các seller/shop đang hoạt động đã hoàn tất quy trình KYC onboarding.
- Có thể có giới hạn về số lượng sản phẩm bạn có thể đăng lại mỗi ngày. Chúng tôi khuyến nghị ưu tiên các sản phẩm chính trước để đảm bảo chúng được đăng. Bạn có thể tìm thấy giới hạn đăng sản phẩm của mình trên trang chủ Seller Center.
- Tất cả các đầu vào, bao gồm cả giá trị trống, trong request payload sẽ ghi đè lên các giá trị hiện có. Để giữ lại một giá trị hiện có, hãy đảm bảo bao gồm nó trong request của bạn. Ngoại lệ đối với quy tắc này là các trường giá và tồn kho, sẽ không thay đổi nếu chúng bị bỏ qua trong request. Do đó, chúng tôi đặc biệt khuyến nghị truy xuất dữ liệu sản phẩm mới nhất bằng cách sử dụng Get Product
và gửi dữ liệu đầy đủ khi chỉnh sửa. Điều này đảm bảo tính chính xác và giúp tránh các lỗi hoặc mất dữ liệu ngoài ý muốn do thiếu trường.
- Nếu bạn chỉ muốn chỉnh sửa một số thuộc tính nhất định, bạn có thể sử dụng Partial Edit Product API
, Update Inventory API
, hoặc Update Price API
.
- Ngôn ngữ được sử dụng trong nội dung sản phẩm phải phù hợp với ngôn ngữ của thị trường mục tiêu (ví dụ: không sử dụng tiếng Trung), nếu không việc đăng sản phẩm sẽ thất bại hoặc bị từ chối. Đối với global sellers: Nếu bạn đang sử dụng phương thức đăng sản phẩm nhân bản nội địa (local replication), hãy lưu ý các quy tắc đồng bộ sau:
- Để đồng bộ bất kỳ thay đổi nào sang các thị trường khác, vui lòng cung cấp seller_sku và dữ liệu replicated_products đầy đủ.
- Lưu ý rằng các thay đổi danh mục và thay đổi thuộc tính bán hàng (trong sales attribute id/name) phải được đồng bộ sang các thị trường khác. API call sẽ thất bại nếu bạn không cung cấp các chi tiết này. Đối với Tokopedia sellers: Lưu ý rằng một sản phẩm chỉ có thể có một phiên bản hoạt động trên tất cả các nền tảng tại bất kỳ thời điểm nào. Nếu một sản phẩm đang hiển thị trên cả hai nền tảng, kết quả kiểm duyệt cho phiên bản mới nhất được xử lý như sau:
- Kết quả kiểm duyệt hỗn hợp: Nếu sản phẩm vượt qua kiểm duyệt trên một nền tảng nhưng thất bại trên nền tảng khác, trên nền tảng thành công, sản phẩm sẽ vẫn hiển thị và được cập nhật với nội dung từ phiên bản mới nhất (v2), trong khi trên nền tảng thất bại, sản phẩm sẽ bị vô hiệu hóa và ẩn hoàn toàn.
- Kiểm duyệt thất bại trên tất cả các nền tảng: Nếu sản phẩm thất bại kiểm duyệt trên tất cả các nền tảng, sản phẩm hiện có vẫn hiển thị và giữ nguyên không thay đổi (giữ v1). Version 202509
PUT/product/202509/products/{product_id}
Request
Path
| Properties | Type | Description |
|---|---|---|
| product_id Required | string | ID sản phẩm được tạo bởi TikTok Shop. |
Header
| Properties | Type | Description |
|---|---|---|
| content-type Required | string | Loại được phép: application/json |
| x-tts-access-token Required | string | Giá trị access_token của seller từ Get Access Token, khi user_type = 0. Làm theo hướng dẫn này để lấy access_token của seller. |
Query
| Properties | Type | Description |
|---|---|---|
| app_key Required | string | Mỗi app sẽ có một key duy nhất. Vui lòng sử dụng key cụ thể được gán cho app của bạn. |
| sign Required | string | Chữ ký được tạo bởi thuật toán gen. Khi bạn gửi API request đến TTS, bạn phải ký chúng để TTS có thể nhận dạng người gửi. |
| timestamp Required | int | Unix timestamp GMT (UTC+00:00). Timestamp này được sử dụng trên tất cả các API request. Nhà phát triển có thể sử dụng nó để chuyển đổi sang giờ địa phương. |
| shop_cipher Required | string | Sử dụng thuộc tính này để truyền thông tin shop khi request API. Việc không truyền đúng giá trị khi request API cho các shop xuyên biên giới sẽ trả về response không chính xác. Lấy bằng API Get Authorization Shop |
Body
| Properties | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| save_mode | string | Cho biết sản phẩm nên được lưu như thế nào.Các giá trị có thể có:- AS_DRAFT: Lưu sản phẩm dưới dạng bản nháp để chỉnh sửa sau này.- LISTING: Đăng sản phẩm lên shop ngay lập tức.Mặc định: LISTINGLưu ý: - Việc lưu dưới dạng bản nháp không được hỗ trợ trong các trường hợp sau: - Trạng thái sản phẩm là DELETED. - Trạng thái sản phẩm là PENDING hoặc FREEZE trên bất kỳ nền tảng đăng sản phẩm nào.- Nếu bạn đang lưu một bản nháp post-live với save_mode=AS_DRAFT, các trường inventory và delivery_option_ids không được hỗ trợ và sẽ không được lưu. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| description Required | string | Mô tả sản phẩm ở định dạng HTML.Lưu ý:- Nội dung phải tuân thủ cú pháp HTML. Tất cả các thẻ HTML đều được chấp nhận nhưng để tối ưu hóa hiển thị trên trang chi tiết sản phẩm TikTok Shop, hệ thống sẽ tự động chuyển đổi một số thẻ thành các định dạng thay thế, chẳng hạn như hiển thị thẻ dưới dạng hình ảnh.- Độ dài tối đa: 10.000 ký tự.- Hướng dẫn về hình ảnh: Bạn phải sử dụng TikTok Shop image URLs. Tối đa 30 thẻ
Example CurlGoNode.jsJavaEnable word wrap 1234567891011121314151617181920212223curl-X PUT 'https://open-api.tiktokglobalshop.com/product/202509/products/1729409636071801988?timestamp=1623812664&shop_cipher=GCP_XF90igAAAABh00qsWgtvOiGFNqyubMt3&app_key=38abcd&sign=5361235029d141222525e303d742f9e38aea052d10896d3197ab9d6233730b8c' -H 'x-tts-access-token: TTP_pwSm2AAAAABmmtFz1xlyKMnwg74T2GJ5s0uQbS8jPjb_GkdFVCxPqzQXSyuyfXdQa0AqyDsea2tYFNVf4XeqgZHFfPyv0Vs659QqyLYfsGzanZ5XZAin3_ZkcIxxS0_In6u6XDeU96k' -H 'content-type: application/json' -d '{ "save_mode": "AS_DRAFT", "description": " Please compare above detailed size with your measurement before purchase.
Response Parameters
Example JSONEnable word wrap Error Code View common error codes | Code | Message | | --- | --- | | 12019006 | product description is invalid | | 12019011 | product package weight is invalid | | 12019012 | product package size is invalid | | 12019013 | brand id is invalid | | 12019019 | sale property is invalid | | 12019022 | SKU must contain a valid warehouse. | | 12019056 | sku not allow add | | 12019057 | sku not allow delete | | 12019061 | Product weight or dimensions unit does not support the imperial units on non-US local products. | | 12019095 | pre_sale.fulfillment_type is missing or empty. | | 12019096 | The value for pre_sale.type is missing. | | 12019097 | pre_sale.fulfillment_type.release_date must be set to a non-zero value. | | 12019098 | pre_sale.fulfillment_type.handling_duration_days must be set to a non-zero value. | | 12019100 | All SKUs of a product must have the same pre_sale.type. Do not assign different values. | | 12019215 | deposit balance is not enough | | 12052002 | Incorrect category format | | 12052003 | Incorrect parcel height format | | 12052004 | Incorrect parcel width format | | 12052005 | Incorrect parcel length format | | 12052013 | The product description cannot exceed maximum characters | | 12052015 | The product description is required | | 12052023 | Category does not exist | | 12052024 | Category is not final category | | 12052025 | The category is invalid | | 12052026 | Brand does not exist | | 12052028 | Main product image is required | | 12052032 | The product does not exist | | 12052034 | This product doesn't belong to this shop | | 12052037 | Couldn't update inventory. Possible causes:- Inventory is automatically allocated and cannot be modified manually- Warehouse IDs provided are incorrect- Missing warehouse IDs (all warehouses that stock the product must be included) | | 12052038 | Product price locked due to ongoing promotion. | | 12052048 | You cannot edit the specified product(s) as it isn't listed in your account or shop. | | 12052050 | A single product cannot have more than 100 different SKUs | | 12052051 | The product name exceed max limit characters | | 12052054 | The seller SKU text length cannot exceed max limit characters | | 12052055 | The SKU inventory quantity for the warehouse must be within allowed limits. | | 12052056 | The num of image in description cannot exceed max limit | | 12052073 | The product price is invalid | | 12052084 | The provided currency is not available for this shop/region. | | 12052092 | product sale price is invalid | | 12052094 | No multiple warehouse permission | | 12052095 | Warehouse information parsing error | | 12052096 | Unable to update the price for SKUs with no warehouse. Assign a warehouse and try again. | | 12052097 | The warehouse does not exist | | 12052104 | property is required | | 12052105 | required qualification miss | | 12052115 | seller has no warehouse | | 12052116 | product package size is invalid | | 12052128 | Size chart not found | | 12052141 | please edit stock from global | | 12052144 | platform warehouse not support to edit | | 12052151 | product property value contain restricted words | | 12052152 | sale property name contains restricted words | | 12052153 | sale property value contains restricted words | | 12052158 | category unable to change | | 12052159 | unique item total quantity must be one | | 12052160 | sku count must be one and disable variables | | 12052162 | unique item sku count must be one and disable varialbes | | 12052163 | The gift product are not allowed to be edited | | 12052181 | The package weight of the product can not be zero. | | 12052182 | The '{{sub_property_name}}' field is required as you've selected '{{parent_property_value}}' for '{{parent_property_name}}'. | | 12052183 | The '{{sub_property_name}}' field should be left empty as you've selected '{{parent_property_value}}' for '{{parent_property_name}}'. | | 12052200 | brand is expired | | 12052201 | You are not authorized to sell this brand in this category. To do so, apply through the Qualification Center in Seller Center. | | 12052207 | receipt brand not support warehouse | | 12052208 | A brand authorization is required to publish this listing. | | 12052217 | All region shops must use V2 categories. Check the documentation for further details. | | 12052220 | This category is prohibited or unsupported on TikTok Shop. Select another category. | | 12052221 | Only whitelisted sellers are permitted to trade under current category | | 12052222 | category do not support cod | | 12052223 | This category is restricted. To sell in this category, apply through the Qualification Center in Seller Center. | | 12052225 | You are not authorized to sell in this category because it does not fall under your shop's main category. Contact your account manager for help or select another category. | | 12052226 | This category is restricted. To sell in this category, apply through the Qualification Center in Seller Center. | | 12052227 | the category is unauthorized or unavailable | | 12052230 | Category version and categoryID are not matched. | | 12052235 | The format of url is invalid | | 12052238 | The length of the url is greater than 200 | | 12052240 | Do not support custom property. | | 12052241 | attribute name or attribute id is empty. | | 12052242 | The attribute name characters cannot exceed max_limit | | 12052243 | The product attribute or sale attribute name characters contain Chinese. | | 12052244 | The attribute name duplicate. | | 12052245 | The product attributes contained invalid characters. Please modify and re-submit. | | 12052246 | The {{property_type}} not support multi selected, attribute id is :{{property_id}}. | | 12052247 | Do not support custom product attribute. | | 12052248 | The {{property_type}} value name or attribute value id is empty. | | 12052249 | The {{property_type}} value name characters cannot exceed {{max_limit}}, attribute value name is :{{property_value_name}}. | | 12052250 | The {{property_type}} value name characters contain Chinese. | | 12052251 | Duplicated attribute values found for an attribute. Remove or modify the duplicated value. | | 12052253 | Duplicate attribute value id | | 12052254 | Duplicate attribute id | | 12052256 | The {{property_name}} value need to be positive integers or positive decimals . | | 12052260 | The product ID does not exist | | 12052261 | product name is empty | | 12052262 | Chinese characters are not supported in product name | | 12052263 | product name prefix illegal | | 12052273 | After the pre-sale product has been onlive product, the pre-sale info cannot be modified. | | 12052275 | sku's mto day is invalid | | 12052278 | seller does not support make to order | | 12052282 | Product manufacturer is required. | | 12052284 | Manufacturer ID {{manufacturer_id}} is not found | | 12052285 | Manufacturer ID {{manufacturer_id}} is not associated with the seller | | 12052287 | Product responsible person is required | | 12052289 | Responsible person ID {{rp_id}} is not found | | 12052294 | The format of the extra identification code is incorrect. | | 12052300 | product main image uri illegal | | 12052301 | Width and length of main image must be at least {{min_limit}}, check uri {{uri}} | | 12052302 | The main images size exceed limit. | | 12052304 | Main product image format not support. | | 12052305 | The main images aspect ratio cannot exceed max limit. | | 12052306 | main product images count exceed limit | | 12052307 | skus in the lottery cannot be deleted | | 12052308 | There's an ongoing appeal. If you wish to edit product details, please revoke the appeal first. | | 12052310 | The futures information filled in by the seller does not meet the requirements. | | 12052311 | The number of backorder product exceeds the limit max_num, or the proportion of backorder product exceeds the limit max_ratio | | 12052314 | Standard product cannot be converted to MTO product | | 12052315 | Standard product cannot be converted to preorder product | | 12052316 | product second hand not applicable in this sale platform | | 12052317 | purchase order quantity not support | | 12052319 | maximum order quantity smaller than minimum order quantity | | 12052324 | Product description image file format is not supported | | 12052329 | A pre-order product can't be changed to a regular product | | 12052330 | product is not supported to list in designated sale platform | | 12052332 | The seller center is locked during shop integration, only editing stock and price is allowed | | 12052340 | product description image uri illegal | | 12052341 | The description images size cannot exceed limit. | | 12052342 | The description images space cannot exceed limit. | | 12052343 | Product description image format not support. | | 12052344 | The product description html syntax with error | | 12052345 | The product description html tag not support. | | 12052346 | The product description has Chinese characters | | 12052348 | The product description html tag required attribute is miss. | | 12052349 | The product description html tag not support nest. | | 12052350 | The product description html tag contain illegal attribute. | | 12052352 | The product description nest exceeding limit | | 12052357 | 'supplementary_sku_images' is only allowed when 'sku_img' is specified. Add an image to 'sku_img' and try again. | | 12052359 | save subscribe not support | | 12052360 | The video id is not exist. | | 12052361 | This base unit value count is not supported. The supported base unit values can be obtained from the Get Attribute API. | | 12052362 | SKU unit count is required. | | 12052364 | The warehouse is unavailable because this product cannot be shipped to the target market from this warehouse. | | 12052365 | The manufacturer lacks language version information for this market. | | 12052371 | Auction product is bidding when it is not supported to change product info | | 12052372 | Generate EU energy label image failed | | 12052375 | product list price is invalid | | 12052376 | list price not support | | 12052382 | Can't edit Dilayani Tokopedia warehouse quantity | | 12052383 | product list price exceed limit | | 12052385 | Please enter valid certificate expiration date | | 12052393 | Product locked for Promotion and stock can't be updated below current stock | | 12052402 | seller shipping template is empty | | 12052403 | The warehouse does not support fulfillment for the current shop. | | 12052404 | multi-warehouse not support customize logistics service | | 12052405 | The warehouse has not opened the subscribed logistics service | | 12052420 | warehouse didn't set logistics service | | 12052424 | Missing 'sale price' value | | 12052446 | Category is not open in this market | | 12052465 | warehouse is unavailable for eu gpr product | | 12052490 | The handling time must be within the allowed limits. | | 12052503 | If the inventory allocation mode is SHARED, the inventory quantity must be the same across all SKUs. | | 12052508 | The SKU ID in replicated_products is invalid and cannot be found. | | 12052509 | Missing seller_sku in replicated_products. You must indicate the seller_sku for all new SKUs. | | 12052510 | No matching seller_sku found in the source product. Ensure you indicate the seller_sku in both skus.seller_sku and replicated_products.skus.seller_sku. | | 12052511 | Missing SKU details in replicated_products. You must complete the SKU details. | | 12052512 | No replicas exist for this product. You can replicate the product first by using the Replicate Product endpoint. | | 12052513 | No replicas exist for this product in the stated region. You can replicate the product first by using the Replicate Product endpoint. | | 12052514 | Missing regions in replicated_products. The category was changed, therefore you must sync the product to all other markets where replicas exist. | | 12052515 | Missing regions in replicated_products. The sales attributes were changed, therefore you must sync the product to all other markets where replicas exist. | | 12052516 | Missing inventory details. You must include all warehouse IDs assigned to the SKU, along with the respective quantity. Do not omit any or add unrelated warehouses. | | 12052520 | product sale property image uri illegal | | 12052521 | The sale property images size over limit. | | 12052522 | Product sale property image is required | | 12052523 | Product sale property image format not support. | | 12052524 | The sale property image aspect ratio invalid | | 12052525 | The attribute max num cannot exceed 3. | | 12052526 | The attribute value max num over limit. | | 12052527 | The sale attribute id not exist. | | 12052528 | You can add images to only 1 product variation, which will serve as the primary variation for display in the product options gallery. | | 12052529 | The property value id not exist. | | 12052530 | The warehouse ' {{warehouse ID}} ' does not belong to this shop/seller. | | 12052531 | The warehouse is disabled. | | 12052532 | the warehouse not delivery warehouse | | 12052533 | Removal, addition, and change of warehouses are not permitted. Please specify the original warehouses for the SKUs. | | 12052534 | warehouse unable to delete | | 12052535 | Couldn't publish this product as you haven't set the return warehouse for your shop. Add the return warehouse information on TikTok Shop Seller Center first and try again. | | 12052550 | SKU property must contain all properties | | 12052553 | Sku id duplicate | | 12052554 | sku name contain Chinese characters | | 12052557 | The SKU ID does not belong to the product. | | 12052558 | Number of product skus exceed limit. | | 12052559 | The product with duplicate default sku. | | 12052560 | The SKU contains duplicate sales attribute. | | 12052570 | product price exceed limit | | 12052571 | Missing price for SKU(s) | | 12052572 | the sale price is invalid | | 12052574 | unit price config is invalid | | 12052592 | Identifier code already entered, cannot enter the same code twice | | 12052593 | The identifier code cannot be changed once be submitted | | 12052650 | product qualification image uri illegal | | 12052651 | The qualification images size over limit. | | 12052655 | qualification id not exist | | 12052656 | qualification id duplicate | | 12052657 | qualification image and pdf file is out of limit. | | 12052658 | product qualification file uri illegal | | 12052670 | The size chart image URI is invalid. Note: API users must use the URI generated by the Upload Product Image API. | | 12052671 | The sizechart images size over limit. | | 12052673 | Product sizechart image is required | | 12052700 | The seller is inactive. | | 12052701 | do not support cross-boarder seller create local product directly | | 12052702 | seller does not support pre-order | | 12052703 | Invalid seller tax number | | 12052704 | seller id not exist | | 12052706 | The minimum sales quantity should not be exceed limit | | 12052707 | Setting minimum sales quantity is not supported | | 12052712 | sku's pre_order is invalid | | 12052805 | Bundle does not support adding this product type | | 12052815 | product in bundle deal cannot set minimum sale quantity | | 12052832 | The sub-SKU coefficient associated with each combo SKU cannot exceed {{max_limit}}, and cannot less {{min_limit}}. | | 12052834 | The number of combo sku associated with a sku cannot exceed limit. | | 12052835 | Sub product ID not exist | | 12052836 | The category of the combo is inconsistent with the category of the main sub-product. | | 12052838 | The first-level categories of the sub-products in the combo are inconsistent | | 12052841 | The sub-sku relationship corresponding to different combo sku cannot be duplicated. | | 12052843 | The main sub-product in the combo cannot be changed | | 12052844 | The sub-sku is not in the sub-product | | 12052846 | combo does not support adding this product type | | 12052847 | The combo sku relationship cannot be changed | | 12052850 | The stock of combo does not support being edited. | | 12052853 | The sale property of combo mismatch. | | 12052857 | Combined products and normal products cannot be converted to each other. | | 12052859 | When the combined SKU is only associated with one sub-SKU, the coefficient of this sub-SKU cannot be less than 2. | | 12052863 | All SKU of a combined product need to be the combined SKU. | | 12052864 | Unable to add deactivated SKUs to the combined product. | | 12052881 | identity internal error | | 36009003 | Internal error. Please try again. If the issue persists after multiple attempts, please contact platform support. | | 12052901 | The product in its current status is not available for this operation. Change the product status and try again. | | 12052902 | The SKU list is empty. Either omit the list entirely, or provide all required details. | | 12052910 | Invalid input parameters. Refer to the API documentation for details. | | 12052915 | package weight unit and dimension unit miss match. | | 12052921 | Couldn't edit the inventory quantity because this product shares the inventory with the source shop | | 12052922 | edit fields limit | | 12052931 | The title must follow these formatting rules: it cannot contain HTML escape characters (e.g., ), emojis, or ASCII control characters (e.g., ). It also cannot consist solely of symbols (e.g., //// or !@#$$$&), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). | | 12052932 | The description must follow these formatting rules: it cannot contain HTML escape characters (e.g., ), emojis, or ASCII control characters (e.g., \u007F). It also cannot consist solely of symbols (e.g., //// or !@#$$$&), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). | | 12052933 | Sales attribute names must follow these formatting rules: it cannot contain HTML escape characters (e.g., ), emojis, or ASCII control characters (e.g., ). It also cannot consist solely of symbols (e.g., //// or !@#$$$&), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). | | 12052934 | Sales attribute value names must follow these formatting rules: it cannot contain HTML escape characters (e.g., ), emojis, or ASCII control characters (e.g., \u007F). It also cannot consist solely of symbols (e.g., //// or !@#$$$&), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). | | 12052935 | Product attribute value names must follow these formatting rules: it cannot contain HTML escape characters (e.g., ), emojis, or ASCII control characters (e.g., \u007F). It also cannot consist solely of symbols (e.g., //// or !@#$$$&), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). | | 12052994 | seller is not toko seller | Nội dung này có hữu ích không?Hữu ích Không hữu ích PreviousNext |