Skip to Content

TikTok Shop Orders Sync for WooCommerce — Documentation

TikTok Shop Orders Sync for WooCommerce — Documentation

What this plugin does

TikTok Shop Orders Sync for WooCommerce connects one TikTok Shop to WooCommerce through the TikTok Shop Open API (version 202309). It imports orders every 15 minutes, maps TikTok statuses to WooCommerce statuses, marks packages shipped with tracking, opens TikTok shipping labels from the order screen, and pushes stock every hour.

Jobs run on Action Scheduler (WP-Cron as a fallback) once the shop is connected and Enable syncing is ticked.

Requirements

  • WordPress 5.8 or later and PHP 7.4 or later
  • WooCommerce 7.0 or later, HPOS or legacy order storage
  • A TikTok Shop seller account and an app in TikTok Shop Partner Center
  • An HTTPS site for the authorisation callback

Installation

  1. Upload the zip at Plugins → Add New → Upload Plugin and activate it with WooCommerce active.
  2. Open WooCommerce → TikTok Shop Sync. Tabs: Settings, Sync log, Status.

Connecting your TikTok Shop

  1. Create an app in TikTok Shop Partner Center (partner.tiktokshop.com).
  2. Set the app’s callback URL to the one in the Getting connected box, e.g. https://yourstore.com/wp-admin/admin-post.php?action=rau_tos_action&do=callback.
  3. Copy the App Key, App Secret and Service ID into the plugin and save. The Service ID is on your app’s page and builds the seller authorisation link.
  4. Click Connect TikTok Shop, sign in as the seller and approve. The shop is detected and shown under Connected shop.
  5. Tick Enable syncing, then press Sync orders now.
TikTok Shop Orders Sync settings with App Key, App Secret, Service ID and callback URL
WooCommerce → TikTok Shop Sync: App Key, App Secret and Service ID from TikTok Shop Partner Center, and the callback URL to register on your app.

Settings reference

SettingWhat it does
App Key / App SecretFrom your Partner Center app. The secret is stored encrypted.
Service IDFrom your app page; builds the authorisation link.
Connected shopRead-only. The authorised shop.
Enable syncingMaster switch for scheduled jobs.
ImportImport TikTok Shop orders every 15 minutes.
Import orders with statusWhich TikTok orders to import — usually Awaiting shipment. Also: Awaiting collection, In transit, Delivered, Completed, Cancelled.
Status mappingWooCommerce statuses for New / awaiting shipment, In transit, Delivered / completed and Cancelled.
ShippingMark TikTok packages shipped when the order reaches the In transit status above.
Look back (days)How far back each import looks, up to 30 days.
Stock syncPush WooCommerce stock to TikTok Shop every hour, matched by seller SKU.
Warehouse ID (optional)Send stock to a specific TikTok warehouse; leave empty for the default.

Buttons on the settings screen

ButtonWhat it does
Connect TikTok ShopStarts authorisation. Appears once App Key, Secret and Service ID are saved.
Test connectionMakes a signed read-only call and logs the result.
Refresh shopRe-reads the authorised shop details.
Sync orders nowImports immediately.
Push stock nowSends stock immediately.
Clear cached SKU mapForgets the seller-SKU map built from your TikTok catalogue. Use after adding listings.
Refresh tokenForces an access-token refresh. Normally automatic.
DisconnectRemoves the stored tokens.

How orders are imported

Every 15 minutes the plugin searches TikTok orders with your chosen status updated within the look-back window. Each becomes a WooCommerce order with the recipient address, line items, shipping fee and seller discounts, and records the TikTok order ID, status and payment method.

Lines are matched by seller SKU; unmatched lines become placeholders with a warning note. Imports are keyed on the TikTok order ID, and later syncs move the WooCommerce order through your status mapping as TikTok’s status changes.

Marking packages shipped and printing labels

The TikTok Shop panel on the order screen shows the TikTok order ID, current TikTok status and whether it has been marked shipped, with fields for the tracking number and shipping provider ID.

When the order reaches the status mapped to In transit, the plugin marks the package shipped on TikTok with that tracking number and provider. Tracking recorded by a shipment-tracking plugin is used automatically.

Click Shipping label to open TikTok’s label for the order — useful when you ship with TikTok’s own logistics.

WooCommerce order with the TikTok Shop panel showing order ID, IN_TRANSIT status, tracking number, shipping provider ID and Shipping label button
A TikTok Shop order in WooCommerce. The panel shows the TikTok order ID and status (In transit) and that the package was marked shipped, with the tracking number, shipping provider and a Shipping label button.

Stock sync

TikTok addresses inventory by product ID plus SKU ID, so the plugin builds a seller-SKU map from your TikTok catalogue and caches it for a day. SKUs with no TikTok match are skipped. After adding listings, press Clear cached SKU map. Hold back a safety quantity with rau_tos_stock_buffer.

The sync log and Status tab

The Sync log records imports, status changes, shipments, label requests, stock pushes and errors, with TikTok’s error code and message and raw API detail. Entries link to the order and are kept for seven days.

The Status tab shows whether the app is configured and the shop authorised, the shop and seller, API endpoint, token and refresh-token expiry, last and next sync, orders this month, errors in the last 24 hours and the scheduler.

TikTok Shop Orders Sync log with connection, imported orders, shipped package and stock sync entries
TikTok Shop connected, two orders imported, a package marked shipped with USPS tracking, and an hourly stock push.

What the free version includes

  • Up to 150 imported orders per month
  • One TikTok Shop
  • 15-minute order sync and hourly stock sync
  • 30-day order look-back
  • 7-day log retention
  • Shipping and labels one order at a time

Troubleshooting

What you seeWhat to do
“Signature is invalid”The App Key and App Secret must come from the same Partner Center app. Re-paste both.
Authorisation failsThe callback URL registered on the app must match the one on the Settings tab exactly.
Authorisation about to lapseThe plugin warns you before the refresh token expires. Reconnect before it does.
Stock sync skips SKUsThose seller SKUs don’t exist in TikTok, or were added after the map was cached — Clear cached SKU map.
Package not marked shippedCheck the order reached the In transit mapping and has a tracking number and provider; the log shows TikTok’s reason.

For developers: hooks

Every hook below is part of the plugin’s public surface and safe to use from a theme’s functions.php or a small site plugin.

HookTypeUse it to
rau_tos_order_importedactionRun code after a TikTok order is created. Receives the WC_Order and the TikTok order.
rau_tos_stock_bufferfilterHold back a safety quantity per product.
rau_tos_unmanaged_stock_valuefilterQuantity for products that don’t manage stock.
rau_tos_stock_rowsfilterAdjust rows before stock is pushed.
rau_tos_loadedactionFires once the plugin has booted.
// Keep 5 units back on TikTok during a campaign.
add_filter( 'rau_tos_stock_buffer', function () {
	return 5;
} );

Uninstalling

Deleting the plugin removes its settings, tokens, SKU map, counters and log table. Imported orders remain in WooCommerce.

Questions people ask

Which TikTok Shop regions work?

The plugin uses TikTok Shop’s global Open API, so any shop your Partner Center app is authorised for. The free version connects one shop.