canonical: https://jentic.com/apis/salesforce.com/salesforce

# Salesforce Shopper Products

Retrieve product details, pricing, promotions, availability, and category hierarchies for online storefronts powered by Salesforce Commerce Cloud. The API serves shopper-facing product data including variation attributes, promotional pricing, inventory levels, and images - enabling headless commerce experiences on any channel. Supports personalization via Shopper Context and server-side caching for high-traffic product listing pages.

## For AI agents

Fetch product details, prices, promotions, and category trees from Salesforce Commerce Cloud storefronts. Supports bulk product retrieval (up to 24 per call) and category navigation.

## Scope

Does not handle order management, checkout, basket operations, or inventory writes - use for read-only product and category retrieval only.

## Capabilities

- Retrieve full product details including images, prices, promotions, and inventory availability
- Fetch up to 24 products in a single bulk request for product listing pages
- Navigate category hierarchies and subcategories for storefront navigation
- Access variation product attributes to display size, color, and style options
- Surface promotional pricing and callout messages based on shopper context
- Personalize product responses using the Shopper Context API for device or segment targeting

## Use cases

### AI Agent Product Data Retrieval

AI agents use the Shopper Products API through Jentic to fetch real-time product information for conversational commerce, recommendation engines, or automated catalog synchronization. An agent discovers the getProducts endpoint via Jentic's intent search, retrieves product details including pricing and availability, and uses the data to answer shopper queries or populate external channels - all without manual SFCC configuration.

Example prompt: Retrieve full product details for product ID 'summer-dress-001' from organization 'myOrg' including prices, images, and availability using the getProduct endpoint

### Headless Product Listing Pages

Build product listing pages on custom storefronts, mobile apps, or marketplace channels by fetching up to 24 products per request. The API returns images, prices, promotions, and stock status for each product, with server-side caching ensuring sub-100ms response times for high-traffic pages. Supports filtering by category assignment and sorting by price or relevance.

Example prompt: Fetch the first 24 products from the 'womens-clothing' category for organization 'myOrg' using the getProducts endpoint with category refinement

### Category Navigation for Storefront Menus

Retrieve category hierarchies and subcategory relationships to render navigation menus, breadcrumbs, and faceted browse experiences on headless storefronts. Each category includes its display name, description, parent-child links, and assigned products. The Categories API supports both top-level listing and individual category detail retrieval.

Example prompt: Get the category tree starting from root category 'apparel' for organization 'myOrg' and list all child subcategories using the getCategory endpoint

### Promotional Pricing Display

Surface active promotions and discounted pricing for products based on shopper context, device type, or segment membership. The API returns both regular and promotional prices alongside callout messages that can be rendered on product detail pages. Personalization rules defined in Business Manager are automatically applied when a Shopper Context is set.

Example prompt: Retrieve product 'running-shoes-pro' with promotional pricing applied for a mobile shopper context using the getProduct endpoint with shopper context headers

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /organizations/{organizationId}/products/{id} | Get full details for a single product |
| GET | /organizations/{organizationId}/products | Get multiple products by IDs (up to 24) |
| GET | /organizations/{organizationId}/categories/{id} | Get a single category with subcategories |
| GET | /organizations/{organizationId}/categories | Get multiple categories by IDs |

## Key resources

- **Products** — Retrieve individual product details or bulk-fetch up to 24 products with pricing, images, and availability
- **Categories** — Navigate category hierarchies and retrieve category metadata for storefront navigation

## Why Jentic

- **Setup:** Wiring Salesforce Commerce Cloud Shopper Products by hand means running the SLAS OAuth flow, substituting the right shortCode into the commercecloud.salesforce.com host, threading the organizationId, and handling token refresh and retries yourself. Through Jentic you install once, import Shopper Products from the API Directory, store the OAuth credentials once, and your agent calls it.
- **Permission scoping:** This API puts the organization and resource ids in the URL path (/organizations/{organizationId}/products/{id}), so a rule can pin your agent to one organization's catalog: it can read the products and categories you allow and nothing else. The spec exposes only GET operations, so it is read-only and no writes are possible.
- **Credential handling:** Your Salesforce SLAS OAuth credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get product details from Commerce Cloud' or 'list categories', and Jentic returns the matching Shopper Products operation with its input schema, including the required organizationId and product id, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Shopify API** — Shopify's storefront and admin APIs for e-commerce product management
- **HubSpot CRM Products** — HubSpot product catalog for CRM line items and deal products
- **Stripe API** — Payment processing API often used alongside commerce product catalogs

## FAQ

### What authentication does the Shopper Products API use?

The API uses OAuth 2.0 via the Shopper Login and API Access Service (SLAS). You need a shopper access token with the appropriate product-read scopes configured in your SLAS client ID. Through Jentic, SLAS tokens are managed in your Jentic One instance so agents never handle raw client credentials or token refresh logic directly.

### Can I retrieve multiple products in a single API call?

Yes. The GET /organizations/{organizationId}/products endpoint accepts up to 24 product IDs as query parameters and returns full details for each, including images, prices, promotions, and availability. This is optimized for populating product listing pages in a single request.

### What are the rate limits for the Shopper Products API?

Salesforce Commerce Cloud applies per-tenant rate limits based on your subscription tier. Typical limits are 200 requests per second for shopper APIs. Server-side JWA caching reduces origin hits for repeated product queries, with TTL configurable in Business Manager Feature Switches.

### How do I fetch product data through Jentic for an AI agent?

Install the SDK with pip install jentic, then search for 'get product details from Salesforce Commerce Cloud'. Jentic returns the getProduct operation with its input schema including organizationId and product ID parameters. Load the schema and execute the call - the OAuth token exchange is handled automatically by your Jentic One instance.

### Does the API return promotional pricing information?

Yes. Product responses include both regular and promotional prices when active promotions apply. Non-conditional product promotions show discounted prices directly. Basket-level and shipping promotions are not included in product responses - those appear only in basket API calls. Callout messages are always returned regardless of promotion type.

### Can I personalize product responses by shopper segment?

Yes. Set values in the Shopper Context API (device type, customer group, or custom attributes) and the Shopper Products API applies matching personalization rules. For example, you can return mobile-specific pricing or segment-exclusive promotions. Personalized responses bypass the JWA cache when the context affects product-promotion data.

### Is this API free to use?

The Shopper Products API is included with Salesforce Commerce Cloud subscriptions (B2C Commerce). There is no separate per-call charge, but you need an active Commerce Cloud license. API access is provisioned through Account Manager with appropriate SLAS client configuration.

### Can I limit what my agent is allowed to do with the Shopper Products API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, and this API only exposes GET operations, so an agent can read products and categories but can never write, create orders, or modify inventory. Since the organization and resource ids sit in the URL path (/organizations/{organizationId}/products/{id}), you can pin the agent to a single organization's catalog and let it call only the getProduct, getProducts, getCategory, and getCategories operations you approve. Your Salesforce SLAS OAuth credentials are stored encrypted by your own instance and injected at execution time, so the agent reads only the products and categories you allow and nothing else.
