Create FBT goods records and link each record to a TikTok Shop SKU. Request-level errors can be returned before per-item results are populated. When create_result_info.create_result_list contains entries, correlate them by tts_sku_id, check is_success for each returned item, read fail_reason for failures, and use tts_goods_id for successes.
The request supports dimensions and weight, return handling, hazardous-material, shelf-life, SIOC, bulky-item, and safety attributes.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Identifies the shop. Obtain it from the Get Authorized Shops API.
Request Bodyrequired
Section titled “Request Bodyrequired”object
List of goods records to create.
object
Identifier for Stock Keeping Unit (SKU) generated by TikTok Shop system
Type of create-goods operation. Current supported value: CREATE_AND_BIND.
Name of the goods. Maximum length: 255 characters.
Image URL for the goods.
Reference code for the goods. Maximum length: 50 characters.
Barcodes for the goods. For each goods record, provide at most one UPC, EAN, or GTIN in total, at most five ASIN_OR_FNSKU values, and at most five MERCHANT_SKU_ID values.
object
Type of barcode provided for the goods, such as UPC.
Barcode value. UPC must contain 8 or 12 digits; EAN must contain 8 or 13 digits; and GTIN must contain 8, 12, 13, or 14 digits. UPC, EAN, and GTIN values must have a valid checksum. ASIN_OR_FNSKU must contain 10 uppercase letters or digits and start with B or X. MERCHANT_SKU_ID must contain 1 to 32 printable ASCII characters with no whitespace.
Return handling method for the FBT customer return service. The default value will be Restock sellable, Dispose unsellable. Possible values:
- COLLECT_RETURN_UNITS
- RESTOCK_SELLABLE_COLLECT_UNSELLABLE
- RESTOCK_SELLABLE_DISPOSE_UNSELLABLE
- DISPOSAL_WITHOUT_INSPECTION
- RETURN_WITHOUT_INSPECTION
- RESTOCK_SELLABLE_RETURN_UNSELLABLE
Dimensions and weight for the goods. weight_value, length_value, width_value, and height_value must each be a numeric string greater than 0.
object
Weight of the goods in the specified weight_unit.
Length of the goods in the specified dimension_unit.
Width of the goods in the specified dimension_unit.
Height of the goods in the specified dimension_unit.
Weight unit. Possible values: MILLIGRAM (mg), GRAM (g), KILOGRAM (kg), POUND (lb), OUNCE (oz).
Dimension unit. Possible values: MILLIMETER (mm), CENTIMETER (cm), METER (m), FOOT (ft), INCH (in).
Whether is hazmat goods
Hazardous-material details. Required when is_hazmat is true. For hazmat_type BATTERY, FLAMMABLE_LIQUID, or AEROSOLS, provide battery_extra_info, flammable_liquids_extra_info, or aerosol_extra_info, respectively.
object
Hazardous goods type Possible values: -MAGNETIZED -BATTERY -FLAMMABLE_LIQUID -AEROSOLS
Battery details for goods with hazmat_type set to BATTERY. total_battery_weight must be greater than 0. When battery_packaging_type is STANDALONE, battery_count_per_package must be greater than 0. When is_need_un_38_3_test is true, provide un_38_3_test_file_url.
object
Battery type Possible values: LITHIUM_ION LITHIUM_METAL OTHER
Battery packaging type. Possible values:
- STANDALONE
- IN_EQUIPMENT
- WITH_EQUIPMENT
- OTHER
Total battery weight in the unit specified by total_battery_weight_unit.
Unit for total_battery_weight. Possible value: GRAM.
Total battery capacity in the unit specified by total_battery_capacity_unit.
Unit for total_battery_capacity, such as WATTHOUR.
UN38.3 testing ensures that batteries meet specific safety criteria. Please send the report in the field if it’s not included in the MSDS.
UN38.3 testing file URL
Per package battery count
Flammable-liquid details for goods with hazmat_type set to FLAMMABLE_LIQUID. flammable_liquids_volume must be a numeric string greater than 0.
object
Flammable-liquid type. Possible values:
- PAINT
- PERFUMERY
- ALCOHOLIC
- OTHER
Volume of flammable liquid in the unit specified by volume_unit.
Unit for flammable_liquids_volume, such as MILLILITERS.
Hazmat class Possible values: -CLASS_2 -CLASS_3 -CLASS_9
UN identifier for the hazardous substance. Standard UN values use the UN prefix followed by four digits; OTHER is also supported.
Possible values:
- UN2807
- UN3480
- UN3090
- UN3481
- UN3091
- UN1263
- UN1266
- UN3065
- OTHER
Material safety data sheet of the hazmat goods to support review the goods’ safety compliance in FBT
Aerosol info
object
Aerosol volume. Required when hazmat_type is AEROSOLS. The value must be a numeric string greater than 0.
Aeroslo volume unit
Whether lot-code management is enabled for the goods.
Whether shelf-life management is enabled for the goods. When true, shelf_life_attribute_info is required.
Shelf-life attributes for the goods. The cutoff values must be nonnegative and satisfy sales_cutoff_days < expiration_alert_days < inbound_cutoff_days. If provided, shelf_life must be less than 3650 days.
object
The goods shelf life (days)
The goods inbound cutoff days before expiration, represent the time period before the product’s expiration when the warehouse will no longer accept inbound shipments.
The goods alert days before expired, represent the period of time before platform send expiration reminder alerts to the merchant.
The goods sales cut off days before expired, represent the period of time before expiration in which the goods will no longer be available for sale.
How expired inventory is handled. Possible values:
STORE_UNITS: Move the units to defective inventory.RETURN_TO_SELLER: Return the units to the seller.DISPOSE: Dispose of the units.
A flag indicating whether the goods is under sioc
Sioc info
object
Sioc files
object
Sico attachment url
Sioc attachment type:
- PHOTO
- DOCUMENT
- DROP_TEST_VIDEO
Bulky item info
object
Whether the goods is bulky accessories
Safety attribute info
object
Where fragile
Whether the goods are liquid.
Where sharp
Example
{ "create_goods_dto_list": [ { "tts_sku_id": "723456789012345678", "create_goods_type": "CREATE_AND_BIND", "goods_name": "Wireless Charging Cable", "goods_image_url": "https://example.com/fbt/goods-image.jpg", "reference_code": "ABDK999d", "barcode_infos": [ { "barcode_type": "UPC", "barcode_value": "12345678905" } ], "return_handling_method": "RESTOCK_SELLABLE_DISPOSE_UNSELLABLE", "dimension_and_weight_base_info": { "weight_value": "500", "length_value": "2", "width_value": "2", "height_value": "3", "weight_unit": "GRAM", "dimension_unit": "CENTIMETER" }, "is_hazmat": false, "hazmat_info": { "hazmat_type": "BATTERY", "battery_extra_info": { "battery_type": "LITHIUM_ION", "battery_packaging_type": "STANDALONE", "total_battery_weight": "10", "total_battery_weight_unit": "GRAM", "total_battery_capacity": "2", "total_battery_capacity_unit": "WATTHOUR", "is_need_un_38_3_test": false, "un_38_3_test_file_url": "https://example.com/fbt/un38-3-test-report.pdf", "battery_count_per_package": "3" }, "flammable_liquids_extra_info": { "flammable_liquids_type": "PAINT", "flammable_liquids_volume": "1", "volume_unit": "MILLILITERS" }, "dg_class": "CLASS_2", "dg_uncode": "UN3480", "msds_file_url": "https://example.com/fbt/msds-report.pdf", "aerosol_extra_info": { "volume": "1", "volume_unit": "MILLILITERS" } }, "is_lot_code": false, "is_expiration_management": false, "shelf_life_attribute_info": { "shelf_life": 90, "inbound_cutoff_days": 100, "expiration_alert_days": 90, "sales_cutoff_days": 80, "handling_method_expired_goods": "DISPOSE" }, "is_sioc": false, "sioc_attribute": { "sioc_files": [ { "sioc_certification_url": "https://example.com/fbt/sioc-certification.jpg", "sioc_file_type": "PHOTO" } ] }, "bulky_item_attribute": { "is_bulky_item_accessories": false }, "goods_safety_attributes": { "is_fragile": false, "is_liquid": false, "is_sharp": false } } ]}Responses
Section titled “Responses”Success
object
Status code; 0 means success.
Success or failure message.
Request log ID.
object
Goods creation result information.
object
List of goods creation results.
object
Identifier for the SKU generated by TikTok Shop system.
Whether the goods creation succeeded.
Identifier of the FBT goods record. Returned when is_success is true.
Reason the goods record was not created. Returned when is_success is false.
Example
{ "code": 0, "data": { "create_result_info": { "create_result_list": [ { "tts_sku_id": "723456789012345678", "is_success": false, "tts_goods_id": "9988776655", "fail_reason": "Goods creation failed." } ] } }, "message": "Success", "request_id": "202203070749000101890810281E8C70B7"}