Skip to main content
Connecting TikTok Shop lists your Fluid products in your shop. Fluid creates each product in TikTok, keeps its price and inventory current as they change in Fluid, and imports the orders placed in TikTok. Setup takes a person in a browser for one step: approving Fluid’s access in TikTok.

Before you start

  • A US TikTok Shop seller account that has finished TikTok’s seller verification, and a person who can sign in to it as the shop owner or an admin.
  • At least one shipping warehouse set up in TikTok Seller Center. You need its warehouse ID for step 3.
  • A Fluid API token for the company, or your own sign-in with fluid login. It needs company admin access: Company settings permission to connect and disconnect, and Products permission to choose and fix products.
  • Install and sign in to the CLI:
Every fluid channels command prints JSON. Failures print a JSON error on stderr and exit with a non-zero code.

Steps

In a terminal, fluid channels walk tiktok takes you through these steps one question at a time: it opens the sign-in link, checks the connection, lets you search for the products to send, and asks before each change.
1

Start the connection

This prints the TikTok Shop sign-in url and, with --open, opens it in your browser. Nothing changes in Fluid until someone approves it in the next step. Without --open, send the url to the person who will approve it. The link works once and expires after 10 minutes; run connect again for a new one.
2

Approve Fluid in TikTok Shop

Sign in with the TikTok Shop seller account and approve the access Fluid asks for. If your account holds more than one shop, Fluid connects each of them and lists products in the one it connected first.TikTok Shop then sends the browser back to Fluid admin. The address ends in connect=ok when the connection saved, or connect=error&reason=... when it didn’t. Whatever the page shows, check the result from the CLI:
The step is done when connection.status is connected. connection.account names the shop Fluid connected.
3

Choose the warehouse

This changes live configuration: it sets the TikTok warehouse whose stock Fluid publishes. Use the warehouse ID from TikTok Seller Center.
Fluid only accepts a TikTok warehouse ID that one of your Fluid warehouses is linked to. If the command fails because the warehouse isn’t mapped, ask Fluid support to link your Fluid warehouse to that TikTok warehouse ID, then run it again. Until a warehouse is set, every product fails to publish.
4

Choose the products

This changes live configuration: it sends products to TikTok Shop. Decide first between the whole catalog and selected products; see Whole catalog or selected products.
To send only some products, name them instead:
The output’s added counts the products sent. Each one starts as a draft and publishes in the background.
5

Check the sync

listings.byStatus counts the listings in each state and listings.issues counts the ones that need you. Publishing and TikTok Shop’s review take from minutes to a few days. Check again later, backing off between checks, rather than in a loop.
6

Fix rejected products

Each issue has an action and a hint that says what to fix. Fix the product in Fluid, then:
  • For action: retry, retry every failed publish at once. This changes live configuration: fluid channels issues tiktok --retry --yes.
  • For action: fix_and_relist, remove the product and add it again so the corrected version is sent: fluid channels catalog tiktok --remove 4127 --yes, then --add 4127 --yes.
  • For action: resolve_on_channel, TikTok Shop took the listing down. Check the reason in TikTok Shop.
The step is done when count is 0.

Whole catalog or selected products

Fluid lists the products you send, one listing per product. There’s no setting that keeps the whole catalog in step with TikTok Shop on its own, so the choice is about which products you send now and how you add new ones later. Start with a few products if you haven’t sold on TikTok Shop before. You’ll see what TikTok Shop rejects before you send everything. Each product needs, before it’s sent:
  • A description. Fluid stops a product without one before sending it.
  • At least one variant with a positive package length, width, height, and weight.
  • Images. Fluid uploads the product’s images in order.
  • A category. Fluid asks TikTok to recommend one the first time it sends the product. Some categories require attributes Fluid doesn’t send, and the publish fails naming them.
A product missing one of these fails to publish and shows up in fluid channels issues tiktok. TikTok reviews each new product. While it does, auditStatus is auditing; it ends as approved or audit_failed. When a variant’s price or inventory changes in Fluid, the change goes to TikTok automatically. Other edits, such as a new title or description, aren’t sent: remove the product and add it again to send them. To take products off TikTok Shop, use --remove with product IDs, or --remove-all for every listed product. Removing a product deactivates it in TikTok. Adding it again reactivates it.

What the status means

Troubleshooting

  • connect fails with 422. Fluid couldn’t start the connection, usually because the channel isn’t set up for your company yet. Contact Fluid support.
  • The address after approving ends in connect=error. The reason says why. invalid_state means the link was used twice or expired: run connect again for a new one.
  • The reason is no_shops. The account you approved with has no TikTok Shop. Sign in with the shop’s seller account and run connect again.
  • A command fails with 404. The company has no TikTok Shop connection. Run step 1.
  • A command fails with 403. Your token lacks the permission that command needs: Company settings for the connection, Products for products.
  • Adding or removing products fails with 422. The connection isn’t active. Check connection.status and reconnect if it isn’t connected.

Disconnect

Both commands change live configuration. Disconnecting doesn’t take your products off TikTok Shop: they stay listed and stop syncing, and you can’t remove them through Fluid until you reconnect. Remove them first, as above, unless you want them to stay. Fluid clears its tokens and stops syncing. The output’s stillListed counts the products left on TikTok Shop.

Use the API directly

The CLI calls these company operations, all authenticated with a Bearer token:
  1. Start the TikTok OAuth connect flow, which returns the sign-in url.
  2. Get the company’s TikTok Shop connection.
  3. Configure the TikTok warehouse used for inventory publishing.
  4. Publish Fluid products to the connected TikTok Shop.
  5. List the company’s TikTok product listings.
  6. Retry a failed TikTok product listing publish.
  7. Unpublish a TikTok product listing.
  8. Disconnect the company’s TikTok Shop connection.
For the whole catalog, the CLI reads your active products from Fluid’s product list and sends their IDs to the publish operation in batches of 50. Retrying only works on a listing whose publish failed.