Skip to main content

Salesforce B2B Commerce Cloud

Salesforce B2B Commerce Cloud is a comprehensive e-commerce platform designed for business-to-business transactions, enabling companies to create personalized buying experiences, manage complex pricing structures, and streamline B2B sales processes.

Salesforce B2B Commerce Cloud icon

Power end-to-end data operations for your Salesforce B2B Commerce Cloud API with Nexla. Our bi-directional Salesforce B2B Commerce Cloud connector is purpose-built for Salesforce B2B Commerce Cloud, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Salesforce B2B Commerce Cloud or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Salesforce B2B Commerce Cloud workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Nexla connects to Salesforce B2B Commerce Cloud over OAuth 2.0. You sign in to Salesforce and approve access — Nexla never asks for or stores a Salesforce password. Before you begin, check that:

  • Your Salesforce edition includes API access. Enterprise, Unlimited, Performance, and Developer editions include it. Professional Edition requires the API add-on. If you aren't sure, ask your Salesforce administrator.

  • Your Salesforce user has the API Enabled permission. This is standard on most profiles, but restricted profiles sometimes have it turned off. An administrator can enable it under Setup > Users, on the user's profile or an assigned permission set, under System Permissions.

  • That user can see the commerce data you want to move. Nexla operates under the permissions of whoever authorizes the connection, so it can read exactly what that person can. For production flows, authorize with a dedicated integration user rather than a personal account.

Set up Salesforce

Nexla connects either through an app you create in your own Salesforce org, or through Nexla's Salesforce app. Each needs a one-time action from a Salesforce administrator. After that, creating credentials in Nexla is the same either way.

Your own Salesforce appNexla's Salesforce app
One-time Salesforce setupAn administrator creates an external client appAn administrator approves Nexla for your org
Scopes, token policies, and IP restrictionsSet by you, in your orgSet by Nexla
Sandbox orgsSupportedNot supported — production only
Choose this ifYour security team wants control over the app's permissions and policiesYou want to connect without creating an app

Ask your Salesforce administrator to follow these steps and send you the resulting Consumer Key and Consumer Secret. Everything happens in Salesforce Setup — no Nexla access is needed.

  1. Go to Setup. In the Quick Find box, enter External Client, select External Client App Manager, and click New External Client App.

  2. Enter a name that identifies the integration, such as Nexla, and a Contact Email. Set Distribution State to Local, which keeps the app private to your org.

  3. Expand the API (Enable OAuth Settings) section and select Enable OAuth.

  4. In the Callback URL field, enter both of these, one per line:

    https://dataops.nexla.io/oauth2Auth
    https://dataops.nexla.io/nexla-api/oauth/callback

    Each has to match exactly, or Salesforce rejects the authorization with a redirect_uri_mismatch error. If your organization runs a dedicated Nexla installation, replace https://dataops.nexla.io with your own Nexla address.

  5. From Available OAuth Scopes, move these three to Selected OAuth Scopes:

    • Manage user data via APIs (api) — reads your commerce records over the REST API.
    • Perform requests at any time (refresh_token, offline_access) — keeps scheduled flows running without anyone re-authorizing.
    • Access the identity URL service (id, profile, email, address, phone) — confirms which user and org the credential is connected to.

    These cover the product, category, and object endpoints this connector reads. Other Salesforce products need their own scope on top — CRM Analytics (wave_api) or Data Cloud (cdp_query_api), for example.

  6. In the same section, set the three security options:

    • Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows — enable. Nexla sends a PKCE challenge on every authorization.
    • Require Secret for the Web Server Flow — leave disabled. Nexla uses PKCE instead of a client secret at this step, so enabling this stops the authorization from completing.
    • Require Secret for Refresh Token Flow — enable. Nexla does send the client secret when it refreshes a token.
  7. Click Create. Salesforce may ask you to verify your identity by email.

  8. Open the new app, select the Settings tab, expand OAuth Settings, and click Consumer Key and Secret. These are the two values to send back — in Nexla they're entered as Client ID and Client Secret.

Optional hardening. On the app's Policies tab, you can also:

  • Set Permitted Users to Admin approved users are pre-authorized, then assign the profiles or permission sets allowed to connect Nexla.
  • Enable Refresh Token Rotation, and set Refresh Token Policy to expire the refresh token if it isn't used for 30 days. Nexla refreshes tokens continuously, so an active credential is never affected.
  • Set IP Relaxation to Enforce IP restrictions, and add Nexla's addresses — 34.231.167.112, 54.209.27.1, and 35.245.202.207 — to the login IP ranges of the profiles permitted to use the app.

A sandbox has its own external client apps. To connect a sandbox, repeat these steps in the sandbox org — a consumer key from your production org won't work there.

Authenticate

Credentials required

Connect using Nexla's shared Salesforce app — no app setup required. A Salesforce admin must approve Nexla for your org once.

This method requires no credential fields.

Create a credential in Nexla

  1. After selecting the data source type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Salesforce B2B Commerce Cloud

SalesforceB2BCCCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Select the authentication method from the Authentication Type pulldown menu, and follow the corresponding instructions below.

Configure Authentication Settings

Connect to a production org using the external client app created in your Salesforce org.

  1. Enter the Consumer Key of your external client app in the Client ID field, and the Consumer Secret in the Client Secret field. Your Salesforce administrator obtains both when they create the app.
  2. Click the Authorize button, sign in to Salesforce, and approve access. Sign in as the user whose permissions this connection should operate under.
  3. Click Save. Nexla checks the connection before saving, so any configuration problem surfaces now rather than when a flow first runs.
  1. The credential now appears as a tile on the Authenticate screen and can be selected for any Salesforce B2B Commerce Cloud data source.

Nexla refreshes Salesforce access tokens automatically, so scheduled flows keep running without anyone re-authorizing. If a credential does stop working — because an administrator revoked access, or the refresh token expired under your org's policy — Nexla flags it, and reconnecting is a matter of opening the credential and clicking Authorize again. The flows using it are unaffected.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Salesforce B2B Commerce Cloud connector tile, then select the credential that will be used to connect to your Salesforce B2B Commerce Cloud account, and click Next; or, create a new Salesforce B2B Commerce Cloud credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Salesforce B2B Commerce Cloud endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Get Detailed Category Information

This endpoint template retrieves all information about all categories, including nested related attributes, from your Salesforce B2B Commerce Cloud account. Use this template when you need to retrieve comprehensive category information for your e-commerce catalog.

  • This endpoint automatically retrieves all categories from your Salesforce B2B Commerce Cloud account. The endpoint uses offset-based pagination to handle large datasets efficiently, returning up to 500 records per page by default.

This endpoint returns all information about all categories, including nested related attributes, from your Salesforce B2B Commerce Cloud account. The endpoint uses offset-based pagination with offset and limit parameters to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by incrementing the offset parameter.

For detailed information about categories, API response structures, pagination, and ways to fetch filtered lists, see the Salesforce B2B Commerce Cloud Category REST API documentation.

Get Detailed Product Information

This endpoint template retrieves all information about all products, including related attributes, from your Salesforce B2B Commerce Cloud account. Use this template when you need to retrieve comprehensive product information for your e-commerce catalog.

  • This endpoint automatically retrieves all products from your Salesforce B2B Commerce Cloud account, including blocked products. The endpoint uses offset-based pagination to handle large datasets efficiently, returning up to 500 records per page by default.

This endpoint returns all information about all products, including related attributes, from your Salesforce B2B Commerce Cloud account. The endpoint uses offset-based pagination with offset and limit parameters to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by incrementing the offset parameter.

For detailed information about products, API response structures, pagination, and ways to fetch filtered lists, see the Salesforce B2B Commerce Cloud Product REST API documentation.

Get Basic Category Information

This endpoint template retrieves some basic information about all categories from your Salesforce B2B Commerce Cloud account. Use this template when you need to retrieve basic category information without all nested attributes.

  • This endpoint automatically retrieves basic category information from your Salesforce B2B Commerce Cloud account. The endpoint uses next URL-based pagination to handle large datasets efficiently.

This endpoint returns some basic information about all categories from your Salesforce B2B Commerce Cloud account, including category IDs, names, and owner IDs. The endpoint uses next URL-based pagination with nextRecordsUrl to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by following the next records URL returned in the API response.

For detailed information about SOQL queries, API response structures, and ways to fetch filtered lists, see the Salesforce SOQL documentation.

Get Basic Product Information

This endpoint template retrieves some basic information about all products from your Salesforce B2B Commerce Cloud account. Use this template when you need to retrieve basic product information without all related attributes.

  • This endpoint automatically retrieves basic product information from your Salesforce B2B Commerce Cloud account. The endpoint uses next URL-based pagination to handle large datasets efficiently.

This endpoint returns some basic information about all products from your Salesforce B2B Commerce Cloud account, including product IDs, names, SKUs, product types, product statuses, and other basic fields. The endpoint uses next URL-based pagination with nextRecordsUrl to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by following the next records URL returned in the API response.

For detailed information about SOQL queries, API response structures, and ways to fetch filtered lists, see the Salesforce SOQL documentation.

Execute SOQL Query

This endpoint template allows you to fetch resources by specifying a SOQL (Salesforce Object Query Language) query. Use this template when you need to retrieve data using custom SOQL queries to filter and select specific fields.

  • Enter the SOQL query string in the Query String field. This should be a valid SOQL query (e.g., SELECT Id, Name FROM Account WHERE CreatedDate > 2024-01-01T00:00:00Z). The query string determines which records will be retrieved and which fields will be included in the response.

This endpoint executes a SOQL query to fetch resources from your Salesforce B2B Commerce Cloud account. The endpoint uses next URL-based pagination with nextRecordsUrl to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by following the next records URL returned in the API response.

For detailed information about SOQL queries, query syntax, available objects, and ways to construct queries, see the Salesforce SOQL documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Salesforce B2B Commerce Cloud data sources can also be manually configured to ingest data from any valid Salesforce B2B Commerce Cloud API endpoint, including endpoints not covered by the pre-built templates or endpoints that require chained API calls or custom query parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Salesforce B2B Commerce Cloud API typically uses the GET method. The endpoint URL should include your instance URL (e.g., https://your-instance.salesforce.com/services/apexrest/ccrz/cccategory/v8/fetch). For the Response Data Path, use $.records[*] for SOQL query results, $.categoryList[*] for the category list, $.productList[*] for the product list, or $ for single-record endpoints, depending on the endpoint. Salesforce B2B Commerce Cloud API uses next URL-based pagination (via $.nextRecordsUrl) for some endpoints, and offset-based pagination (offset/limit parameters) for others; select the pagination type that matches your endpoint.

Once all of the relevant settings have been configured, click the Next button to proceed with the rest of the data flow configuration, or click the Save button to save the new Salesforce B2B Commerce Cloud data source for later use.