TikTok Shop & Pinterest Catalog Sync: installation and setup
Connect PrestaShop 8 and 9 to TikTok Shop and Pinterest: apps, connection, category mapping, TikTok orders, tracking and cron.
Overview
The module connects your PrestaShop 8 or 9 shop to two channels:
- TikTok Shop: listings created and updated through the Partner API, stock and prices sent, orders imported, tracking numbers sent back.
- Pinterest: TSV catalog feed and, optionally, real-time updates through the Catalogs API.
A CSV feed for TikTok Ads catalogs is also provided. The module lives in Catalog > TikTok & Pinterest. The Overview tab shows a getting-started checklist listing the remaining steps.
Installation
- In Modules > Module Manager, click Upload a module and select the ZIP file.
- Open Catalog > TikTok & Pinterest.
- In the Settings tab, check the language, currency and country used for prices (prices are sent tax included for that country), then the image size. TikTok Shop requires at least 600 x 600 pixels.
With multistore, select one shop in the context selector: channel settings are stored per shop.
Feed only, no app
- Pinterest tab: enable Pinterest and copy the feed URL.
- In Pinterest Business Hub, open Catalogs > Data sources, add a source and paste the URL. Pinterest imports the feed every 24 hours.
Real-time updates through the API
- On developers.pinterest.com, create an app and add the redirect URI shown in the module’s Pinterest tab.
- Enter the App ID and App secret, keep Real-time updates on Yes and click Save and connect Pinterest.
- Once connected, click Create the data source on Pinterest: the module registers the feed with the currency and country from the settings.
Stock, price changes and removals are then sent within minutes. Two minutes after each push, the module reads Pinterest’s result back. A rejected item is flagged as an error in the Products tab with Pinterest’s message, for example “image_link: Image could not be downloaded”.
TikTok Shop
Create the TikTok Shop app
- On partner.tiktokshop.com, create a custom seller app or a third-party service app.
- Enable the Product, Order, Fulfillment and Logistics scopes.
- Set the redirect URL to the one shown in the module’s TikTok Shop tab.
- Copy the App key, the App secret and, if the app has one, the Service ID.
Connect the shop
- TikTok Shop tab: enable TikTok, choose the region (Europe and rest of world, or United States), enter the credentials, then click Save and connect TikTok Shop.
- Authorize the app on the TikTok page. The module fetches the shop and the default warehouse.
- Choose the warehouse if you have several, then the EU manufacturer and responsible person. Create them in Seller Center first if the lists are empty, then click Refresh lists.
- Click Load categories to fetch the TikTok category tree.
Listing settings
- Price sent: price after PrestaShop discounts, or regular price if you run promotions in TikTok.
- Default parcel: weight and dimensions used for products that have none.
- Create new listings: when off, the module only updates stock and price of listings already online.
Listings already on TikTok Shop
If you already sell on TikTok Shop, run Link existing listings in the TikTok Shop tab before the first sync. The module goes through your listings and links them to your products by seller SKU:
- combination reference;
- product reference, for a product without combinations;
- the PS12 or PS12-34 format used by the module.
A linked listing keeps its TikTok title, images and description: the module only manages its stock and price. To apply the PrestaShop content, open the product preview in the Products tab and click Replace its content with PrestaShop data. A listing whose SKUs point to several PrestaShop products is reported as a conflict and not linked.
Category mapping
The Categories tab maps each PrestaShop category to:
- a Google category, used by Pinterest and by the TikTok Ads feed: type a few words and pick from the built-in Google taxonomy;
- a TikTok Shop category: type to search, or click Suggest so TikTok proposes the category based on your products.
A subcategory without its own mapping inherits its parent’s, shown in grey. Products use their default category. Changes are saved together with Save changes.
The Attributes button opens the TikTok category attributes. Those marked with an asterisk are required by TikTok and apply to every product of the category. The mapping can be exported and imported as CSV (semicolon separator).
TikTok orders
The TikTok orders tab prevents overselling: without import, a TikTok sale only lowers the stock on TikTok. Three modes are available:
- Create PrestaShop orders: each sale becomes an order at the price paid on TikTok (seller discount deducted) and with the TikTok shipping fee. VAT is computed by PrestaShop and stock goes down. The payment shows as “TikTok Shop”, with the TikTok order number as transaction.
- Only decrement stock: for orders shipped from Seller Center or by TikTok.
- Off.
Orders are imported by the cron task. When the import is switched on, orders from the last 24 hours are picked up. Choose the status of new orders and the carrier. The shipping amount stays the one paid on TikTok, whatever the carrier.
- Cancellations: a TikTok cancellation moves the order to “Canceled”, or puts the stock back in stock-only mode.
- Errors: an order in error (unlinked SKU, currency not enabled) is listed with the reason and retried every 15 minutes. The Retry button tries it again at the next import.
- Buyers: they are created as guest customers with an @tiktokshop.invalid address. TikTok forbids contacting them outside the platform, so the module blocks any e-mail addressed to them.
The PrestaShop order page shows a TikTok Shop block with the TikTok number, status and tracking state.
Tracking numbers
When a tracking number is added to an imported order, by hand or by a carrier module, it is sent to TikTok within 5 minutes and the TikTok order is marked as shipped. Orders fulfilled by TikTok are skipped.
TikTok requires a shipping provider. In the TikTok Shop tab, section Carriers and TikTok shipping providers, map each PrestaShop carrier to a TikTok provider. Without a mapping, the module looks for a provider with the same name. If none matches, the error lists the available providers.
Products tab
Each row shows the thumbnail, price, stock, status on each channel and a quality score out of 100 with the main issue. Possible causes are:
- missing image, zero price or short description;
- invalid EAN;
- unmapped category;
- more than 3 attribute groups for TikTok.
Filters show products in error, excluded, without a Google or TikTok category, or linked from Seller Center. Tick products to export or exclude them in bulk, or to queue a full sync. The preview shows the variants as they will be sent and lets you set a title for each channel. Sync now pushes the product immediately.
Advanced settings
- UTM parameters: added to feed and Pinterest pin links for Google Analytics attribution. Leave empty to disable.
- Custom labels: custom_label_0 = category, custom_label_1 = price band, custom_label_2 = promo or regular.
- Exclusion rules: categories (subcategories included), brands, minimum tax-inclusive price, and out-of-stock variants removed from the feeds and Pinterest. An excluded product is removed from the feeds, deleted from Pinterest and deactivated on TikTok Shop. Changing a rule queues the whole catalog again.
- Push timing: right after each change (PHP-FPM or LiteSpeed hosting), or by cron only.
Cron task
Copy the two lines from the Overview tab into your hosting crontab:
- every 5 minutes,
task=sync: push queue, retries, TikTok orders, tracking, Pinterest results; - every hour,
task=feeds: feed regeneration.
The overview shows whether the cron was seen in the last 20 minutes. An API error is retried after 2, 4, 8, 16 then 32 minutes. The Retry failed jobs button puts abandoned jobs back in the queue.
The security token protects the feed and cron URLs. If you regenerate it, update the crontab and the feed URLs registered on Pinterest and TikTok.
Logs and troubleshooting
The Logs tab keeps 30 days of events, filterable by channel: Pinterest, TikTok, TikTok orders. API errors are stored with the full response.
- A product is not sent to TikTok: check its score in the Products tab. A missing TikTok category or a virtual product blocks the push.
- A TikTok order stays in error: the seller SKU must match a PrestaShop reference, or the listing must have been created by the module. Fix it, then click Retry.
- Changes made by an employee are not sent: PrestaShop skips a module’s hooks for a profile without the “View” permission on that module. Grant it, or use Sync now in the Products tab.