Skip to main content

Upgrading to API version 202309

This guide is used for existing developers to learn about changes in and upgrade to version 202309 (v202309). Before reading the guide, we assume you have learned and developed apps with TikTok Shop Open APIs.

Benefits of v202309

TikTok Shop Open API 202309 release (v202309) includes all functionality previously from API versions pre-Sept 2023, along with the following improvements:

  • New APIs - in response to developers' and sellers' business requirement
  • Technical specifications have been updated to more closely adhere to RESTful design principles
  • New documentation - All APIs will include clear documentation and continuously maintained

New documentation

We have released new documentation for the v202309 API:

  • The API reference provides complete, up-to-date details on all v202309 resources and endpoints.
  • The Developer Guide and Partner Guide have been redesigned and revised to be more usable, comprehensive, and understandable. They cover essential API usage tutorials, integration solutions, and the app creation/publishing process.

Retiring the legacy API versions

Legacy API versions (pre-Sept 2023) will no longer be supported or maintained from June 30, 2024 and will be retired on December 31, 2024.

New apps should use v202309 exclusively and not legacy versions.

After December 31, 2024, all requests to legacy API versions will fail.

Summary of changes

New features and enhancement

Products

API nameChanges
Create Product* New HTML tags are available in the product description: <strong>, <b>, <em>, <i>, <br>, <u>
  • These new tags are available in product descriptions in all the versions of Create Product endpoint. | | Partial Edit Product | * New API endpoint for partially editing product product resources instead of requiring full product objects. | | Get Brand | * New property brand_status adding to brand_list component, used to indicate whether the seller can use this brand to list products in the selected category. | | Get Categories, Get Attributes, Get Global Categories | * New locale adding to the request parameter. Product category or attribute information will be returned in the corresponding language based on the specified locale. | | Get Product List | * Request parameter seller_skus supports the input of multiple seller SKUs, as a filtering condition used for product search. This parameter allows you to search for all products that contain these Seller SKUs. | | Get Product Detail | * New property suggestions adding to qc_reasons component. When the product status is failed, suggestions property will contain the specific reason for auditing failure. | | Product Audit Update | * More types of messages sent from this webhook. For example, product deletion and product deactivation.
  • The name of the webhook changing to "Product Status Update" |

Orders

API nameChanges
Get Order List* Properties of order detail are returned from the API.
* The data of sample orders is returned from the API. New property is_sample_order adding to the response, indicating whether the order is an sample order.
Get Order Detail* The district_info_list property is nested in the recipient_address component.
* The data of sample orders is returned from the API. New property is_sample_order adding to the response, indicating whether the order is an sample order. Sample orders can be retrieved and indicated from all versions of the Get Order Detail API.
* For local sellers in the US and UK markets, the package_id and package_status property will not be returned before the package is shipped

Fulfillment

API nameChanges
Mark Package as Shipped* A new endpoint for sellers who fulfill orders through their own selected/preferred logistics carrier. This API allows sellers to upload valid package information, orders/order line items, to TikTok Shop.
  • This new endpoint supports item level split shipping | | Get Eligible Shipping Service | * For the "shipped via platform" shipping option, use order_id and order_line_item_idto query the list of available shipping services. | | Create Packages | * For the "shipped via platform" shipping option, use order_id and order_line_item_idto purchase labels and ship orders.
  • Newly supports item level split shipping with this endpoint. |

Return, refund, cancellation

Since after-sale solutions and policies around returns, refunds, and cancellations differ across markets, the availability of certain API features also varies by market. Developers should understand the specific solutions and policies in their target market before using the corresponding APIs.

Learn more about how to use the above APIs from Cancel/Return/Refund API Overview

API nameChanges
Search CancellationNew API endpoint to retrieve one or more order cancellations.
Cancel OrderNew API endpoint to cancel an order on behalf of a seller.
Currently, this new endpoint supports item level cancellation for local and cross-border sellers in the US market.
Approve CancellationNew API endpoint to approve a buyer's order cancellation request.
Reject CancellationNew API endpoint to reject a buyer's order cancellation request.
Search ReturnsNew API endpoint to retrieve one or more returns.
Create ReturnNew API endpoint to initiate a return request on behalf of the buyer.
Approve ReturnNew API endpoint to approve a buyer's return request.
Reject ReturnNew API endpoint to reject a buyer's return or refund request.
Get Return RecordsNew API endpoint to query a list of processing steps of order return or cancellation records.
Calculate RefundNew API endpoint to check order refundable amounts.
Get Aftersale EligibilityNew API endpoint to check the eligible after-sales solution for an order. Such as whether the seller can initiate refund, return or cancel a specific order.
Get Reject ReasonsNew API endpoint to get eligible cancel or return order reject reason. The seller is required to give reason, when the seller rejects the cancel, refund and return request.
Cancellation Status Change WebhookNew webhook type to obtain the order cancellation status.
Return Status Change WebhookNew webhook type to obtain the order return/refund status.

Finance

API nameChanges
Get Order Statement TransactionsNew API endpoint to retrieve a list of transactions associated with an order specified by the order ID. It also returns the SKU level transaction details.
Get StatementsNew API endpoint to get the list of statements records of the specified date range, which is settled on a daily basis. You can filter the statements based on payment status.
Get Statement TransactionsNew API endpoint to get a list of transactions based on statement_id. We will return a list of orders. If you require the SKU level transaction details, pass in the order_id to Get Order Statement Transactions.
Get PaymentsNew API endpoint to get the list of payments based on date range, including the current payment status. Use this list to reconcile payments with the Seller's bank account.
Get WithdrawalsNew API endpoint to get the list of the withdrawal records (when Seller's withdraw money from TikTokShop) based on the specified date range.

Making requests

To make requests to the 202309 API endpoints, use URIs with the new structure. Specify the version name (e.g. 202309) in the path instead of as a query parameter. The new version also introduces the resource identifier as a path parameter.

For example, https://open-api.tiktokglobalshop.com/fulfillment/202309/orders/576619223164029995/packages

The URI for each version 202309 endpoint is specified in the API reference. Check the API reference for the exact endpoint URIs.

Enumerate data types

We've improved the general concept of statuses to be more descriptive. Previously, order statuses were mapped to codes, which required developer interpretation. We have removed these int based codes, and developed string based ENUM statuses, such as "UNPAID" and "AWAITING_SHIPMENT" to simplify the development process.

For example:

  • v202305 of Get Order Detail API, order_status property values are in the int type: 100 mean UNPAID, 111 means AWAITING_SHIPMENT
  • v202309 of Get Order Detail API, order_status property values are in the string type. UNPAID and AWAITING_SHIPMENT are returned from API.

Pagination

For standardized expression and performance assurance, we have introduced token-based pagination into our API design. The v202309 API only supports pagination using the page_size and page_token parameters. The offset parameter is no longer supported.

Authorization

We have deprecated access_token usage in the query and now require it to be passed in the HTTP header x-tts-access-token for security improvement.

Signature

The v202309 of the API expands signature protection beyond just path and query parameters. Signatures will now also cover request bodies for POST APIs. To generate the signature for the v202309 APIs, developers need to use the new method.

Content type

The v202309 APIs now only support application/json for non-binary requests. Binary requests should use multipart/form-data to ensure efficiency and standards compliance.

Improved documentation

The API reference pages now include fully populated Errorcode sections at the bottom with the latest error codes and corresponding error description for each endpoint.

Mapping APIs from legacy to v202309

With the new request URI structure and API naming changes in v202309, many legacy API endpoints have been replaced or retired in v202309.

Use the tables below to understand how legacy APIs map to the new v202309 endpoints:

Seller (Legacy API known as Seller or Shop)

Legacy APIsAPI v202309
Get Authorized ShopGet Authorized Shops
Get Active Shop ListGet Active Shops
Check Global Product ModeGet Seller Permissions

Event (Legacy API known as Shop)

Legacy APIsAPI v202309
Create WebhookUpdate Shop Webhook
Get WebhooksGet Shop Webhooks
Cancel WebhookDelete Shop Webhook

Product

Legacy APIsAPI v202309
Get BrandsGet Brands
Create BrandCreate CustomBrands
Get AttributesGet Attributes
Get Category RuleGet Category Rules
Get CategoriesGet Categories
Upload FileUpload Product File
Category RecommendedRecommend Category
Upload ImageUpload Product Image
Create ProductCreate Product
Edit ProductEdit Product
Update PriceUpdate Price
Update StockUpdate Inventory
Deactivate ProductDeactivate Products
Activate ProductActivate Product
Delete ProductDelete Products
Recover Deleted ProductRecover Products
Get Product ListSearch Products
Create Draft ProductNo upgrade in this version. Can continue utilizing legacy version. If there are updates, they will be provided in future version.
Get Product StockInventory Search
Pre-check for Operating ProductCheck Listing Prerequisites
Get Product DetailGet Product
Get Global Product DetailGet Global Product
Did not exist previouslyPartial Edit Product

Order

Legacy APIsAPI v202309
Get Order ListGet Order List
Get Order DetailGet Order Detail

Fulfillment

Legacy APIsAPI v202309
Search PackageSearch Package
Get Package DetailGet Package Detail
Get Package Shipping DocumentGet Package Shipping Document
Get Package Pickup ConfigGet Package Handover Time Slots
Get Package Shipping InfoGet Tracking
Update Package Shipping InfoUpdate Package Shipping Info
Update Package Delivery StatusUpdate Package Delivery Status
Verify Order SplitGet Order Split Attributes
Confirm Order SplitSplit Orders
Search Pre Combine PkgSearch Combinable Packages
Confirm Precombine PackageCombine Package
Remove Package OrderUncombine Packages
Ship PackageUse Mark Package As Shipped or Ship Package depending on your shop location
Batch Ship PackagesBatch Ship Packages
Fulfillment Upload ImageFulfillment Upload Delivery Image
Fulfillment Upload FileFulfillment Upload Delivery File
Get Shipping ServiceGet Eligible Shipping Service
Create LabelCreate Packages

Logistics

Legacy APIsAPI v202309
Get Subscribed Delivery OptionsGet Warehouse Delivery Options
Get Warehouse ListGet Warehouse List
Get Shipping ProviderGet Shipping Providers
Get Shipping DocumentNo upgrade in this version.
Recommend using Get Package Shipping Document
Get Shipping InfoGet Tracking
Update Shipping InfoUpdate Shipping Info

Returns, Refunds, Cancellations (Legacy API known as Reverse)

Legacy APIs (Reverse)Returns, Refunds, and Cancellations API v202309
Cancel OrderCancel Order
Get Reverse Order ListSearch Cancellation
Search Returns
Confirm Reverse RequestApprove Return
Approve Cancellation
Reject Reverse RequestReject Return
Reject Cancellation
Get Reject Reason ListGet Reject Reasons
Did not exist previouslyGet Aftersale Eligibility
Did not exist previouslyCreate Return
Did not exist previouslyGet Return Records
Did not exist previouslyCalculate Refund

Finance

Legacy APIsAPI v202309
Get SettlementsGet Statements
Get Statement Transactions
Get TransactionsGet Withdrawals
Get Order SettlementsGet Order Statement Transactions
Did not exist previouslyGet Payments

Global Product

Legacy APIsAPI v202309
Get Global CategoriesGet Global Categories
Get Global Category RuleGet Global Category Rules
Get Global AttributesGet Global Attributes
Edit Global ProductEdit Global Product
Create Global ProductCreate Global Product
Publish Global ProductPublish Global Product
Delete Global ProductDelete Global Products
Update Global Product PriceNo upgrade in this version.
Recommend using Update Price to edit the product price published in local shops, and using Edit Product to edit the Global product price.
Get Global Product ListSearch Global Products

Promotion

Legacy APIsAPI v202309
Add PromotionCreate Activity
Update Basic InformationUpdate Activity
Add/Update Discount ItemUpdate Activity Product
Remove Promotion ItemRemove Activity Product
Deactivate PromotionDeactivate Activity
Get Promotion ListSearch Activities
Get Promotion DetailsGet Activity Detail

Supply chain

Legacy APIsAPI v202309
Package fulfillment data syncConfirm Package Shipment

Webhook

Legacy APIsAPI v202309
Type 1: Order Status UpdateOrder Status Update
Type 2: Reverse Status UpdateCancellation Status Change and Return Status Change
Type 3: Recipient Address UpdateRecipient Address Update
Type 4: Package UpdatePackage Update
Type 5: Product Audit UpdateProduct Status Update
Type 6: Seller DeauthorizationSeller Deauthorization
Type 7: Auth ExpireUpcoming Authorization Expiration