来自 TikTok Shop 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 Path: /product/202309/products/listing_check
#§2 Method: [POST]
#§3 Function Description
Identify any issues with your product properties in advance to ensure your product is ready for listing. Every product must meet TikTok Shop requirements before it can be listed. Before listing, you can submit all relevant product information to this API to check whether a listing meets these requirements. You'll receive a list of issues to resolve before listing. This process helps reduce the risk of failure when creating products. Note:
- The language used in the product content must align with the target market's language (e.g. don't use Chinese), otherwise the listing will fail or be rejected.
§4 Common Parameters
For common parameters, refer to How to call TikTok Shop APIs - Common Parameters
| Properties | Location | Type | Require | Sample | Properties description |
|---|---|---|---|---|---|
| shop_cipher | query | string | Y | GCP_XF90igAAAABh00qsWgtvOiGFNqyubMt3 | Use this property to pass shop information in requesting the API. Failure in passing the correct value when requesting the API for cross-border shops will return incorrect response. |
| Get by API Get Authorization Shop | |||||
| content-type | header | string | Y | application/json | Allowed type: application/json |
§5 Request Query Parameters
| Properties | Type | Require | Sample | Properties description |
|---|---|---|---|---|
| app_key | string | Y | 38abcd | Every single app will have a unique key. Please use the specific key assigned to your app. |
| sign | string | Y | 5361235029d141222525e303d742f9e38aea052d10896d3197ab9d6233730b8c | Signature generated by gen algorithm. When you send API requests to TTS, you must sign them so that TTS can identify the senders. |
| timestamp | int | Y | 1623812664 | Unix timestamp GMT (UTC+00:00). This timestamp is used across all API requests. Developers can use this convert to local time. |
| is_diagnosis_required | bool | N | true | (Deprecated: This field is deprecated and will be removed in a future API version. Use Diagnose and Optimize Product API instead to get listing quality related information.) |
A flag to indicate whether to return the listing quality information (US only) and optimization diagnosis results for the product. If this is set to false, the response body will exclude the listing_quality and diagnoses objects. | ||||
| Default: true |
§6 Request Body Parameters
| Properties | Type | Require | Sample | Properties description |
|---|---|---|---|---|
| description | string | Y | Please compare above detailed size with your measurement before purchase. |
- M-Size
- XL-Size
Image |The product description in HTML format. Note:
- The content must conform to the HTML syntax. All HTML tags are accepted but to optimize display on the TikTok Shop product detail page, the system will automatically convert certain tags into alternative formats, such as rendering
<table>tags as images. - Max length: 10,000 characters.
- Image guidelines: You must use TikTok Shop image URLs. Max 30
<img>tags, each under 4000px withsrc,width, andheightattributes.
Recommendations:
- If you are syncing a pre-existing description from another platform, include the full HTML source description here.
- Provide a detailed description, ideally over 300 characters.
- Include 3-5 key selling points, each under 250 characters, with supporting images.
- Use 1600x1600 px for the image dimensions. | category_id |string |Y |600001 |The ID of the category of this product. It must be a leaf category that corresponds to the category tree type specified in the
category_versionproperty. Use the Get Categories API to obtain the available categories.
Note:
- Refer to TikTok Shop Academy for information on product category restrictions.
- For the US market, if you are creating products in
INVITE_ONLYcategories, you must submit a separate application through the Qualification Center on TikTok Shop Seller Center to gain access. Otherwise, even if the product audit is passed, the product will not be listed and made available to buyers. (The product status will bePENDINGand the audit status will bePRE_APPROVED) - For the Indonesia market, to list a product on both TikTok Shop and Tokopedia, you must use only categories that are available on both platforms. | brand_id |string |N |7082427311584347905 |The ID of the brand of this product. Use the Get Brands API to get the list of available brands for a shop. Note: Unauthorized brands won't be displayed on TikTok Shop. | main_images |[]object |Y | |A list of images to display in the product image gallery.
- Max count: 9
- Arrange your image URIs in the sequence that they should appear on TikTok Shop.
- Image dimensions: [300x300 px, 4000x4000 px]
Recommendations:
- Use a minimum of 5 images.
- The first image should have a white background. Use the Optimize Images API to change the background to white. | ^uri |string |Y |tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe |The URI of the image. Obtain this URI by uploading the images through the Upload Product Image API with
use_case=MAIN_IMAGE. You can use the returned URI directly, or process it through the Optimize Images API first and use the resulting URI. | skus |[]object |Y | |A list of Stock Keeping Units (SKUs) used to identify distinct variants of the product.
Note:
- Max SKUs for BR, EU, JP, MX, UK, US: 300
- Max SKUs for other regions: 100
Recommendations: Place the most important variant at the beginning of the array. | ^sales_attributes |[]object |N | |A list of attributes (e.g. size, color, length) that define each variant of a product. Note:
- You can omit this object if there is only 1 SKU. Otherwise, this is required.
- You can only have up to 3 types of sales attributes per product.
- Each SKU must include the same number and type of sales attributes. For example, you cannot have one SKU that has only a Color attribute, while another SKU has both Color and Size attributes.
- Provide either a built-in ID or a custom name; if both are provided, the ID takes priority.
- The
id/nameandvalue_id/value_namepairs must be unique in each SKU. For example, you cannot repeat"name": "Color","value_name": "Red"in different SKUs. | ^^id |string |N |100089 |The ID of a built-in sales attribute, retrieved from Get Attributes API. | ^^name |string |N |Specification |A self-defined custom sales attribute name if the built-in attributes do not satisfy your needs. The system will auto-generate an ID after listing.
Note:
- Do not include sensitive characters.
- Max length: 20 characters | ^^value_id |string |N |1729592969712207000 |The ID of a built-in sales attribute value, retrieved from the Get Attributes API. | ^^value_name |string |N |XL |A self-defined custom sales attribute value if the built-in values do not satisfy your needs. The system will auto-generate an ID after listing.
Note:
- No duplicates allowed under the same attribute.
- Max length: 50 characters. | ^^sku_img |object |N | |The default/main image for each value (e.g. red) of the primary sales attribute (e.g. color). This appears in the product options gallery on TikTok Shop.
You can attach images to only 1 type of sales attribute, which will serve as the primary attribute for display. An image must be provided for each value of the primary attribute. For example, if a product has 2 colors and 3 sizes, you can choose to attach images for either the color sales attribute or the size sales attribute. If you choose to attach images for color, you must attach 2 images, one for each color. If you want to add more images, use supplementary_sku_images. |
^^^uri |string |Y |tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe |The URI of the image.
Obtain this URI by uploading the images through the Upload Product Image API with use_case=ATTRIBUTE_IMAGE. |
^^supplementary_sku_images |[]object |N | |A list of supplementary images for each value (e.g. red) of the primary sales attribute (e.g. color) to provide multiple views or details of the product for that attribute value. These appear in the product options gallery on TikTok Shop.
Note:
- Max number of image URIs: 8.
- Arrange your image URIs in the sequence that they should appear on TikTok Shop.
- Applicable only for the US market. | ^^^uri |string |Y |tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe |The URI of the image. Obtain this URI by uploading the images through the Upload Product Image API with
use_case=ATTRIBUTE_IMAGE. | ^seller_sku |string |N |Color-Red-XM01 |An internal code/name for managing SKUs, not visible to buyers. - Valid length: 1-50 characters
- Format: Text without spaces | ^price |object |Y | |SKU pricing information. | ^^amount |string |N |1.23 |Local sellers/Intra-EU sellers The SKU's local display price shown on the product page before any discounts. Refer to Product Pricing for the allowed price ranges in each market. | ^^currency |string |Y |USD |The currency.Possible values based on the region:
- BRL: Brazil
- CZK: Czech Republic
- EUR: France, Germany, Ireland, Italy, Spain, Netherlands, Belgium, Austria, Greece, Portugal
- GBP: United Kingdom
- HUF: Hungary
- IDR: Indonesia
- JPY: Japan
- MXN: Mexico
- MYR: Malaysia
- PHP: Philippines
- PLN: Poland
- SGD: Singapore
- THB: Thailand
- USD: United States
- VND: Vietnam | ^^sale_price |string |N |1.21 |Global sellers The SKU's local display price shown on the product page before any discounts. Refer to Product Pricing for the allowed price ranges in each market.
Note:
- Applicable only for global sellers.
- Required for JP and US shops using China warehouses, optional for others.
- This is the definitive final price shown on the product page, all other prices will be ignored. | ^^starting_bid_price |string |N |2.3 |starting bid price for auction product | ^external_sku_id |string |N |1729592969712207012 |An external identifier used in an external ecommerce platform. This is used to associate the SKU between TikTok Shop and the external ecommerce platform. Max length: 999 characters | ^identifier_code |object |N | |A regulated identifier code assigned to a product based on international standardized regulations (e.g. GTIN) to ensure the product is universally identifiable across various platforms and systems. | ^^code |string |N |10000000000000 |The identifier code.
Format:
- GTIN: 14 digits
- EAN: 8, 13, or 14 digits
- UPC: 12 digits
- ISBN: 13 digits, or 9 digits ending in capital
X - JAN: 8 or 13 digits Note: The identifier code must be unique for each SKU, with no repetition allowed. | ^^type |string |N |GTIN |The type of identifier code. Possible values:
- GTIN
- EAN
- UPC
- ISBN
- JAN | ^inventory |[]object |Y | |SKU inventory information. | ^^warehouse_id |string |Y |7068517275539719942 |The ID of the warehouse where the SKU is stored. Retrieve the list of warehouses available for your shop from the Get Warehouse List API. | ^^quantity |int |N |999 |The total SKU quantity available in the warehouse. Valid range: [1, 99,999]
Note: This quantity specifically refers to the in-stock inventory that can be shipped immediately. |
^^backorder_quantity |int |N |888 |The backorder_quantity will automatically be converted to quantity once in-stock inventory is sold out. The fulfillment of this inventory follows the handling_time specified below.
Note: Made-to-order (MTO), pre-order, and custom products cannot be backordered, and thus are incompatible with backorder_quantity. |
^^handling_time |int |N |5 |The estimated number of working days needed for a backorder to be shipped. Currently, different warehouses for the same SKU are not allowed to have different handling_time |
^combined_skus |[]object |N | |If this SKU belongs to a virtual bundle, this object contains the list of individual SKUs that form the bundle (e.g. gift basket, starter pack). |
^^product_id |string |Y |1729582718312380123 |The ID of the source product included in the virtual bundle. |
^^sku_id |string |Y |1729582718312380123 |The ID of the source SKU included in the virtual bundle. |
^^sku_count |int |Y |11 |The quantity of the source SKU included in the virtual bundle. |
^sku_unit_count |string |N |100.00 |The total quantity/volume of the product represented by the SKU.
For example, if the SKU represents 500ml of water, this value would be 500 if the unit type is defined as ml.
Valid range: [0.01, 99,999.9999]
Applicable only for the EU market.
Note:
- This is mainly used to calculate the unit price of the SKU, and is required only if you wish to display the unit price to facilitate easier price comparisons across different products and packaging sizes.
- Unit price = Selling price/(SKU unit count/base unit count). Therefore if you want to obtain the unit price, you would also need to define the "base unit count" and the "unit type" product attributes. Retrieve the relevant information for these product attributes by using the Get Attributes API. The unit price would then be returned in the Get Product API. | ^external_urls |[]string |N |["https://example.com/path1", "https://example.com/path2"] |A comma-delimited list of URLs for third-party product listing pages where consumers can place orders. Add this property if you have products listed on third-party sites other than TikTok Shop and would like to map them. Max string length: 500 | ^extra_identifier_codes |[]string |N |["00012345678905","9780596520687"] |If the SKU belongs to a virtual bundle (containing multiple individual SKUs), you can add up to 10 additional identifier codes here for the SKUs included in the bundle.
Format:
GTIN: 14 digits
EAN: 8, 13, or 14 digits
UPC: 12 digits
ISBN: 13 digits, or 9 digits ending in capital X
Note:
- Applicable only for the EU market.
- The identifier code must be unique for each SKU, with no repetition allowed. | ^pre_sale |object |N | |SKU presale information, used to tag a product as a presale product based on its presale type. Omit this object if the product is a regular item.
Applicable only if allowed_special_product_types from Get Category Rules is not empty.
Rules for the US market:
- Regular / Preorder product: Once the product goes live, you cannot change the product type.
- Made-to-order product: You can change it to a regular product at any time. | ^^type |string |N |PRE_ORDER |The type of pre-sale. Possible values based on the region: US
PRE_ORDER: The product is not yet available or released. Fulfillment can be extended by specifying a release date.MADE_TO_ORDER: The product is produced only after the order is received. Fulfillment can be extended by specifying a duration.CUSTOM: The product requires a fulfillment timeline that exceeds the standard due to other factors. Fulfillment can be extended by specifying a duration.
UK, EU, SEA, JP, and LATAM
PRE_ORDER: The product is not yet available or released. Fulfillment can be extended by specifying a duration. | ^^fulfillment_type |object |N | |Information about the type of pre-sale order fulfillment and the corresponding timeframe.handling_duration_daysis for fulfillment with an extended duration.release_dateis for starting fulfillment on a fixed date.
Note: Provide either the handling_duration_days or the release_date, depending on the value of pre_sale.type and your shop's region. |
^^^handling_duration_days |int |N |24 |The desired duration for handling a pre-sale order and handing it over to a shipping carrier.
Applicable only for the following regions and pre-sale type:
US
MADE_TO_ORDER: Business days, from 3 to 14 days.CUSTOM: Business days, from 3 to 30 days.
UK, EU, SEA, JP, and LATAM
PRE_ORDER: Calendar days, from 3 to 30 days. | ^^^release_date |int |N |1619611761 |The date on which the product gets converted into a regular product and becomes available for general purchase. On this date, order handling will also start, changing the status of the order to AWAITING_SHIPMENT.
Applicable only for PRE_ORDER in the US.
Note:
- Valid range: The date must fall within 3 - 60 days from the current date.
- This date is a unix timestamp (seconds) based on the seller-selected timezone in Seller Center.
- This date cannot be modified once the product goes live. | ^list_price |object |N | |The SKU's list price information. This is equivalent to the manufacturer's suggested retail price (MSRP), or the recommended retail price (RRP). Applicable only for US local sellers.
Note: This value may appear as the strikethrough price on the product page. However, whether the strikethrough price is shown and the amount shown are subject to the audit team's review and decision based on various pricing information. | ^^amount |string |Y |1 |The price amount. Valid range: [0.01, 7600] Note:
- The value must be equal to or greater than
skus.price.amount. Otherwise, it will be discarded. - If the value is verified to be legitimate by the audit team, it will be stored and returned in the Get Product API. | ^^currency |string |Y |USD |The currency. Possible values: USD | ^external_list_prices |[]object |N | |The SKU list price (e.g. MSRP, RRP) or original price information on external ecommerce platforms. Applicable only for selected local sellers in the US market.
Note: This value may appear as the strikethrough price on the product page. However, whether the strikethrough price is shown and the amount shown are subject to the audit team's review and decision based on various pricing information. | ^^source |string |Y |SHOPIFY_COMPARE_AT_PRICE |The external ecommerce platform from which the price is sourced. Possible values:
- SHOPIFY_COMPARE_AT_PRICE: The compare_at_price in Shopify. | ^^amount |string |Y |1 |The price amount. Valid range: [0.01, 7600] | ^^currency |string |Y |USD |The currency. Possible values: USD | ^fees |[]object |N | |The fees required for this product based on TikTok Shop policies. Fees are required only for certain product categories, retrieve the requirements from the Get Category Rules API. | ^^type |string |N |PFAND |The type of fee. Possible values: PFAND | ^^amount |string |N |1.01 |The fee amount. Valid range:
- PFAND: [0.00 - 6300.00] | ^^additional_attribute |string |N |SINGLE_USE |An optional attribute that provides additional context for the fee. The accepted values may vary by fee type and market.
Possible values for Pfand:
- SINGLE_USE
- REUSABLE
- NOT_APPLICABLE | ^sku_dimensions |object |N | |The dimensions of the sku.
Note:
- Provide the dimensions measured after packing the product.
- These values impact the shipping cost, so it is important to ensure that dimensions are accurate. Any discrepancies in measurements may lead to additional shipping fees.
- Optional for ID, TH, VN regions. | ^^length |string |Y |10 |The package length. A positive whole number. Note: For the BR market, decimal values using . or , as separators are also accepted but will be rounded to the nearest whole number. | ^^width |string |Y |10 |The package width. A positive whole number. Note: For the BR market, decimal values using . or , as separators are also accepted but will be rounded to the nearest whole number. | ^^height |string |Y |10 |The package height. A positive whole number. Note: For the BR market, decimal values using . or , as separators are also accepted but will be rounded to the nearest whole number. | ^^unit |string |Y |CENTIMETER |The unit for the package dimensions. Possible values based on region:
- US: CENTIMETER, INCH
- Other regions: CENTIMETER
Note: You must use the same system of measurement (metric system or imperial system) for package_weight and package_dimensions. In other words, if you are using KILOGRAM for the weight, you must use CENTIMETER for the dimensions. | ^sku_weight |object |N | |The weight of the sku Note:
- All the products package weight is mandatory by default, except for products under Virtual Products categories.
- Provide the weight measured after packing the product.
- This value impacts the shipping cost, so it is important to ensure that dimensions are accurate. Any discrepancies in measurements may lead to additional shipping fees.
- The package weight will take precedence over package dimensions in fee calculation if the fee based on weight is higher. | ^^value |string |Y |1.32 |The package weight, which must be a positive number. The number format varies based on the unit:
- GRAM: integer
- KILOGRAM: up to 3 decimal places
- POUND: up to 2 decimal places | ^^unit |string |Y |KILOGRAM |The unit for the package weight. Possible values based on region:
- US: KILOGRAM, POUND
- BR, JP, MX: KILOGRAM, GRAM
- Other countries: KILOGRAM
Note: You must use the same system of measurement (metric system or imperial system) for package_weight and package_dimensions. In other words, if you are using KILOGRAM for the weight, you must use CENTIMETER for the dimensions. | title |string |Y |Men's Fashion Sports Low Cut Cotton Breathable Ankle Short Boat Invisible Socks |The product title. Title length:
- DE, ES, FR, IE, IT, JP, UK, US: [1, 255]
- BR, MX: [1, 300]
- Other regions: [25, 255] | is_cod_allowed |bool |N |false |A flag indicating whether to show the Cash On Delivery (COD) payment option during checkout. Use the Get Category Rules API to check if COD is supported for your product category.
Applicable only for the following markets:
- Global sellers: MY, PH, SA, TH, VN
- Local sellers: ID, MY, PH, SA, TH, VN
Note: If COD is not supported, the listing will fail if you set this to true. |
certifications |[]object |N | |The list of certifications for your product.
Max count: 10
As per TikTok Shop guidelines, certifications are required for certain restricted product categories. Retrieve the certification requirements for your product from the Get Category Rules API. Refer to TikTok Shop Restricted Products Policy for information on product category restrictions. |
^id |string |Y |7182427311584347905 |The ID to identify the type of certification required for the product category.
Retrieve this value from the Get Category Rules API. |
^images |[]object |N | |A list of certification related images. |
^^uri |string |Y |tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe
|The URI of the image.
Obtain this URI by uploading the images through the Upload Product Image API with use_case=CERTIFICATION_IMAGE. |
^files |[]object |N | |A list of certification related files. |
^^id |string |Y |v09ea0g40000cj91373c77u3mid3g1s0 |The ID of the certification file.
Use the Upload Product File API to upload the files first and obtain the corresponding file ID. |
^^name |string |Y |SNI.PDF |The name of the certification file, including the file extension. |
^^format |string |Y |PDF |The format of the certification file. Only PDF is supported. |
^expiration_date |int |N |1741234626 |The expiration date of this certification expressed in unix timestamp (seconds) UTC+0.
This field may be required for certain certifications. Use the Get Category Rules API to find out the requirements. |
package_weight |object |N | |The weight of the product package.
Note:
- All the products package weight is mandatory by default, except for products under Virtual Products categories. Get Categories API e.g Digital Games.
- Provide the weight measured after packing the product.
- This value impacts the shipping cost, so it is important to ensure that dimensions are accurate. Any discrepancies in measurements may lead to additional shipping fees.
- The package weight will take precedence over package dimensions in fee calculation if the fee based on weight is higher. | ^value |string |Y |1.32 |The package weight, which must be a positive number. The number format varies based on the
unit: GRAM: integerKILOGRAM: up to 3 decimal placesPOUND: up to 2 decimal places | ^unit |string |Y |KILOGRAM |The unit for the package weight. Possible values based on region:- US:
KILOGRAM,POUND - BR, JP, MX:
KILOGRAM,GRAM - Other countries:
KILOGRAM
Note: You must use the same system of measurement (metric system or imperial system) for package_weight and package_dimensions. In other words, if you are using KILOGRAM for the weight, you must use CENTIMETER for the dimensions. |
product_attributes |[]object |N | |A list of general attributes (e.g. manufacturer, country of origin, materials used) that describe the product as a whole, regardless of variant.
Important: The attributes available for use are determined by the system based on the product's assigned category, with some being mandatory. You must provide the product attributes marked as is_required in the response of the Get Attributes API to avoid listing failure. |
^id |string |Y |100392 |The ID of the product attribute, retrieved from the Get Attributes API. |
^values |[]object |Y | |A list of selectable values for the product attribute.
Note: Provide either a built-in ID or a custom name; if both are provided, the ID takes priority. |
^^id |string |N |1001533 |The ID of a built-in product attribute value, retrieved from the Get Attributes API. |
^^name |string |N |Birthday |A self-defined custom product attribute value if the built-in values do not satisfy your needs. The system will auto-generate an ID after listing.
Note:
- No duplicates allowed under the same attribute.
- Max length: 2000 characters | size_chart |object |N | |The measurement details of the product to help buyers find the right size.
Note:
- For certain product categories, size charts may be required or not supported. Use the Get Category Rules API to check the requirements.
- If size charts are not supported, even if you provide a size chart here, the size chart will not be saved.
- Provide either a TikTok Shop size chart template ID or a size chart image; if both are provided, the ID takes priority. | ^image |object |N | |An image of the size chart.
Recommendations:
- Resolution: Minimum 1024px on the shorter side
- Content: Include key measurement dimensions (e.g., bust, waist, hips, inseam), the more the better.
- Format: Use a table with distinct columns and row.
- Use only one table per product and image.
- Display each dimension in a separate row.
- Display units in column headers. | ^^uri |string |Y |tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe |The URI of the size chart image. Obtain this URI by uploading the images through the Upload Product Image API with
use_case=SIZE_CHART_IMAGE. | ^template |object |N | |A TikTok Shop size chart template generated by the size chart tool in Seller Center > Manage Products > Bulk action > Batch manage size charts. | ^^id |string |Y |7267563252536723205 |The size chart template ID. | package_dimensions |object |N | |The dimensions of the product package.
Note:
- Provide the dimensions measured after packing the product.
- These values impact the shipping cost, so it is important to ensure that dimensions are accurate. Any discrepancies in measurements may lead to additional shipping fees.
- Optional for ID, TH, VN regions. | ^length |string |Y |10 |The package length. A positive whole number. Note: For the BR market, decimal values using
.or,as separators are also accepted but will be rounded to the nearest whole number. | ^width |string |Y |10 |The package width. A positive whole number. Note: For the BR market, decimal values using.or,as separators are also accepted but will be rounded to the nearest whole number. | ^height |string |Y |10 |The package height. A positive whole number. Note: For the BR market, decimal values using.or,as separators are also accepted but will be rounded to the nearest whole number. | ^unit |string |Y |CENTIMETER |The unit for the package dimensions. Possible values based on region: - US: CENTIMETER, INCH
- Other regions: CENTIMETER
Note: You must use the same system of measurement (metric system or imperial system) for package_weight and package_dimensions. In other words, if you are using KILOGRAM for the weight, you must use CENTIMETER for the dimensions. |
external_product_id |string |N |172959296971220002 |An external identifier used in an external ecommerce platform. This is used to associate the product between TikTok Shop and the external ecommerce platform.
Max length: 999 characters |
delivery_option_ids |[]string |N |["1729592969712203232"] |This field is returned for seller accounts in the following regions only:
- ID
- MX
- MY
- PH
- SG
- TH
- VN
For all other regions, this field is NOT used and will NOT be processed if passed for create, edit, or partial edit operations.
The custom delivery option IDs to apply to this product if you want to override the default warehouse delivery options. To retrieve the available option IDs, call Get Warehouse Delivery Options with scope=PRODUCT.
Note: Leave this field blank to inherit the default delivery options configured for the warehouse. |
video |object |N | |A product introduction or promotion video to display for your product.
Recommendations:
- Aspect ratio: 1:1
- Resolution: HD 720p or higher
- Duration: 20 - 60 seconds | ^id |string |Y |v09e40f40000cfu0ovhc77ub7fl97k4w |The ID of the product video. Use the Upload Product File API to upload the video first and obtain the corresponding file ID. | primary_combined_product_id |string |N |1729582718312380123 |If this product is associated with a virtual bundle, this value is the ID of the primary product in the bundle.
Note: Required only for virtual bundle products. | manufacturer_ids |[]string |N |["172959296971220002"] |A comma-delimited list of manufacturer IDs. Retrieve the IDs from the Search Manufacturers API. Note: Applicable only for the EU market in certain categories. Use the Get Category Rules API to check the requirements. | responsible_person_ids |[]string |N |["172959296971220003"] |A comma-delimited list of responsible person IDs. Retrieve the IDs from the Search Responsible Persons API. Note: Applicable only for the EU market in certain categories. Use the Get Category Rules API to check the requirements. | listing_platforms |[]string |N |["TIKTOK_SHOP"] |The platforms for listing the product. Possible values:
- TOKOPEDIA
- TIKTOK_SHOP Default: TIKTOK_SHOP
Applicable only for sellers that migrated from Tokopedia. | shipping_insurance_requirement |string |N |NOT_SUPPORTED |The shipping insurance purchase requirement imposed on buyers for the product. Possible values:
- REQUIRED: Shipping insurance is mandatory and buyers can't opt out.
- OPTIONAL: Buyers can choose to purchase shipping insurance through the platform.
- NOT_SUPPORTED: Shipping insurance is not supported for the product. Default: OPTIONAL
Applicable only if the listing platforms include TOKOPEDIA. |
is_pre_owned |bool |N |false |A flag to indicate if the product is pre-owned.
Applicable only if TOKOPEDIA is the sole listing platform.
Note: To list pre-owned products on the TikTok Shop platform, please specify the ID of one of the designated pre-owned product categories (e.g. pre-owned luxury bags, luggage, and accessories) in category_id. |
minimum_order_quantity |int |N |4 |The minimum order quantity for the product.
Valid range: [1, 20]
Applicable only for the Indonesia market and selected sellers in other SEA markets. Contact your account manager for more information about gaining access to this field. |
shipping_template_id |string |N |7552764259994699538 |Identifier of the shipping template that will be bound to the product |
option |object |N | |option |
^need_trigger_gne_async_check |bool |N |false |Asynchronous Product Information Verification: If you need to obtain the product information verification result asynchronously, select this field |
^gne_async_check_session_id |string |N |20260122085233268 |Asynchronous Verification ID: When "Asynchronous Acquisition of Product Information Verification Result = Yes", the asynchronous verification ID needs to be provided, and the verification result of abnormal product information will be obtained based on this ID subsequently |
scheduled_sale |object |N | |Scheduled listing configuration for the product, including whether scheduled listing is enabled and the scheduled listing time. |
^is_enabled_scheduled_sale |bool |Y |false |Whether scheduled listing is enabled for this product. If true, scheduled_sale_time must be provided. |
^schedule_sale_time |int |Y |1768899145000 |Scheduled listing time, expressed as a Unix timestamp in milliseconds; must be later than the current time and within 90 days, and is required when is_enabled_scheduled_sale is true. |
search_terms |[]string |N |["sneakers","running shoes","athletic"] |Search terms (ST words). ST words will not be displayed to consumers; they are only used in search engines to increase your search weight and gain more traffic. Please ensure that ST words are consistent with the product description, with a maximum of 15 terms and a total of no more than 250 characters. |
key_product_features |[]string |N |["Breathable mesh upper", "Cushioned foam midsole"] |Key Product Features. They will be displayed in the Product highlight module on the product detail page and will be used by search engines to increase your search weight for more traffic. The total number of items should not exceed 5, and the total character count should not exceed 1500. |
product_tag_operations |[]object |N | |product tag to identity special type product
eg. "AUCTION" |
^product_tag |string |Y |AUCTION |Possible values: AUCTION |
^enable |bool |Y |true |ture,false |
locale |string |N |en-US |The BCP-47 locale codes for displaying category information.
Default: The default locale of your shop.
Possible values:
- cs-CZ
- de-AT
- de-BE
- de-DE
- el-GR
- en-GB
- en-IE
- en-US
- es-ES
- es-MX
- fr-FR
- fr-BE
- hu-HU
- id-ID
- it-IT
- ja-JP
- ms-MY
- nl-NL
- nl-BE
- pl-PL
- pt-BR
- pt-PT
- th-TH
- vi-VN
- zh-CN | selling_format |string |N |FIXED_PRICE, FIXED_PRICE_AND_LIVE_AUCTION |Choose either Fixed price or Fixed price and LIVE auction. Fixed price is selected by default. LIVE auction require a starting bid price. Possible values: FIXED_PRICE, FIXED_PRICE_AND_LIVE_AUCTION. |
§7 Request Sample
Query
https://open-api.tiktokglobalshop.com/product/202309/products/listing_check?app_key=123abc&sign=5361235029d141222525e303d742f9e38aea052d10896d3197ab9d6233730b8c×tamp=1625484268&shop_cipher=ROW_RHkDDABBAAB8tKAVoAqsMTjsQZFLyNfY&is_diagnosis_required=true
Body
{"description":"\u003cp\u003ePlease compare above detailed size with your measurement before purchase.\u003c/p\u003e\n\u003cul\u003e \n \u003cli\u003eM-Size\u003c/li\u003e\n \u003cli\u003eXL-Size\u003c/li\u003e\n\u003c/ul\u003e \n\u003cimg src=\"https://p16-oec-va.ibyteimg.com/tos-maliva-i-o3syd03w52-us/181595ea7d26489284b5667488d708c1~tplv-o3syd03w52-origin-jpeg.jpeg?from=1432613627\" /\u003e\n","category_id":"600001","brand_id":"7082427311584347905","main_images":[{"uri":"tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe"}],"skus":[{"sales_attributes":[{"id":"100089","name":"Specification","value_id":"1729592969712207000","value_name":"XL","sku_img":{"uri":"tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe"},"supplementary_sku_images":[{"uri":"tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe"}]}],"seller_sku":"Color-Red-XM01","price":{"amount":"1.23","currency":"USD","sale_price":"1.21","starting_bid_price":"2.3"},"external_sku_id":"1729592969712207012","identifier_code":{"code":"10000000000000","type":"GTIN"},"inventory":[{"warehouse_id":"7068517275539719942","quantity":999,"backorder_quantity":888,"handling_time":5}],"combined_skus":[{"product_id":"1729582718312380123","sku_id":"1729582718312380123","sku_count":11}],"sku_unit_count":"100.00","external_urls":["https://example.com/path1","https://example.com/path2"],"extra_identifier_codes":["00012345678905","9780596520687"],"pre_sale":{"type":"PRE_ORDER","fulfillment_type":{"handling_duration_days":24,"release_date":1619611761}},"list_price":{"amount":"1","currency":"USD"},"external_list_prices":[{"source":"SHOPIFY_COMPARE_AT_PRICE","amount":"1","currency":"USD"}],"fees":[{"type":"PFAND","amount":"1.01","additional_attribute":"SINGLE_USE"}],"sku_dimensions":{"length":"10","width":"10","height":"10","unit":"CENTIMETER"},"sku_weight":{"value":"1.32","unit":"KILOGRAM"}}],"title":"Men's Fashion Sports Low Cut Cotton Breathable Ankle Short Boat Invisible Socks","is_cod_allowed":false,"certifications":[{"id":"7182427311584347905","images":[{"uri":"tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe\n"}],"files":[{"id":"v09ea0g40000cj91373c77u3mid3g1s0","name":"SNI.PDF","format":"PDF"}],"expiration_date":1741234626}],"package_weight":{"value":"1.32","unit":"KILOGRAM"},"product_attributes":[{"id":"100392","values":[{"id":"1001533","name":"Birthday"}]}],"size_chart":{"image":{"uri":"tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe"},"template":{"id":"7267563252536723205"}},"package_dimensions":{"length":"10","width":"10","height":"10","unit":"CENTIMETER"},"external_product_id":"172959296971220002","delivery_option_ids":["1729592969712203232"],"video":{"id":"v09e40f40000cfu0ovhc77ub7fl97k4w"},"primary_combined_product_id":"1729582718312380123","manufacturer_ids":["172959296971220002"],"responsible_person_ids":["172959296971220003"],"listing_platforms":["TIKTOK_SHOP"],"shipping_insurance_requirement":"NOT_SUPPORTED","is_pre_owned":false,"minimum_order_quantity":4,"shipping_template_id":"7552764259994699538","option":{"need_trigger_gne_async_check":false,"gne_async_check_session_id":"20260122085233268"},"scheduled_sale":{"is_enabled_scheduled_sale":false,"schedule_sale_time":1768899145000},"search_terms":["sneakers","running shoes","athletic"],"key_product_features":["Breathable mesh upper","Cushioned foam midsole"],"product_tag_operations":[{"product_tag":"AUCTION","enable":true}],"locale":"en-US","selling_format":"FIXED_PRICE, FIXED_PRICE_AND_LIVE_AUCTION"}
§8 Response Parameters
| Properties | Type | Sample | Properties description |
|---|---|---|---|
| code | int | 0 | The success or failure status code returned in API response. |
| message | string | Success | The success or failure messages returned in API response. Reasons of failure will be described in the message. |
| request_id | string | 202203070749000101890810281E8C70B7 | Request log |
| data | object | Specific return information | |
| ^check_result | string | FAILED | The result of the product diagnosis (PASS, FAILED). |
| ^fail_reasons | []object | A list of failure reasons if check_result is FAILED. | |
| ^^code | int | 12052700 | A machine-readable code that represents the failure reason. This is equivalent to the error codes shown when creating a product. For the full list of codes, refer to Create Product > Error Code. |
| ^^message | string | Product title invalid | A detailed reason for the failure. |
| ^warnings | object | Warning information that the API caller needs to pay special attention to. | |
| ^^message | string | Your product will not be sent for review. | A warning message for any critical problems/blockers. Please respond in a timely manner. |
| ^listing_quality | object | (Deprecated: This field is deprecated and will be removed in a future API version. Use the Diagnose and Optimize Product API instead to get listing quality related information.) | |
| Product listing quality information. | |||
| ^^current_tier | string | POOR | The current quality tier of this product listing. The quality tier of a product listing depends on the quality of the content in its product fields such as the title, image, attributes etc. |
Possible values:
- POOR
- FAIR
- GOOD
Note: Available only for the US market. |
^^remaining_recommendations |int |3 |The remaining number of recommendations (see diagnosis_results) that must be implemented for the product to reach the highest tier.
Note:
- To reach the highest tier, you must implement all recommendations listed in
diagnosis_results. - Available only for the US market. | ^diagnoses |[]object | |(Deprecated: This field is deprecated and will be removed in a future API version. Use Diagnose and Optimize Product API instead to get product diagnosis related information.) Product optimization diagnosis information. | ^^field |string |TITLE |The product field being diagnosed. Possible values:
- TITLE: Product title
- DESCRIPTION: Product description
- IMAGE: Product image displayed in the image gallery
- ATTRIBUTE: Product attribute
- SIZE_CHART: Product size chart | ^^diagnosis_results |[]object | |The diagnosis results. | ^^^code |string |TITLE_LESS_THAN_40_CHARACTERS |A machine-readable code that represents an identified issue. Refer to Listing quality diagnosis for the full list of identified issues and the corresponding recommendations. | ^^^how_to_solve |string |Names must be at least 40 characters long and contain product-identifying information, such as "hiking boots" or "lipstick". |The recommendation for resolving the identified issue, returned in the default locale language of the shop. Refer to Listing quality diagnosis for the full list of recommendations. | ^^^quality_tier |string |POOR |The listing quality tier you can reach by implementing the recommendation. Possible values:
- FAIR
- GOOD
Note:
- To reach a higher tier, you must implement all recommendations from the destination tier and all preceding tiers. For example, a product will reach the "GOOD" tier once all "FAIR" and "GOOD" recommendations are addressed or implemented.
- Available only for the US market. | ^^suggestions |object | |Improvement suggestions. | ^^^seo_words |[]object | |The SEO keyword suggestions if
diagnoses.fieldis "TITLE". | ^^^^text |string |dress |The suggested SEO keyword text. | ^^^smart_texts |[]object | |The intelligent text suggestions for titles and descriptions. | ^^^^text |string |this is a good title |The suggested intelligent text. | ^^^images |[]object | |The optimized main image. Only the first image in the main image set will be optimized. | ^^^^uri |string |tos-maliva-i-o3syd03w52-us/53b55d6e8cdf1f315affa7e70b45707d |The original URI of the image. | ^^^^url |string |https://p16-graph-va.ibyteimg.com/tos-maliva-i-1por3rr4fy-us/v2/53b55d6e8cdf1f315affa7e70b45707d~tplv-1por3rr4fy-image.webp |The original URL of the image. | ^^^^optimized_uri |string |tos-maliva-i-o3syd03w52-us/0266127022264e54ad2f639f5e0fb5e6 |The URI of the image after optimization. | ^^^^optimized_url |string |https://p16-graph-va.ibyteimg.com/tos-maliva-i-1por3rr4fy-us/v2/0266127022264e54ad2f639f5e0fb5e6~tplv-1por3rr4fy-image.webp |The URL of the image after optimization. | ^^^^height |int |600 |The image height after optimization. | ^^^^width |int |600 |The image width after optimization. | ^pre_check_results |[]object | |Product Information Verification Result. | ^^pre_check_item |string |INCOMPLETE_INFO |Product information verification type: The types of issues returned by product information verification. | ^^pre_check_details |[]object | |Information Verification Details. | ^^^short_reason |string |Insufficient or Incomplete Product Information |Reason for streamlining: Simple problem description of product verification results | ^^^long_reason |string |Ensure product title and description contain complete information that accurately describes the product |Detailed reason: Detailed problem description of product verification results | ^^^related_fields |[]string |["PRE_CHECK_FIELD_TITLE"] |Problem Module: From which module does the problem originate, e.g., PRE_CHECK_FIELD_TITLE, PRE_CHECK_FIELD_IMAGES |
§9 Response Sample
{"code":0,"data":{"check_result":"FAILED","fail_reasons":[{"code":12052700,"message":"Product title invalid"}],"warnings":{"message":"Your product will not be sent for review. "},"listing_quality":{"current_tier":"POOR","remaining_recommendations":3},"diagnoses":[{"field":"TITLE","diagnosis_results":[{"code":"TITLE_LESS_THAN_40_CHARACTERS","how_to_solve":"Names must be at least 40 characters long and contain product-identifying information, such as \"hiking boots\" or \"lipstick\".","quality_tier":"POOR"}],"suggestions":{"seo_words":[{"text":"dress"}],"smart_texts":[{"text":"this is a good title"}],"images":[{"uri":"tos-maliva-i-o3syd03w52-us/53b55d6e8cdf1f315affa7e70b45707d","url":"https://p16-graph-va.ibyteimg.com/tos-maliva-i-1por3rr4fy-us/v2/53b55d6e8cdf1f315affa7e70b45707d~tplv-1por3rr4fy-image.webp","optimized_uri":"tos-maliva-i-o3syd03w52-us/0266127022264e54ad2f639f5e0fb5e6","optimized_url":"https://p16-graph-va.ibyteimg.com/tos-maliva-i-1por3rr4fy-us/v2/0266127022264e54ad2f639f5e0fb5e6~tplv-1por3rr4fy-image.webp","height":600,"width":600}]}}],"pre_check_results":[{"pre_check_item":"INCOMPLETE_INFO","pre_check_details":[{"short_reason":"Insufficient or Incomplete Product Information","long_reason":"Ensure product title and description contain complete information that accurately describes the product","related_fields":["PRE_CHECK_FIELD_TITLE"]}]}]},"message":"Success","request_id":"202203070749000101890810281E8C70B7"}
§10 Error Code
For common error codes, refer to How to call TikTok Shop APIs - Common Error Code
| Code | Message |
|---|---|
| 12001000 | product api internal error |
| 12019006 | product description is invalid |
| 12019011 | product package weight is invalid |
| 12019095 | pre_sale.fulfillment_type is missing or empty. |
| 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. |
| 12019099 | The specified pre_sale.type is not supported in your region. Refer to the API documentation for details. |
| 12019121 | calculate price error |
| 12052003 | Incorrect parcel height format |
| 12052004 | Incorrect parcel width format |
| 12052005 | Incorrect parcel length format |
| 12052023 | Category does not exist |
| 12052024 | Category is not final category |
| 12052084 | The provided currency is not available for this shop/region. |
| 12052220 | This category is prohibited or unsupported on TikTok Shop. Select another category. |
| 12052223 | This category is restricted. To sell in this category, apply through the Qualification Center in Seller Center. |
| 12052226 | This category is restricted. To sell in this category, apply through the Qualification Center in Seller Center. |
| 12052300 | product main image uri illegal |
| 12052356 | The number of 'supplementary_sku_images' for the sales attribute value exceeds the maximum limit. |
| 12052357 | 'supplementary_sku_images' is only allowed when 'sku_img' is specified. Add an image to 'sku_img' and try again. |
| 12052446 | Category is not open in this market |
| 12052520 | product sale property image uri illegal |
| 12052650 | product qualification image uri illegal |
| 12052670 | The size chart image URI is invalid. Note: API users must use the URI generated by the Upload Product Image API. |
| 12052700 | The seller is inactive. |
| 12052722 | The image URI does not exist in TikTok Shop. |
| 12052881 | identity internal error |
| 36009003 | Internal error. Please try again. If the issue persists after multiple attempts, please contact platform support. |
| 12052910 | Invalid input parameters. Refer to the API documentation for details. |
| 12052915 | package weight unit and dimension unit miss match. |
| 12052916 | The package unit is not supported in the current region. |
| 12052931 | The title 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 !@#$amp;), 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 !@#$amp;), 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., \u007F). It also cannot consist solely of symbols (e.g., //// or !@#$amp;), 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 !@#$amp;), 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 !@#$amp;), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). |
