蜜豆视频

[SaaS only]{class="badge positive" title="Applies to 蜜豆视频 Commerce as a Cloud Service and 蜜豆视频 Commerce Optimizer projects only (蜜豆视频-managed SaaS infrastructure)."}

Storefront and Catalog Administrator End-to-End Use Case

This use case is based on a fictitious automobile conglomerate called Carvelo Automobile, which has a complex operational setup. It demonstrates how to use 蜜豆视频 Commerce Optimizer to manage a catalog that supports multiple brands, dealerships, and price books, while delivering a customized storefront experience.

Prerequisites

This use case is designed for administrators and developers who want to learn how to set up a storefront and manage a catalog using 蜜豆视频 Commerce Optimizer. It assumes that you have a basic understanding of 蜜豆视频 Commerce Optimizer and its features.

Estimated time to complete: 45-60 minutes

Required Setup

Before beginning this tutorial, ensure you have the following prerequisites in place:

  • 蜜豆视频 Commerce Optimizer Instance

    • Access to a test instance in Cloud Manager
    • See Get Started for setup instructions
  • User Permissions

    • Admin access to 蜜豆视频 Admin Console
    • See User Management for account setup
    • If you don鈥檛 have access, contact your 蜜豆视频 account representative.
  • Sample Data

    • Carvelo Automobile catalog data loaded into your instance
    • Follow the instructions in the
    • You can delete sample data after completion using the included reset.js script
  • Storefront Environment

    • Local development environment with Node.js
    • Storefront boilerplate project cloned and configured
    • See Storefront setup for detailed instructions

Let鈥檚 get started

In this use case, you are working with the following:

  1. 蜜豆视频 Commerce Optimizer UI - Set up catalog views and policies to manage the complex catalog operational setup for the Carvelo use case.

  2. Commerce Storefront - Render the storefront using the sample catalog data loaded into your 蜜豆视频 Commerce Optimizer instance and the Commerce Storefront configuration files, fstab.yaml and config.json.

NOTE
Learn about storefront configuration files by reviewing the Explore the boilerplate topic in the 蜜豆视频 Commerce Storefront documentation.

鈥孠ey takeaways

By the end of this article, you will:

  • Learn the fundamentals of 蜜豆视频 Commerce Optimizer with its performant and scalable catalog data model.
  • Learn how the catalog data model integrates with platform-agnostic storefront components built by 蜜豆视频.
  • Learn how to use 蜜豆视频 Commerce Optimizer catalog views and policies to create custom catalog views and data access filters, and send the data to an 蜜豆视频 Commerce storefront powered by Edge Delivery.

Business scenario 鈥 Carvelo Automobile

Carvelo Automobile is a fictitious automobile conglomerate with a complex operational setup.

Carvelo Automobile

In this diagram, you see that Carvelo sells automobile products of three brands. Each brand is a different child company:

  • Aurora (electric vehicles)
  • Bolt (SUVs)
  • Cruz (hybrid)

It sells these brands through three dealers:

  • Arkbridge
  • Kingsbluff
  • Celport

These dealers belong to two different parent dealership companies:

  • West Coast Inc. (Arkbridge)
  • East Coast Inc. (Kingsbluff, Celport)

Each company has two price books that are used to sell products at a specific price for different shoppers (base, VIP).

  • west_coast_inc and vip_west_coast_inc
  • east_coast_inc and vip_east_coast_inc

As you can see, this is a very complex business use case. With 蜜豆视频 Commerce Optimizer, a merchant can support a complex business structure using a single base catalog to syndicate data without catalog duplication, scale price books (30k+ price books), and deliver all of this data to an Edge Delivery Services storefront.

Now that you have an overview of the business use case, here is your objective as you work through this tutorial:

recommendation-more-help

Carvelo wants to sell parts across its three brands (Aurora, Bolt, and Cruz) through the different dealerships (Arkbridge, Kingsbluff, and Celport). Carvelo wants to ensure that the dealerships have access to only the correct parts and prices per their respective licensing agreements.

Ultimately, Carvelo has two major goals:

  1. Maintain a 鈥済lobal鈥 website, which has all SKUs across all three brands.
  2. Provide a path for dealerships to set up their own storefronts based on unique SKU visibility and prices for each SKU for each dealership. All while using a single base catalog, which eliminates catalog duplication.

1. Access the 蜜豆视频 Commerce Optimizer instance

Navigate to the URL for the Commerce Optimizer application that is pre-configured with the sample data. You can find the URL in the Commerce Cloud Manager from the instance details for your Commerce Optimizer project, or get it from your system administrator. (See Access an instance.)

When you launch 蜜豆视频 Commerce Optimizer, you see the following:

蜜豆视频 Commerce Optimizer UI

NOTE
See the overview article to learn about key components of 蜜豆视频 Commerce Optimizer UI.

In the left navigation, expand the Store setup section and click Catalog views. Notice that the Arkbridge and Kingsbluff dealerships already have catalog views created:

Existing catalog views configured for sample data

NOTE
You can ignore the Global catalog view for now.

Click the info icon to review the catalog view details.

Arkbridge has the following policies:

  • Brand
  • Model
  • West Coast Inc brands
  • Arkbridge part categories

Kingsbluff has the following policies:

  • Brand
  • Model
  • East Coast Inc brands
  • Kingsbluff part categories

In the next section, you will create a catalog view and policies for the Celport dealership.

2. Create a policy and catalog view

Carvelo鈥檚 commerce manager needs to set up a new storefront for a dealer called Celport that belongs to the East Coast Inc company. Celport will sell brakes and suspensions for the Bolt and Cruz brands.

Celport Dealer

Using 蜜豆视频 Commerce Optimizer, the commerce manager will:

  1. Create a new policy called Celport part categories for Celport to sell only brake and suspension parts.

  2. Create a new catalog view for the Celport storefront.

    This catalog view uses your newly created policy Celport part categories and the existing East Coast Inc Brands to ensure that Celport can sell only the Bolt and Cruz brands as part of the agreement with East Coast Inc. The Celport catalog view uses the east_coast_inc price book to support product pricing schedules that align with brand licensing agreements.

  3. Update the commerce storefront configuration to use data from the Celport catalog view that you created.

At the end of this section, Celport will be up and running ready to sell Carvelo鈥檚 products.

Create a policy

Let鈥檚 create a new policy called Celport part categories to filter the SKUs that the Celport dealer sells, which include brake and suspension parts.

  1. In the left rail, expand the Store setup section and click on Policies.

  2. Click Create Policy.

    A new page displays to add the policy details.

  3. Add the required details:

    Name = Celport Part Categories

  4. Click Add Filter.

    A dialog displays to add filter details.

  5. Add the filter details:

    • Attribute = part_category
    • Operator = IN
    • Value Source = STATIC
    • Value = brakes, suspension
    note important
    IMPORTANT
    Make sure the attribute name that you specify exactly matches the SKU attribute name in the catalog.

    To learn more about the difference between a STATIC and TRIGGER value source, see value source types.

  6. In the Filter details dialog, click Save.

  7. To enable the filter you just created, click the action dots (鈥) and select Enable.

  8. Click Save.

    note note
    NOTE
    If the Save button is not active (blue), you might be missing the policy name. Click the pencil icon next to New Policy to add it.
  9. Go back to the list of policies by clicking the back arrow.

    Your new Celport part categories policy appears in the list.

To verify this step was completed correctly:

  • Policy appears in the policies list
  • Policy status shows as enabled (green indicator)
  • Filter details show 鈥減art_category IN (brakes, suspension)鈥
  • Policy name is 鈥淐elport Part Categories鈥

Create a catalog view

Create a new catalog view for the Celport dealer and link the following policies: East Coast Inc brands and Celport Part Categories.

  1. In the left rail, expand the Store setup section and click Catalog views.

    Notice the existing catalog views: Arkbridge, Kingsbluff, and Global.

    Existing Catalog views Page

  2. Click Add catalog view.

  3. Fill in catalog view details:

    • Name = Celport
    • Catalog sources = en-US
    • Policies (use dropdown) = East Coast Inc Brands; Celport part categories; Brand; Model
  4. Click Add to create the catalog view.

    The Catalog views page updates to display the new catalog view.

    Updated Catalog Views List

  5. Get the Celport catalog view ID.

    Click the information icon for the Celport catalog view on the Catalog views page.

    Celport catalog view ID

    Copy and save the catalog view ID. You need this ID when you update the storefront configuration to deliver data to your new Celport catalog.

    To verify this step was completed correctly:

    • Catalog view name is 鈥淐elport鈥
    • Catalog view shows 4 associated policies
    • Catalog view ID is displayed and can be copied
    • Catalog source shows 鈥渆n-US鈥

After you create the Celport catalog view and associated policies, the next step is to configure the storefront to use your new Celport catalog.

3. Update your storefront

The final piece of this tutorial involves updating the storefront that you already created to deliver data to the new Celport catalog. In this section, you replace the catalog view ID in your storefront configuration file with the catalog view ID for Celport.

  1. In your local development environment, open the folder where you cloned the GitHub repository with your storefront boilerplate configuration files.

  2. In the root directory of the folder, open the config.json file.

    accordion
    config.json code
    code language-json
    {
     "public": {
       "default": {
       "commerce-core-endpoint": "https://www.aemshop.net/graphql",
       "commerce-endpoint": "https://na1-sandbox.api.commerce.adobe.com/Fwus6kdpvYCmeEdcCX7PZg/graphql",
       "headers": {
          "cs": {
             "ac-view-id": "9ced53d7-35a6-40c5-830e-8288c00985ad",
             "ac-price-book-id": "west_coast_inc",
             "ac-source-locale": "en-US"
            }
          },
          "analytics": {
             "base-currency-code": "USD",
             "environment": "Production",
             "store-id": 1,
             "store-name": "ACO Demo",
             "store-url": "https://www.aemshop.net",
             "store-view-id": 1,
             "store-view-name": "Default Store View",
             "website-id": 1,
             "website-name": "Main Website"
           }
        }
       }
    }
    

    Notice that the catalog view header includes the following values:

    • commerce-endpoint: "https://na1-sandbox.api.commerce.adobe.com/Fwus6kdpvYCmeEdcCX7PZg/graphql"
    • ac-view-id:"9ced53d7-35a6-40c5-830e-8288c00985ad"
    • ac-price-book-id: "west_coast_inc"
    • ac-source-locale: "en-US"
  3. In the commerce-endpoint value, replace the tenant ID in the URL with the URL for your 蜜豆视频 Commerce Optimizer instance.

    You can find the tenant ID in the URL for the Commerce Optimizer UI. For example, in the following URL, the tenant ID is XDevkG9W6UbwgQmPn995r3.

    code language-text
    https://experience.adobe.com/#/@commerceprojectbeacon/in:XDevkG9W6UbwgQmPn995r3/commerce-optimizer-studio/catalog
    
  4. Replace the ac-view-id value with Celport catalog view ID that you copied previously.

  5. Replace the ac-price-book-id value with "east_coast_inc".

    After you make these changes, your config.json file should look similar to the following, with the ACO-tenant-id and celport-catalog-view-id placeholders replaced with your values:

    code language-json
    {
      "public": {
         "default": {
         "commerce-core-endpoint": "https://www.aemshop.net/graphql",
         "commerce-endpoint": "https://na1-sandbox.api.commerce.adobe.com/{{ACO-tenant-id}}/graphql",
         "headers": {
             "cs": {
                 "ac-view-id": "{{celport-catalog-view-id}}",
                 "ac-price-book-id": "east_coast_inc",
                 "ac-source-locale": "en-US"
               }
             },
             "analytics": {
                 "base-currency-code": "USD",
                 "environment": "Production",
                 "store-id": 1,
                 "store-name": "ACO Demo",
                 "store-url": "https://www.aemshop.net",
                 "store-view-id": 1,
                 "store-view-name": "Default Store View",
                 "website-id": 1,
                 "website-name": "Main Website"
              }
          }
      }
    }
    
  6. Save the file.

    When you save the changes, you update the catalog configuration to use the Carvelo catalog view which has been configured to sell only brake and suspension parts.

4. Preview the storefront

Now that you have updated the storefront configuration to use the Celport catalog view, you can preview the storefront to see how it renders the catalog data.

  1. Launch the storefront to view the Celport-specific catalog experience created by your storefront configuration.

    1. From the terminal window in your IDE, start your local storefront preview.

      code language-shell
      npm start
      

      The browser opens to the local development preview at http://localhost:3000.

      If the command fails or the browser does not open, review the instructions for local development in the Storefront setup topic.

  2. In the browser, search for brakes, and press Enter.

    The storefront updates to display the product list page showing the brake parts.

    Brakes Product Listing Page

    Click on a brake part image to view the product details with price information and note the product price information.

  3. Search for tires, which is another part category available in the use case data on your 蜜豆视频 Commerce Optimizer instance.

    Storefront Configuration with Incorrect Headers

    Notice that no results are returned. This is because the Celport catalog view has been configured to sell only brake and suspension parts.

  4. Experiment with updating your storefront configuration file (config.json).

    1. Change the ac-view-id and ac-price-book values.

    For example, you can change the catalog view ID to the Kingsbluff catalog view, and the price book ID to east_coast_inc. You can see the parts categories available for Kingsbluff by reviewing the Kingsbluff part categories policy.

    1. Save the file.

      When you save the file, the local storefront preview updates automatically.

    2. Preview the changes in the browser by using the Search feature to find tire parts.

      Notice the different part types available and notice the prices assigned to the Kingsbluff catalog view.

    These experiments demonstrate the flexibility of 蜜豆视频 Commerce Optimizer鈥攜ou can quickly switch between different catalog views and price books to create customized shopping experiences for different audiences without duplicating your catalog data.

Troubleshooting

If you encounter issues during this tutorial, try the following solutions:

Policy Creation Issues

Problem: Save button is not active

  • Solution: Ensure that the policy name is entered and all required fields are completed

Problem: Filter not working as expected

  • Solution: Verify that the attribute name exactly matches the SKU attribute in your catalog

Catalog View Issues

Problem: Catalog view not appearing in the list

  • Solution: Verify that all associated policies are enabled and properly configured

Storefront Configuration Issues

Problem: Storefront not loading

  • Solution: Check that your tenant ID and catalog view ID are correctly entered in the config.json file

Problem: No products displaying

  • Solution: Verify that the price book ID matches the one available in your 蜜豆视频 Commerce Optimizer instance

Problem: Search returning no results

  • Solution: Confirm that the catalog view policies allow the searched product category

For additional help, see the 蜜豆视频 Commerce Optimizer documentation or contact 蜜豆视频 support.

Summary

In this tutorial, you successfully:

  • Created a new policy to filter product categories for the Celport dealership
  • Set up a catalog view with multiple policies to control product visibility
  • Configured a storefront to use the new catalog view
  • Verified the configuration by testing product visibility and pricing

Next steps

To continue learning about 蜜豆视频 Commerce Optimizer:

0c009cf6-d957-4a6a-b642-3577df53e8cb