来自 TikTok Shop 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 Path: /product/202309/global_products/{global_product_id}/publish
#§2 Method: [POST]
#§3 Function Description
Publish and convert a global product to local products in one or multiple shops in supported markets. After publishing, the product is sent for review by TikTok Shop in the respective markets. For sellers in the EU market, the provided information will also be automatically translated into all EU languages supported by TikTok Shop. Note:
- You can only publish in each market once. To change product information, edit the global product by using the Edit Global Product API. The changes will be automatically synchronized to all markets where the product is published
- Use the Get Product API to obtain the converted local product information in the target market's language.
- Use the Edit Product API or Partial Edit Product API to edit the local product information, if necessary.
§4 Common Parameters
For common parameters, refer to How to call TikTok Shop APIs - Common Parameters
| Properties | Location | Type | Require | Sample | Properties description |
|---|---|---|---|---|---|
| content-type | header | string | Y | application/json | Allowed type: application/json |
§5 Request Path Parameters
| Properties | Type | Require | Sample | Properties description |
|---|---|---|---|---|
| global_product_id | string | Y | 1729592969712207008 | The global product id. |
§6 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. |
§7 Request Body Parameters
| Properties | Type | Require | Sample | Properties description |
|---|---|---|---|---|
| publish_target | []object | Y | Target markets for publishing global products. | |
| ^region | string | Y | MY | The new market where you want to publish the global product.Possible values: |
- AT: Austria
- BE:Belgium
- CZ:Czech Republic
- DE: Germany
- ES: Spain
- FR: France
- GB: United Kingdom
- GR: Greece
- HU:Hungary
- ID: Indonesia
- IE: Ireland
- IT: Italy
- JP: Japan
- MY: Malaysia
- NL: Netherlands(NL)
- PH: Philippines
- PO: Poland
- PT:Portugal
- SG: Singapore
- TH: Thailand
- US: United States
- VN: Vietnam
- MX: Mexico | ^responsible_person_ids |[]string |N |["67726293bf1eb1e92401a"] |A comma-delimited list of responsible person IDs. Retrieve the IDs from the Search Responsible Persons API. Default: The IDs provided when the global product was created. Note: Applicable only for the EU market in certain categories. Use the Get Global Category Rules API to check the requirements. | ^manufacturer_ids |[]string |N |["67726293bf1eb1e92401a"] |A comma-delimited list of manufacturer IDs. Retrieve the IDs from the Search Manufacturers API. Default: The IDs provided when the global product was created. Note: Applicable only for the EU market in certain categories. Use the Get Global Category Rules API to check the requirements. | ^skus |[]object |Y | |The SKUs to be published in the specified market.
- Max SKUs for EU, JP, UK, US: 300
- Max SKUs for other regions: 100 | ^^related_global_sku_id |string |Y |1729592969712207400 |The global SKU ID to be published. After publishing, a corresponding local product SKU will be created and linked to the global SKU. | ^^price |object |N | |The SKU's local pricing information in the specified market.
Note:
- Provide this only if you want to manually override the default local prices, which are automatically calculated from the global uniform price.
- Specify either
amountorsale_price, the other will be auto-filled. If both are provided,sale_pricetakes precedence. - JP and US shops using China warehouses must provide
price.sale_price. | ^^^amount |string |N |10.01 |The SKU's local pre-tax price. This excludes any applicable charges such as cross-border shipping costs, taxes, and other fees, and therefore does not appear on the product page. Refer to Product Pricing for the allowed price ranges in each market.
Note: Not applicable for JP and US shops using China warehouses, please use price.sale_price instead. |
^^^currency |string |Y |MYR |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 |100.00 |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:
- 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. | ^^inventory |object |N | |SKU inventory information per warehouse. Required for sellers without multiple warehouses, optional for others.
*Note: If inventory details are not provided, the global SKU quantity will be evenly split among all markets, and any surplus will be added to the last published product SKU. | ^^^warehouse_id |string |N |7068517275539719942 |The warehouse ID. Retrieve this value from the Get Warehouse List API. Default:
- Sellers without multiple warehouses: The available warehouses will be used, prioritizing local warehouses in the specified market over warehouses in the seller's base country.
- Sellers with multiple warehouses: The global warehouse ID | ^^^quantity |int |N |999 |The SKU quantity available in the warehouse. Valid range: [1, 99,999]
Note: If the local SKU inventory quantity exceeds the global SKU quantity, the global SKU quantity will be updated to be the sum of all local inventories. | ^^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 |
§8 Request Sample
Query
https://open-api.tiktokglobalshop.com/product/202309/global_products/1729592969712207008/publish?app_key=123abc&sign=5361235029d141222525e303d742f9e38aea052d10896d3197ab9d6233730b8c×tamp=1625484268
Body
{"publish_target":[{"region":"MY","responsible_person_ids":["67726293bf1eb1e92401a"],"manufacturer_ids":["67726293bf1eb1e92401a"],"skus":[{"related_global_sku_id":"1729592969712207400","price":{"amount":"10.01","currency":"MYR","sale_price":"100.00"},"inventory":{"warehouse_id":"7068517275539719942","quantity":999},"fees":[{"type":"PFAND","amount":"1.01","additional_attribute":"SINGLE_USE"}]}]}]}
§9 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 | |
| ^products | []object | The local products converted from the global product. | |
| ^^region | string | MY | The new market where you want to publish the global product.Possible values: |
- AT: Austria
- BE:Belgium
- CZ:Czech Republic
- DE: Germany
- ES: Spain
- FR: France
- GB: United Kingdom
- GR: Greece
- HU:Hungary
- ID: Indonesia
- IE: Ireland
- IT: Italy
- JP: Japan
- MY: Malaysia
- NL: Netherlands(NL)
- PH: Philippines
- PO: Poland
- PT:Portugal
- SG: Singapore
- TH: Thailand
- US: United States
- VN: Vietnam
- MX: Mexico | ^^shop_id |string |7494083603082020484 |The ID of the local shop in the specified market. One market can only have one local shop. | ^^skus |[]object | |The newly created local SKUs in the specified market. | ^^^related_global_sku_id |string |1729696746528737924 |The associated global SKU ID. | ^^^id |string |1729592969712207400 |The newly generated local SKU ID. | ^^^seller_sku |string |XL-COLOR-001 |An internal code/name for managing SKUs, not visible to buyers. | ^^^sale_attributes |[]object | |A list of attributes (e.g. size, color, length) that define each variant of a product. | ^^^^id |string |100001 |The newly generated local sales attribute ID. | ^^^^value_id |string |7272008676829824800 |The newly generated local sales attribute value ID. | ^^id |string |1929592969712207410 |The newly generated local product ID. | ^publish_result |[]object | |Results of publishing the global product. | ^^region |string |MY |The new market where you want to publish the global product.Possible values:
- AT: Austria
- BE:Belgium
- CZ:Czech Republic
- DE: Germany
- ES: Spain
- FR: France
- GB: United Kingdom
- GR: Greece
- HU:Hungary
- ID: Indonesia
- IE: Ireland
- IT: Italy
- JP: Japan
- MY: Malaysia
- NL: Netherlands(NL)
- PH: Philippines
- PO: Poland
- PT:Portugal
- SG: Singapore
- TH: Thailand
- US: United States
- VN: Vietnam
- MX: Mexico | ^^status |string |SUCCESS |The status of publishing the product to the market. Possible values:
- SUCCESS: The global product was successfully published to the local shop, submitted for listing, and is now under review.
- DRAFT: The global product was saved as a draft local product due to validation errors.
- FAILED: Synchronization of the global product to the local shop was unsuccessful. | ^^fail_reasons |[]object | |The list of errors that occurred. | ^^^message |string |The publish region is inactive. |The error message. |
§10 Response Sample
{"code":0,"data":{"products":[{"region":"MY","shop_id":"7494083603082020484","skus":[{"related_global_sku_id":"1729696746528737924","id":"1729592969712207400","seller_sku":"XL-COLOR-001","sale_attributes":[{"id":"100001","value_id":"7272008676829824800"}]}],"id":"1929592969712207410"}],"publish_result":[{"region":"MY","status":"SUCCESS","fail_reasons":[{"message":"The publish region is inactive."}]}]},"message":"Success","request_id":"202203070749000101890810281E8C70B7"}
§11 Error Code
For common error codes, refer to How to call TikTok Shop APIs - Common Error Code
| Code | Message |
|---|---|
| 12019004 | Seller is inactive |
| 12019010 | product price is invalid |
| 12019016 | Unable to publish or sync products to target markets due to missing or invalid warehouse details. |
| 12019028 | Multiple warehouses detected. Include all warehouse IDs and the corresponding details and try again. |
| 12019113 | product status is invalid |
| 12019121 | calculate price error |
| 12019150 | The product ID does not exist. |
| 12019212 | region already published |
| 12052055 | The SKU inventory quantity for the warehouse must be within allowed limits. |
| 12052084 | The provided currency is not available for this shop/region. |
| 12052117 | seller publish global product over limit and save draft |
| 12052145 | activity warehouse not allowed to be deleted |
| 12052146 | The specified inventory quantity is too low. It must be greater than the locked quantity (e.g. for committed orders, campaigns, creators) to ensure a non-negative available stock. |
| 12052260 | The product ID does not exist |
| 12052379 | the cover region of share warehouse can not cover the the product region |
| 12052424 | Missing 'sale price' value |
| 12052531 | The warehouse is disabled. |
| 12052556 | The SKU id not exist. |
| 12052700 | The seller is inactive. |
| 12052701 | do not support cross-boarder seller create local product directly |
| 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. |
| 12052903 | The publish region is inactive. |
| 12052910 | Invalid input parameters. Refer to the API documentation for details. |
