Use cases for the Merchandising API
The Merchandising API supports various e-commerce scenarios. The catalog data delivered by the API is filtered based on the request headers and the catalog view, catalog source, policy, and price book configuration in Adobe Commerce Optimizer. This allows you to create tailored storefront experiences for different customer segments, channels, and regions.
E-commerce Storefronts
- Product Catalogs: Display product listings with filtering and sorting
- Search Functionality: Implement product search with autocomplete
- Product Details: Show comprehensive product information and variants
Multi-channel Commerce
- B2B Portals: Customize catalogs for business customers
- Marketplace Integration: Power third-party marketplace listings
- Mobile Apps: Provide consistent data across mobile platforms
- Headless Commerce: Support decoupled frontend architectures
Personalization
- Customer Segmentation: Deliver targeted product recommendations
- Regional Pricing: Display locale-specific pricing and availability
- Dynamic Content: Adapt product displays based on user behavior
- A/B Testing: Support experimentation with different product presentations
Available Queries
The Merchandising API provides several GraphQL queries designed for different use cases.
Query | Description | Use Case |
---|---|---|
products | Retrieve detailed information about specific products by SKU | Product detail pages, product comparison |
productSearch | Search products with filters, sorting, and pagination | Search results, category pages, product listings |
refineProduct | Get variant-specific information for configurable products | Product option selection, variant switching |
variants | Retrieve all variants of a configurable product | Product detail pages, variant galleries |
recommendations | Retrieve personalized product recommendations | Related products, cross-sells, and upsells |
Query Examples
Product Search
Copied to your clipboardquery ProductSearch($search: String!, $pageSize: Int = 20) {productSearch(search: $search, pageSize: $pageSize) {items {idskunameprice {regularPrice {amount {valuecurrency}}}images {urllabelroles}}totalCountpageInfo {currentPagetotalPages}}}
Product Details
Copied to your clipboardquery ProductDetails($skus: [String!]!) {products(skus: $skus) {idskunamedescriptionprice {regularPrice {amount {valuecurrency}}}attributes {codevalue}images {urllabelroles}}}
For detailed examples of each query, see the Merchandising API Reference.