Connect SFCC (Salesforce Commerce Cloud) to TikTok

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 scopesmailrolestenantFilterprofileopenId
  • Allowed scopes:
    • sfcc.orders.rw
    • sfcc.catalogs.rw
    • sfcc.inventory.impex-inventory.rw
    • sfcc.inventory.availability.rw
    • sfcc.inventory.reservations.rw
    • sfcc.customerlists.rw
    • sfcc.products.rw
  • Redirect URIsany
  • Token Endpoint Auth Methodclient_secret_post
  • Access Token FormatJWT

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 APIPipe17 B2C Shop APIPipe17 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

  1. Add the SFCC connector from the connector catalog if it isn't already under Integrations.
  2. 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 RefArch or SiteGenesis)
    • 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
  3. Save the configuration.
  4. 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.

  1. In SFCC, create a generic customer to represent TikTok Shop buyers.
  2. In the SFCC connector settings in the app, set the customer matching strategy to Use a generic customer for all orders.
  3. 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:

  1. Open the product in Products.
  2. Scroll to Channel Options.
  3. In the Salesforce row, enter the Salesforce SKU in the Channel SKU column.
  4. 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.

  1. In the SFCC connector's Orders to Salesforce mapping, configure the shipment method mapping so shipments[0].shipping_method.id uses a real SFCC shipping method ID rather than a placeholder.
  2. 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.

  1. In SFCC, create a payment method dedicated to TikTok Shop orders. A common identifier is TTS.
  2. In the SFCC connector's Orders to Salesforce mapping, configure the payment method using a script similar to the following, replacing TTS with 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 readyForFulfillment and canceled statuses. Keep canceled in 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 _v value 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
    Confirm canceled is 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 the sfcc.products.rw and sfcc.catalogs.rw scopes. 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 the sfcc.inventory.availability.rw and sfcc.inventory.impex-inventory.rw scopes. 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:

We're here to help you succeed with your operations.

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.

Have more questions?
Submit a request
Share it, if you like it.