Get a content asset by its unique identifier. Only content assets that are marked as online are returned.
Content assets contain rich content that can be displayed on storefronts, including text, HTML, images, and custom attributes.
Important*:
If you would like to get a raw Response object use the other getContent function.
An object containing the options for this method.
A promise of type Content.
Get a content asset by its unique identifier. Only content assets that are marked as online are returned.
Content assets contain rich content that can be displayed on storefronts, including text, HTML, images, and custom attributes.
Important*:
An object containing the options for this method.
Set to true to return entire Response object instead of DTO.
A promise of type Response if rawResponse is true, a promise of type Content otherwise.
To access a content folder, you construct a URL using the template shown below. This template requires you to specify a content folder id and a subfolder level. In response, the server returns a corresponding content folder document. Only content folders which are marked as online are returned.
If you would like to get a raw Response object use the other getContentFolder function.
An object containing the options for this method.
A promise of type ContentFolder.
To access a content folder, you construct a URL using the template shown below. This template requires you to specify a content folder id and a subfolder level. In response, the server returns a corresponding content folder document. Only content folders which are marked as online are returned.
An object containing the options for this method.
Set to true to return entire Response object instead of DTO.
A promise of type Response if rawResponse is true, a promise of type ContentFolder otherwise.
To access one or more content folders, you construct a URL using the template shown below. This template requires you to specify one or more content folder ids as a query parameter and a subfolder level. In response, the server returns a result set of corresponding content folder documents. Only content folders which are marked as online are returned.
If you would like to get a raw Response object use the other getContentFolders function.
An object containing the options for this method.
A promise of type ContentFolderResult.
To access one or more content folders, you construct a URL using the template shown below. This template requires you to specify one or more content folder ids as a query parameter and a subfolder level. In response, the server returns a result set of corresponding content folder documents. Only content folders which are marked as online are returned.
An object containing the options for this method.
Set to true to return entire Response object instead of DTO.
A promise of type Response if rawResponse is true, a promise of type ContentFolderResult otherwise.
Get multiple content assets by their identifiers. Only content assets that are marked as online are returned.
This endpoint allows you to retrieve multiple content assets in a single request, which is more efficient than making multiple individual requests.
Important*:
If you would like to get a raw Response object use the other getMultipleContent function.
An object containing the options for this method.
A promise of type ContentResult.
Get multiple content assets by their identifiers. Only content assets that are marked as online are returned.
This endpoint allows you to retrieve multiple content assets in a single request, which is more efficient than making multiple individual requests.
Important*:
An object containing the options for this method.
Set to true to return entire Response object instead of DTO.
A promise of type Response if rawResponse is true, a promise of type ContentResult otherwise.
Get a Page Designer page for a specific page ID. The results apply the visibility rules for the page's components, such as personalization or scheduled visibility.
Important*:
If you would like to get a raw Response object use the other getPage function.
An object containing the options for this method.
A promise of type Page.
Get a Page Designer page for a specific page ID. The results apply the visibility rules for the page's components, such as personalization or scheduled visibility.
Important*:
An object containing the options for this method.
Set to true to return entire Response object instead of DTO.
A promise of type Response if rawResponse is true, a promise of type Page otherwise.
Get Page Designer pages. The results apply the visibility rules for each page's components, such as personalization or scheduled visibility.
You must provide the aspectTypeId along with either a categoryId or a productId. Since you can only create one page-to-product or page-to-category assignment per aspect type, the result contains at most one element.
Important*:
If you would like to get a raw Response object use the other getPages function.
An object containing the options for this method.
A promise of type PageResult.
Get Page Designer pages. The results apply the visibility rules for each page's components, such as personalization or scheduled visibility.
You must provide the aspectTypeId along with either a categoryId or a productId. Since you can only create one page-to-product or page-to-category assignment per aspect type, the result contains at most one element.
Important*:
An object containing the options for this method.
Set to true to return entire Response object instead of DTO.
A promise of type Response if rawResponse is true, a promise of type PageResult otherwise.
Resolves a list of customer groups, campaigns, promotions, and data bindings for the given user.
The endpoint takes each value and determines whether the user is active for the item:
Returns a boolean result for each provided qualifier and resolved data binding objects grouped by provider type and record identifier. If a qualifier cannot be validated, false is returned for that item. If a data binding cannot be resolved, it is omitted from the response.
If you would like to get a raw Response object use the other resolveQualifiers function.
An object containing the options for this method.
A promise of type QualifierResolveResponse.
Resolves a list of customer groups, campaigns, promotions, and data bindings for the given user.
The endpoint takes each value and determines whether the user is active for the item:
Returns a boolean result for each provided qualifier and resolved data binding objects grouped by provider type and record identifier. If a qualifier cannot be validated, false is returned for that item. If a data binding cannot be resolved, it is omitted from the response.
An object containing the options for this method.
Set to true to return entire Response object instead of DTO.
A promise of type Response if rawResponse is true, a promise of type QualifierResolveResponse otherwise.
Provides keyword and refinement search functionality for content assets. The search result contains only content that is online and assigned to a folder.
Refinement Parameters:* The following system refinement attribute IDs are supported:
fdid: Allows refinement per single content folder ID. Multiple folder IDs are not supported.Important*:
If you would like to get a raw Response object use the other searchContent function.
An object containing the options for this method.
A promise of type ContentSearchResult.
Provides keyword and refinement search functionality for content assets. The search result contains only content that is online and assigned to a folder.
Refinement Parameters:* The following system refinement attribute IDs are supported:
fdid: Allows refinement per single content folder ID. Multiple folder IDs are not supported.Important*:
An object containing the options for this method.
Set to true to return entire Response object instead of DTO.
A promise of type Response if rawResponse is true, a promise of type ContentSearchResult otherwise.
Generated using TypeDoc
Shopper Experience
*Download API specification
API Overview
Use the Shopper Experience API to look up page information for pages created in Page Designer, search and retrieve content assets, and access content folders.
Authentication & Authorization
The Shopper Experience API requires a shopper access token from the Shopper Login and API Access Service (SLAS).
For details on how to request a shopper access token from SLAS, see the guest user flows for public clients and private clients in the SLAS guides.
You must include
sfcc.shopper-experiencein the client ID used to generate the SLAS token. For a full list of required permissions, see the Authorization Scopes Catalog.Important*: Currently, the Shopper Experience Pages endpoints can’t be used when the storefront password protection feature is enabled.
Use Cases
Access Content Folders
The API provides access to content folders, which are used to organize and manage content assets. Content folders support:
Only content folders that are marked as online are returned in the API responses.
Search Content Assets
Search for content assets using keywords and refinement filters. The search functionality supports:
Only content assets that are online and assigned to a folder are included in search results.
Batch Retrieval
Retrieve multiple content assets or content folders in a single API request for improved performance (up to 50 content assets or folders at once).
Page Responses
Responses for pages include the following:
Both the page and components contain the values of all native and custom attributes that have been populated during page authoring.
Only visible pages are returned. Because the visibility of components is driven by rules (scheduling or customer groups, for example), these rules are subject to evaluation when assembling the component hierarchy in the response. Only components that are visible for the current customer context appear in the response. The same rules apply to the page itself, which is only be processed and returned if it is visible.
Content Asset Responses
Content asset responses include:
Only content assets that are marked as online are returned. Content assets provide flexible content management capabilities for storefronts.*
Simple example:
API Version: 0.0.33import { ShopperExperience } from "commerce-sdk-isomorphic"; const clientConfig = { parameters: { clientId: "XXXXXX", organizationId: "XXXX", shortCode: "XXX", siteId: "XX" } }; const shopperExperienceClient = new ShopperExperience(clientConfig);Last Updated: