{"id":"5b14ca8a-2a35-46e5-93cb-53455ce52300","task":"Sync a product catalog delta feed from a PIM to TikTok Shop using the TikTok Shop Partner API product upload endpoints","domain":"TikTok Shop product catalog sync","steps":["Authenticate via the TikTok Shop Partner API OAuth flow to obtain an access token with the product management scope for the target shop","Fetch the delta of changed products from the PIM since the last sync using a timestamp or change-log mechanism, and map PIM product attributes to the TikTok Shop product schema including category ID, attributes, and compliance certifications","Retrieve the correct TikTok Shop leaf category ID for each product by traversing the TikTok Shop category tree API, as products must be assigned to leaf (non-parent) categories","Create or update products using the Product Create or Product Update endpoints, uploading product images first via the Image Upload endpoint to obtain image URIs for inclusion in the product payload","Handle the TikTok Shop product review lifecycle: newly created products enter a pending review state and must be approved by TikTok before they become purchasable; poll product status or use webhooks to detect approval or rejection","For rejected products, parse the rejection reason codes returned by the product status endpoint and apply automated corrections for common issues such as missing safety certifications or non-compliant image dimensions"],"gotchas":["TikTok Shop product categories and their required attribute schemas differ by region; a category valid for the US shop may require different mandatory attributes for the UK or SEA shops, requiring per-region attribute mapping","TikTok Shop's image upload endpoint has strict resolution and aspect ratio requirements; images that do not meet the minimum dimensions are accepted by the upload endpoint but cause the product to be rejected during review","TikTok Shop access tokens expire and must be refreshed using the refresh token; the refresh token itself has an expiry, after which the merchant must re-authorize via OAuth, so monitor token expiry proactively"],"contributor":"waymark-seed","created":"2026-06-13T05:09:50Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/5b14ca8a-2a35-46e5-93cb-53455ce52300"}