Overview
This article walks you through connecting TikTok Shop and Salesforce Commerce Cloud (SFCC) so the app can route TikTok Shop orders into SFCC for downstream order management and fulfillment.
SFCC is configured in fulfillment mode for this integration - orders flow from TikTok Shop into SFCC, and shipping requests, fulfillments, and inventory flow back. SFCC isn't the sales channel; it's the downstream system of record.
This integration does not require a Pipe17 SFCC cartridge. The connection is API-based and works against your existing SFCC instance.
For Salesforce Order Management (SOM) or Salesforce Service Cloud (SFSC), see the Salesforce connector documentation. Those are separate connectors with different setup flows.
What syncs
| Data | Direction | Notes |
|---|---|---|
| Orders | App → Salesforce | TikTok Shop orders pushed into Salesforce. Includes cancellations through the order status flow. |
| Products | Salesforce → App | Pulled in from Salesforce. |
| Shipping requests | Salesforce → App | Salesforce drives the shipping request flow. |
| Fulfillments | Salesforce → App | Pulled in after orders ship. Pushed back to TikTok Shop. |
| Inventory | Salesforce → App | Pulled in and synced to TikTok Shop. |
Before you begin
SFCC requires substantial side configuration before the Pipe17 connection works. Gather and configure these before starting:
- TikTok Shop connected to the app first. See Connect TikTok to Pipe17.
- SFCC admin access with permissions to manage API clients, OCAPI settings, and user roles.
- SFCC API clients in Account Manager → API Client with the Salesforce Commerce API role and the OAuth scopes listed in Step 1.
- A Business Manager user with the five roles listed in Step 1.
You'll need these credentials in Step 3:
- Short Code, Organization ID, Site ID, OCAPI Url
- B2C API Client ID and B2C API Client Password
- B2C Shop API Client ID and B2C Shop API Client Password
- OCAPI Client ID and OCAPI Client Password
- Business Manager User Name and Business Manager User Password
Step 1 → Create the API clients
You'll need three separate API clients for this integration. Each maps to a different set of credentials in Pipe17.
In Account Manager → API Client, create three new clients. To make them easy to identify later, use distinct display names, for example:
| API client | Suggested display name | Used for | Credentials it provides in Pipe17 |
|---|---|---|---|
| 1 | Pipe17 B2C API | B2C Commerce API authentication | B2C API Client ID and B2C API Client Password |
| 2 | Pipe17 B2C Shop API | B2C Shopper API authentication | B2C Shop API Client ID and B2C Shop API Client Password |
| 3 | Pipe17 OCAPI | Open Commerce API authentication | OCAPI Client ID and OCAPI Client Password |
Apply the same settings to each of the three clients:
- Role: Salesforce Commerce API
-
Default scopes:
mail,roles,tenantFilter,profile,openId -
Allowed scopes:
sfcc.orders.rwsfcc.catalogs.rwsfcc.inventory.impex-inventory.rwsfcc.inventory.availability.rwsfcc.inventory.reservations.rwsfcc.customerlists.rwsfcc.products.rw
-
Redirect URIs:
any -
Token Endpoint Auth Method:
client_secret_post -
Access Token Format:
JWT
After saving each client, copy its API Client ID and password. You'll enter all six values in Step 3.
Tip: Keep the display name pattern (Pipe17 B2C API, Pipe17 B2C Shop API, Pipe17 OCAPI) consistent so the API Client list in Account Manager makes the mapping to Pipe17 credential fields obvious at a glance.
Step 2: Confirm TikTok Shop is connected
Open the TikTok Shop connector in the app and confirm it's connected with Pull orders and Push fulfillments enabled, plus any other flows you need.
Step 3: Connect SFCC in the app
- Add the SFCC connector from the connector catalog if it isn't already under Integrations.
- Open the SFCC settings and enter:
- Short Code
-
Organization ID (a short string like
f_ecom_zzte_053) -
Site ID (the site or channel name, for example
RefArchorSiteGenesis) -
OCAPI URL (for example,
https://f_ecom_xxxx_000.dx.commercecloud.salesforce.com) - B2C API Client ID and B2C API Client Password
- B2C Shop API Client ID and B2C Shop API Client Password
- OCAPI Client ID and OCAPI Client Password
- Business Manager User Name and Business Manager User Password
- Save the configuration.
- Click Connect. Confirm the integration shows as connected with no errors.
Step 4: Configure the default customer
SFCC requires every order to be associated with a customer object. TikTok Shop does not share buyer information, so all TikTok Shop orders must be associated with a single generic customer.
- In SFCC, create a generic customer to represent TikTok Shop buyers.
- In the SFCC connector settings in the app, set the customer matching strategy to Use a generic customer for all orders.
- Enter the Generic Customer Number that points to the SFCC customer you created.
The app supports six customer matching strategies. Only the first one works for TikTok Shop:
- Use a generic customer for all orders (required for TikTok Shop)
- Match by email, create if it doesn't exist
- Match by email, use a generic customer if it doesn't exist
- Match by company name, create if it doesn't exist
- Match by company name, use a generic if it doesn't exist
- Match by company name then by email, with a generic as fallback
Strategies that rely on email or company name will fail for TikTok Shop because TikTok does not share that information.
Step 5: Match SKUs across TikTok Shop and Salesforce
The app uses SKU to match products across channels. Identical SKUs across TikTok Shop and Salesforce are linked automatically.
If a product uses a different SKU in Salesforce than in TikTok Shop, map it on the product record:
- Open the product in Products.
- Scroll to Channel Options.
- In the Salesforce row, enter the Salesforce SKU in the Channel SKU column.
- Save.
- The TikTok Shop row has no Channel SKU column. TikTok SKUs must match the master SKU in the app directly.
- The Channel SKU column is hidden on parent products with no channel SKUs set. Open a child or variant to set values.
Step 6: Map shipment methods
Every order pushed into Salesforce must reference a valid SFCC shipping method ID.
- In the SFCC connector's Orders to Salesforce mapping, configure the shipment method mapping so
shipments[0].shipping_method.iduses a real SFCC shipping method ID rather than a placeholder. - Map every TikTok Shop shipping option you expect to receive to its corresponding SFCC shipping method.
Without this mapping, Salesforce will reject orders that don't reference a valid shipping method.
Step 7: Map the payment method
Salesforce requires every order to reference a payment method. Create a generic SFCC payment method for TikTok Shop orders so they're easy to identify in SFCC.
- In SFCC, create a payment method dedicated to TikTok Shop orders. A common identifier is
TTS. -
In the SFCC connector's Orders to Salesforce mapping, configure the payment method using a script similar to the following, replacing
TTSwith the payment method identifier you created:((sourcedoc) => { return [{ "payment_method_id": 'TTS', "amount": sourcedoc.payments[0].amount }] })(sourcedoc)
Step 8: Enable sync settings
On the SFCC connector, configure:
- Push orders to Salesforce - pushes TikTok Shop orders into Salesforce.
-
Order statuses to push - by default, the app pushes orders in
readyForFulfillmentandcanceledstatuses. Keepcanceledin the list so that canceling a TikTok Shop order also cancels the order in Salesforce. Adjust the other statuses if your operation differs. - Push only orders with specific source channels - optional. Use this to restrict the connector to TikTok Shop orders only (rather than orders from other connected channels).
- Mark order as sent to fulfillment once created in Salesforce - optional. Enable so the app automatically transitions orders to Sent to Fulfillment after they're created in Salesforce.
- Pull product catalog from Salesforce - pulls the SFCC product catalog into the app.
- Pull shipping requests from Salesforce - Salesforce drives the shipping request flow.
- Pull fulfillment information from Salesforce - pulls fulfillment data after orders ship.
- Pull inventory information from Salesforce to Pipe17 - pulls inventory and syncs it to TikTok Shop.
Make sure Push fulfillments is enabled on the TikTok Shop connector so fulfillment data flows back to TikTok Shop.
Best practices
- Complete the full SFCC-side configuration (API clients, OCAPI settings, user roles) before opening the Pipe17 connector. The connection cannot be tested until all of it is in place.
- Use Use a generic customer for all orders. TikTok Shop does not share buyer information, so matching by email or company name fails.
- Create a dedicated SFCC payment method (such as
TTS) for TikTok Shop orders so they're easy to identify in SFCC. - Map every TikTok Shop shipping option to a real SFCC shipping method ID before pushing live orders.
- Use Push only orders with specific source channels if you have multiple connected sales channels and only want TikTok Shop orders pushed to Salesforce.
- Test with one TikTok Shop order before enabling full sync. Confirm the order lands in Salesforce with the correct customer, shipping method, and payment method.
- Update the OCAPI
_vvalue to the version current at the time you're configuring.
Troubleshooting
-
SFCC connection fails after entering credentials
Verify each credential entered in Step 3, paying special attention to the Short Code, Organization ID, Site ID, and OCAPI Url. Confirm both the B2C API and B2C Shop API client credentials are correct. Confirm the Business Manager user has all five required roles. Re-check the API client's scopes and the OCAPI configuration JSON. -
Authentication errors after a previously working connection
The API client credentials may have changed in SFCC, or the user's roles may have been modified. Confirm each API client is still active in Account Manager → API Client and that the Business Manager user retains all required roles. -
Orders aren't being pushed to Salesforce
Confirm Push orders to Salesforce is enabled and that TikTok Shop orders are being ingested into the app. Check whether Push only orders with specific source channels is configured - if populated, only those channels are pushed. -
Salesforce rejects orders because the customer is missing
The Generic Customer Number on the SFCC connector is missing or points to a customer that doesn't exist. Confirm the default customer is set (Step 4) and the SFCC customer number is correct. -
Salesforce rejects orders because the shipping method is invalid
Confirm the shipment method mapping in Orders to Salesforce mapping uses a real SFCC shipping method ID (Step 6). -
Salesforce rejects orders because the payment method is missing
Confirm the payment method mapping is configured to use a real SFCC payment method ID (Step 7). -
Canceling a TikTok Shop order doesn't cancel the order in Salesforce
Confirmcanceledis included in Order statuses to push on the SFCC connector. Without it, cancellations do not propagate. -
Salesforce products aren't appearing in the app
Confirm Pull product catalog from Salesforce is enabled and that the API clients have thesfcc.products.rwandsfcc.catalogs.rwscopes. If totals or fields still look off, enable Force product catalog resync to refresh. -
Inventory totals look wrong
Confirm Pull inventory information from Salesforce to Pipe17 is enabled and that the API clients have thesfcc.inventory.availability.rwandsfcc.inventory.impex-inventory.rwscopes. If totals still look off, enable Force inventory catalog resync to refresh. -
Fulfillment data isn't appearing in the app or on TikTok Shop
Confirm Pull fulfillment information from Salesforce is enabled on the SFCC connector and Push fulfillments is enabled on the TikTok Shop connector. -
Products aren't matching across TikTok Shop and Salesforce
Check that SKUs match exactly - including case and whitespace. If a Salesforce SKU legitimately differs, map it in the Salesforce row of Channel Options. -
The Channel SKU column is missing on the TikTok Shop row
Expected. TikTok Shop doesn't support per-channel SKU mapping. -
The Channel SKU column is hidden on a parent product
Open a child or variant to set channel SKUs.
Need Help?
If you need additional assistance:
- Use Ask Pippen, our AI agent, located at the top of the app page.
- Submit a support request with as much relevant detail as possible. Learn how to submit a request.
- For urgent issues, email us directly at support@pipe17.com.
We're here to help you succeed with your operations.
Comments
0 comments