TikTok Deactivate Product
Version | Date | Created / Updated | Notes |
---|---|---|---|
v1.0 | 20.06.2024 | Hristiyan Georgiev | TikTok has new API version and updates. The scope was also updated to the latest changes |
v1.1 | 30/09/2024 | Hristiyan | Added logic for the trigger |
v1.2 | 24.06.2025 | Bogomil | Add limit for number of ids |
Deactivate Product
We are not able to deactivate products in following statuses: draft, frozen and deleted products cannot be deactivated.
Deactivate Product function is used to stop a product from being “available” to the end buyer but without removing the product from the Marketplace. It is generally used to send a “deactivation” to ensure the product is not being sold anymore.
-
Important: For TikTok, “Deactivate“ API call will deactivate the product and all its variant! ( Will be covered within the stock update cron!!!) and if all the variants of the products are with zero stock, we will send deactivation call.
End item flag will send only 0 stock
Respectively, if the product status is “deactivated“, and we push positive stock to the product, the status will be still “deactivated“. In order to push product back on “Active”, first we need to call “Activate Product“ call and then to send stock updates;
API Call: POST /product/202309/products/deactivate
<v1.1> The trigger for this call in order to deactivate product, we should have following statuses on all variants of product:
Product Account
> Product status
= Product Published;
Product Account
> Listing Status
= Inactive
Product Account
TikTok
> TikTok Product Status
= Activated (new field)
If we have a variation and not all products of the variation meet the above criteria, we just skip the product and not send it at all.
Once we have successfully sent the deactivation, we should change the Product Account
TikTok
> TikTok Product Status
= Deactivated across all variants.
</v1.1>
We need to pass the shop_cipher
as query property which was obtained with the Get Authorised Shops call found here TikTok - Authentication & Database structure
Example Call:
{
"product_ids": [
"1729592969712207008"
]
}
Mapping :
Integration Field | Integration Notes | Integration required | Hemi Mapping | Hemi Notes |
---|---|---|---|---|
product_ids |
string | Yes | Product Account > Channel Item ID |
<v1.2> |
Please note we can send at most 20 ids in the payload </1.2> |
We will deactivate only if all variants into variations are with 0 stock.
Example Response:
{
"code": 0,
"data": {
"errors": [
{
"code": 12052003,
"detail": {
"product_id": "1729382588639839583"
},
"message": "The current product status can not be deactiate"
}
]
},
"message": "Success",
"request_id": "202203070749000101890810281E8C70B7"
}
The successfull response will be with code : 0
and message : Success
. If we receive a different code
than 0, this means there was an error and we need to store the error. We want to store the error message as per the abstraction Product Listing general requirements
Code | Message |
---|---|
12019120 | product ids exceed limit |
12052048 | You can't edit other sellers' products. |
12052700 | seller is inactived |
12052703 | Invalid seller tax number |
12052900 | System error, try again later |
12052901 | product status invalid |