
Tiktok Shop Integration
- 188 installs
- 41 repo stars
- Updated March 13, 2026
- finsilabs/awesome-ecommerce-skills
Syncs a product catalog to TikTok Shop and manages orders, inventory, and shoppable content including live shopping and affiliate creators.
About
Connects an ecommerce store to TikTok Shop for catalog sync, order and inventory management, and shoppable live/affiliate content. A developer uses it when selling directly through TikTok Shop as a sales channel.
- Catalog sync plus order and inventory management
- Live shopping and affiliate creator program support
Tiktok Shop Integration by the numbers
- 188 all-time installs (skills.sh)
- Ranked #334 of 853 Sales & Marketing skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill tiktok-shop-integrationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 188 |
|---|---|
| repo stars | ★ 41 |
| Last updated | March 13, 2026 |
| Repository | finsilabs/awesome-ecommerce-skills ↗ |
What it does
Syncs a product catalog to TikTok Shop and manages orders, inventory, and shoppable content including live shopping and affiliate creators.
Files
TikTok Shop Integration
Overview
TikTok Shop transforms TikTok from a discovery channel into a direct commerce platform where users purchase without leaving the app — via shoppable video posts, LIVE shopping events, product showcase tabs, and creator affiliate programs. For Shopify and WooCommerce, official TikTok integrations handle catalog sync, order management, and inventory updates automatically. The strategic work is applying to TikTok Seller Center, structuring your affiliate program, and running LIVE shopping events.
When to Use This Skill
- When launching TikTok as a native commerce channel (not just a traffic referral)
- When your products are suited to impulse purchase via short-form video
- When enabling creators to tag and earn commissions on your products
- When running LIVE shopping events for product launches or flash sales
- When needing to sync inventory and orders between TikTok Shop and your primary platform
Core Instructions
Step 1: Register on TikTok Shop Seller Center
Before any integration:
1. Go to seller.tiktokshop.com and create a seller account 2. Complete identity verification (government ID + business registration) 3. Connect your TikTok Business Account to the Seller Center 4. Wait for seller approval — typically 1–3 business days; some categories require additional documentation (food, supplements, electronics)
Note: TikTok Shop is currently available in the US, UK, Southeast Asia, and select other markets. Availability changes — check TikTok's current supported markets before starting.
Step 2: Connect your platform to TikTok Shop
---
Shopify
1. Go to Shopify Admin → Sales Channels → + → TikTok 2. Install TikTok for Shopify and connect your TikTok Seller Center account 3. Under Catalog Sync, Shopify syncs your product catalog to TikTok Shop automatically 4. Shopify also syncs TikTok Shop orders back to Shopify Admin so you manage fulfillment in one place 5. Go to TikTok → Products to review which products were approved and which have issues 6. Products that fail TikTok's content review (image quality, prohibited categories) appear in TikTok → Products → Rejected with the reason
---
WooCommerce
1. Install TikTok for WooCommerce from the WordPress plugin directory 2. Go to WooCommerce → TikTok → Seller Center and connect your TikTok Seller Center account 3. The plugin syncs your WooCommerce products to TikTok Shop and pulls TikTok orders back into WooCommerce 4. Go to WooCommerce → TikTok → Products to monitor sync status and resolve any rejected products
---
BigCommerce
1. Go to BigCommerce Admin → Channel Manager → Add a Channel → TikTok 2. Connect your TikTok Seller Center account 3. BigCommerce automatically syncs products and inventory to TikTok Shop 4. TikTok orders appear in BigCommerce → Orders for unified fulfillment management
---
Custom / Headless
Use the TikTok Shop API directly for custom catalog management and order handling:
const TIKTOK_SHOP_BASE = 'https://open-api.tiktokglobalshop.com';
async function syncProductToTikTokShop(product: Product) {
// TikTok Shop API requires HMAC-SHA256 request signing
const timestamp = Math.floor(Date.now() / 1000).toString();
const body = {
title: product.name.substring(0, 255),
description: product.description.replace(/<[^>]*>/g, '').substring(0, 5000),
category_id: product.tikTokCategoryId, // find IDs in TikTok Seller Center → Products → Categories
images: product.images.map(img => ({ url: img.url })),
skus: product.variants.map(v => ({
sales_attributes: v.options.map(opt => ({ attribute_name: opt.name, value_name: opt.value })),
stock_infos: [{ available_stock: v.stockQuantity, warehouse_id: process.env.TIKTOK_WAREHOUSE_ID }],
seller_sku: v.sku,
original_price: v.price.toFixed(2),
})),
};
return tiktokShopRequest('/api/products', body);
}
// Handle TikTok Shop order webhooks
// POST /webhooks/tiktok-shop
export async function handleTikTokShopWebhook(req: Request, res: Response) {
const { type, data } = req.body;
if (type === 'ORDER_STATUS_CHANGE') {
// Sync TikTok order to your OMS
await syncTikTokOrder(data.order_id, data.order_status);
}
res.json({ code: 0 }); // TikTok requires this exact response format
}Step 3: Set up product listings for TikTok Shop
After catalog sync, optimize each product for TikTok Shop:
Product images:
- Use square (1:1) or vertical (9:16) product images — landscape images underperform
- White or clean background for the main product image
- No text overlays, watermarks, or price callouts on images (TikTok rejects these)
- Minimum 500×500px; 1000×1000px recommended
Product titles:
- Include the primary keyword in the first 20 characters
- TikTok Shop displays titles in search and shopping feeds
- 255 character maximum
Shipping:
- Set up a warehouse in TikTok Seller Center → Settings → Logistics
- Link a TikTok-approved shipping carrier (UPS, USPS, FedEx for US sellers)
- TikTok buyers expect free shipping — set a free shipping threshold that makes economic sense (e.g., orders over $25)
Step 4: Enable the creator affiliate program
TikTok Shop's Open Collaboration model lets any creator discover your products and tag them in content for a commission — no prior relationship needed.
1. Go to TikTok Seller Center → Affiliate → Open Plan 2. Set a commission rate per product category (typically 10–20% for ecommerce) 3. Products with enabled affiliate commissions automatically appear in the TikTok Affiliate Marketplace where creators browse for products to promote 4. Review affiliate creator applications under Seller Center → Affiliate → Creators
For targeted partnerships: 1. Go to Seller Center → Affiliate → Targeted Collaboration 2. Browse creator profiles and send collaboration invites with a custom commission rate 3. You can provide product samples and set specific posting requirements in the invitation
Step 5: Run a LIVE Shopping event
LIVE Shopping events drive high-urgency sales with real-time product featuring:
Before going live: 1. In TikTok Seller Center, go to Products and ensure all products you plan to feature are "Active" status (product review takes 24–48 hours) 2. Go to TikTok LIVE Studio (download the app) or use the TikTok mobile app 3. Under Shopping, select the products to feature during the LIVE 4. Promote the LIVE 24–48 hours in advance via regular posts and Stories
During the LIVE: 1. Start the LIVE from TikTok app or LIVE Studio 2. Pin featured products using the shopping cart icon — viewers tap the pinned card to add to cart 3. Change the featured product in real time as you demo different items 4. Respond to comments about pricing, sizing, and availability to drive urgency
Best times for LIVE Shopping events: Tuesday, Wednesday, or Thursday evenings (7–9pm EST for US audience). Consistent scheduling builds a returning audience.
Step 6: Manage TikTok Shop orders
TikTok requires fulfillment within 2 business days of order confirmation. Late shipments damage your seller rating.
Fulfillment process: 1. TikTok Shop orders appear in your platform admin (Shopify/WooCommerce) automatically if using the native integration 2. Print shipping labels from your platform admin — TikTok accepts tracking numbers from all major carriers 3. Enter the tracking number in TikTok Seller Center → Orders within 2 days 4. TikTok automatically updates the buyer on shipping status
Returns:
- Accept returns within 30 days of delivery (TikTok's default return window)
- Configure return logistics in Seller Center → Settings → Returns
Best Practices
- Keep inventory in sync within 5 minutes — overselling on TikTok damages your seller rating and can result in account suspension; use your platform's native TikTok integration for real-time sync
- Use Open Collaboration for discovery — set a 10–15% commission rate on all products to attract micro-creators who discover your brand organically without outreach
- Include dedicated TikTok Shop images — square or 9:16 product images outperform landscape images; prepare TikTok-specific creative assets separate from your Shopify product images
- Run LIVE events consistently — 2× per week builds a returning audience; ad-hoc live events get low attendance
- Monitor affiliate content for brand safety — creators in Open Collaboration post without prior approval; review tagged content regularly
Common Pitfalls
| Problem | Solution |
|---|---|
| Products stuck "Under Review" | Ensure product images are on white/clean backgrounds with no text overlays; prohibited categories (alcohol, certain supplements) require special approval |
| TikTok orders not appearing in Shopify | Disconnect and reconnect the TikTok for Shopify channel; check that Seller Center is linked to the correct TikTok Business account |
| Affiliate creators posting incorrect prices | Any price changes require creator content to be re-tagged; notify active affiliates before changing prices |
| LIVE Shopping products not showing on stream | Products must be "Active" status before going LIVE; review takes 24–48 hours, so activate products in advance |
| High return rate | TikTok buyers expect products to match the video exactly; avoid over-editing product images and ensure LIVE demos are accurate |
Related Skills
- @tiktok-ads-integration
- @ugc-campaign-management
- @influencer-marketplace-integration
- @social-commerce
- @video-commerce-integration
{
"context": "Tests whether the agent applies the correct affiliate commission rates for open vs. targeted collaboration, documents safe inventory practices (sub-5-minute sync, immediate order lock), prescribes the 48-hour fulfilment window, recommends LIVE Shopping for the product launch, advises on image requirements, and includes brand-safety UGC monitoring guidance.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Open collaboration commission 10-15%",
"max_score": 10,
"description": "The open-collaboration commission rate in affiliate-setup.ts is set to a value between 0.10 and 0.15 (10%–15%), not higher or lower"
},
{
"name": "Targeted invitation commission 20%",
"max_score": 10,
"description": "The targeted creator invitation function uses a commission rate of 0.20 (20%), not a different value"
},
{
"name": "Inventory sync within 5 minutes",
"max_score": 8,
"description": "PLAYBOOK.md states that TikTok Shop inventory must be updated within 5 minutes of any order or stock change across all channels"
},
{
"name": "Immediate inventory lock on order creation",
"max_score": 10,
"description": "PLAYBOOK.md describes locking/reserving inventory on TikTok Shop at the moment an order is created (before fulfilment confirmation), not after"
},
{
"name": "48-hour fulfilment target",
"max_score": 8,
"description": "PLAYBOOK.md specifies a 48-hour fulfilment window for TikTok Shop orders"
},
{
"name": "Late shipment rate threshold",
"max_score": 6,
"description": "PLAYBOOK.md mentions that exceeding a 2% late shipment rate triggers seller account warnings"
},
{
"name": "LIVE Shopping for product launch",
"max_score": 8,
"description": "PLAYBOOK.md recommends using a LIVE Shopping event specifically for the new product launch (not just general advice about going live)"
},
{
"name": "Products Active before going live",
"max_score": 8,
"description": "PLAYBOOK.md states that products must have 'Active' status in TikTok Shop before a LIVE event, and notes the 24-48 hour review period"
},
{
"name": "Image aspect ratio guidance",
"max_score": 6,
"description": "PLAYBOOK.md specifies square or 9:16 (portrait) aspect ratio for TikTok Shop product images, and advises against landscape"
},
{
"name": "Image background and overlay rules",
"max_score": 6,
"description": "PLAYBOOK.md states images should have a white or clean background and should NOT include text overlays"
},
{
"name": "Lock product prices for affiliates",
"max_score": 6,
"description": "PLAYBOOK.md advises locking product prices or warns that price changes force creator content to be re-tagged"
},
{
"name": "UGC monitoring for brand safety",
"max_score": 6,
"description": "PLAYBOOK.md includes a step to regularly review affiliate/UGC content and have a content reporting process, noting creators post without prior approval in Open Collaboration"
},
{
"name": "Free shipping minimum cart value",
"max_score": 8,
"description": "PLAYBOOK.md recommends setting a minimum cart value for free shipping to reduce abandonment driven by visible shipping costs"
}
]
}
TikTok Shop Launch Playbook & Affiliate Setup
Problem/Feature Description
LuxeCandle Co. is preparing to launch its entire product range on TikTok Shop ahead of the holiday season. The head of e-commerce has asked for two things: (1) a TypeScript module that configures the affiliate creator program for the catalogue — both a broad "discovery" tier open to any creator and a VIP tier for a shortlist of hand-picked influencers — and (2) a concise operational playbook (PLAYBOOK.md) that the team can follow for the launch, covering inventory management, fulfilment targets, and content strategy.
The brand has had problems with overselling on other marketplaces in the past, especially during flash sales, and the CTO has specifically asked that the inventory architecture section of the playbook address how to prevent TikTok Shop from accepting orders it can't fulfil. The marketing director wants guidance on how to maximise reach for the new "Winter Collection" drop without spending heavily on paid ads, and needs specific advice on image assets to prepare to avoid products getting stuck in review.
Output Specification
Produce two files:
1. affiliate-setup.ts — TypeScript module with:
- A function to set an open-collaboration commission rate on a list of product IDs
- A function to invite a specific creator (by their unique ID) to a targeted affiliate campaign with a set of product IDs
2. PLAYBOOK.md — Operational launch playbook with sections covering:
- Inventory management and oversell prevention strategy
- Order fulfilment targets and consequences of missing them
- Content / go-to-market strategy for the new product launch
- Affiliate program management and brand safety guidelines
- Product image requirements to pass TikTok catalog review
- Shipping cost configuration guidance
{
"context": "Tests whether the agent correctly implements the TikTok Shop API client with proper authentication (HMAC signature construction, query parameter layout, required headers), product field mapping (title truncation, price formatting, COD flag), and inventory update function. Also checks that the integration notes document image requirements correctly.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Correct API base URL",
"max_score": 8,
"description": "Uses 'https://open-api.tiktokglobalshop.com' as the base URL (not a different TikTok domain or placeholder)"
},
{
"name": "HMAC-SHA256 signature",
"max_score": 10,
"description": "Signature is built by concatenating appKey + timestamp + JSON.stringify(body) and then computing an HMAC-SHA256 digest using the app secret"
},
{
"name": "Signature in URL query params",
"max_score": 8,
"description": "The computed sign value is passed as a query parameter in the request URL (not in the body or a header)"
},
{
"name": "Required URL query params",
"max_score": 8,
"description": "The request URL includes all four query parameters: app_key, timestamp, sign, and shop_id"
},
{
"name": "x-tts-access-token header",
"max_score": 8,
"description": "Every API request includes the 'x-tts-access-token' header populated with an access token"
},
{
"name": "Error detection on non-zero code",
"max_score": 8,
"description": "The client checks result.code !== 0 and throws an error containing the code and message when it is non-zero"
},
{
"name": "Title truncation to 255 chars",
"max_score": 10,
"description": "The product title/name is truncated to a maximum of 255 characters before being sent to the API"
},
{
"name": "Price formatted to 2 decimal places",
"max_score": 10,
"description": "SKU original_price is formatted with exactly two decimal places (e.g. using toFixed(2))"
},
{
"name": "COD flag set to false",
"max_score": 8,
"description": "The is_cod_open field is explicitly set to false in the product creation payload"
},
{
"name": "Image format guidance",
"max_score": 8,
"description": "INTEGRATION_NOTES.md states that product images should be square or 9:16 (portrait) aspect ratio — NOT landscape"
},
{
"name": "Image background guidance",
"max_score": 8,
"description": "INTEGRATION_NOTES.md mentions that product images should have a white or clean background and should avoid text overlays"
},
{
"name": "Inventory update endpoint",
"max_score": 6,
"description": "The updateInventory function calls the /api/products/stocks endpoint (not the main products endpoint)"
}
]
}
TikTok Shop API Integration Module
Problem/Feature Description
Bloom & Thread is a UK-based home décor brand that sells through its own Shopify storefront. After strong performance on TikTok organic content, the team has decided to launch TikTok Shop as a direct commerce channel. The engineering lead has asked you to build a reusable TypeScript API client module that the rest of the backend can use to communicate with TikTok Shop's REST API, and an initial product sync function so the catalogue team can push product listings programmatically.
The brand's products have long marketing names (sometimes exceeding 300 characters), multiple colour/size variants, and each variant has an independent price and stock level. The CTO wants to make sure the integration handles authentication correctly and fails loudly (throws descriptive errors) when the API returns a non-success response, so problems are caught early.
Output Specification
Produce a TypeScript file tiktok-shop-client.ts that contains:
1. A generic tiktokShopRequest(path, body) function that handles authentication and makes POST requests to the TikTok Shop REST API. 2. A syncProduct(product) function that uses the generic client to create or update a product listing, mapping the fields defined in the input schema below. 3. An updateInventory(tikTokSkuId, newQuantity) function that updates stock for a single SKU.
Also produce a short INTEGRATION_NOTES.md explaining:
- What environment variables the module expects
- Any constraints or limits the calling code should be aware of (e.g. field length restrictions, numeric formatting)
- The recommended image format/dimensions for product images submitted to TikTok Shop
Input Files (optional)
The following files are provided as inputs. Extract them before beginning.
=============== FILE: inputs/product-schema.ts =============== export interface ProductVariant { sku: string; price: number; // e.g. 29.99 stockQuantity: number; options: Array<{ name: string; value: string }>; images?: Array<{ url: string }>; }
export interface Product { name: string; // marketing name, may be very long description: string; tikTokCategoryId: string; tikTokBrandId?: string; images: Array<{ url: string }>; weightKg: number; heightCm: number; lengthCm: number; widthCm: number; variants: ProductVariant[]; }
{
"context": "Tests whether the agent implements the TikTok Shop webhook handler with correct signature verification, the right JSON acknowledgement response, handling of all required event types, and a duplicate-safe order upsert strategy. Also checks webhook setup documentation.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Signature verification",
"max_score": 12,
"description": "The handler reads the 'x-tts-signature' header and calls a signature verification function before processing the event body"
},
{
"name": "Rejects invalid signatures",
"max_score": 10,
"description": "If signature verification fails, the handler responds with a 401 (or 4xx) status and does NOT process the event"
},
{
"name": "Returns {\"code\": 0} on success",
"max_score": 12,
"description": "On successful processing, the handler responds with a JSON body containing exactly {\"code\": 0} (not a plain 200 with no body, not {\"status\": \"ok\"}, etc.)"
},
{
"name": "ORDER_STATUS_CHANGE handled",
"max_score": 10,
"description": "The handler has an explicit case or branch for the 'ORDER_STATUS_CHANGE' event type that triggers order syncing logic"
},
{
"name": "PRODUCT_STATUS_CHANGE handled",
"max_score": 8,
"description": "The handler has an explicit case or branch for the 'PRODUCT_STATUS_CHANGE' event type"
},
{
"name": "SETTLEMENT handled",
"max_score": 8,
"description": "The handler has an explicit case or branch for the 'SETTLEMENT' event type"
},
{
"name": "Upsert with externalId key",
"max_score": 10,
"description": "Order persistence uses an upsert pattern with the TikTok order ID stored as 'externalId' in the lookup key"
},
{
"name": "externalSource: 'tiktok-shop'",
"max_score": 10,
"description": "The upsert lookup key includes externalSource set to the string 'tiktok-shop' to namespace TikTok orders"
},
{
"name": "Webhook registration documented",
"max_score": 10,
"description": "WEBHOOK_SETUP.md mentions registering the webhook endpoint in TikTok Seller Center"
},
{
"name": "Public URL requirement documented",
"max_score": 10,
"description": "WEBHOOK_SETUP.md states that the webhook endpoint URL must be publicly accessible (not localhost)"
}
]
}
TikTok Shop Webhook Handler
Problem/Feature Description
NovaSport is a sports equipment retailer that recently launched TikTok Shop. Their backend runs on Node.js/Express, and the team needs to receive and process real-time events from TikTok Shop — including order updates, product approval notifications, and payment settlements — so the platform keeps its internal order management system (OMS) up to date without polling the TikTok API.
The backend engineer has been asked to build the webhook endpoint. The ops team was burned previously by a third-party integration that accepted spoofed callbacks, so security is a priority: the endpoint must reject any request that cannot be verified as genuinely coming from TikTok. The team also wants to make sure that TikTok's delivery system doesn't interpret successful processing as an error and keep retrying events.
When an order status changes, the handler should fetch the full order detail from TikTok and store it in the OMS. The OMS's db.orders.upsert function accepts a lookup key as the first argument and the data to write as the second; the team wants a consistent strategy for identifying TikTok orders so there are no duplicates even if the same event fires twice.
Output Specification
Produce a TypeScript file tiktok-webhook-handler.ts containing an Express route handler function handleTikTokShopWebhook that:
1. Validates incoming webhook requests 2. Routes each event type to an appropriate handler 3. Responds correctly to TikTok's delivery system
Also produce a short WEBHOOK_SETUP.md that describes the steps needed to configure the webhook in TikTok Seller Center, including any requirements for the endpoint URL itself.
Stub out any external dependencies (database, tiktokShopRequest) with comments indicating what they would do — the grader only needs to assess the handler's structure and logic, not run it.
{
"name": "finsi/tiktok-shop-integration",
"version": "0.1.0",
"summary": "Sync your product catalog to TikTok Shop, manage orders and inventory, and enable shoppable content with live shopping and affiliate creator programs",
"skills": {
"tiktok-shop-integration": {
"path": "SKILL.md"
}
}
}