Best definition of a kit | price kit is based on products in kit |
Best definition of a bundle | bundle price is based on price list item of bundle |
Possible reasons entitled products are not showing on storefront | There must be a traceable path from product to price list item to price list to price list account group to account group to the account of the logged in user's contact. Also there can be a path via price group item to price group to price group account etc. Finally, price list needs to be connected to store front, product must be released, and date needs to be between start and end date. |
What is the best description of dynamic kit | The user builds a kit |
What types of products can have subscriptions (3) | product type of Product, Kit, or Dynamic Kit. |
What two object records need to be configured for subscriptions (choose 2) | You'll need to configure both the standard product settings and the SubProdTerm (SPT) settings for subscription products. |
Out of the box subscription order frequency time options (choose 3) | daily, weekly, monthly, annually |
What objects do not work with externally priced products (2) | Coupons CANNOT be applied to externally priced items, so selecting Coupons as one of your choices would be incorrect.
An attribute-driven commerce line item cannot be set to external, so don’t select that if it is an option. |
What kind of product types can have a merged sku | Bundle, Kit |
What out of the box features does B2B Commerce Cloud provide to allow you to highlight specific products: | Spotlight and Featured products (in CC Featured Products) shown on the home page.
Spotlight: few products with a lot of information
Featured: more products with little information |
What access to standard Salesforce Case object exists for users with B2B Commerce Cloud Community license: | Case access for any purpose |
What are related product types that can show on PDP (choose 2) | Accessory, competitive, complementary, crosssell, upsell, related, required item |
What type of products are those used to make up Aggregate and Bundle products | Components (children) roll up to the composite (parent) |
3 out of the box features included for up-sell and cross-sell opportunities while user is browsing storefront | Related products, promotions, alternate products |
When you add new categories, how do you make them show on storefront? | CC Admin->Global Settings->Indexing->Category Tree Cache |
When you add new page labels, how do you make them show on storefront? | CC Admin->Global Settings->Indexing->Page Label Cache |
Which objects should you consider when adding new language (choose 3) | Page Labels, Categories,. Product Specs |
Category A has Product A assigned. Category A has spec of “Size” with value “Small.” Product A also has spec of “Size” with value “Large.” What value shows for the product when viewing on Category? | try this |
What must be enabled for new currency support? | Add currency from storefront general settings. Also need a pricelist |
What standard Salesforce objects does B2B Commerce leverage (choose 3) | Accounts, contacts, users |
The relationship between contacts and users is | 1:1 |
What type of media is used for Assembly Products | Scalable Vector Graphics (SVG) |
What two objects are joined to Account Group (choose 2) | Accounts and CC Price Lists |
What type of object is product spec, price list item, account category, etc. | Junction object |
How are themes stored | Static resources |
What two types of tiered pricing are there | Percentage and absolute |
What allows you to configure in which location products appear on the PDP | Page sections |
How is a dynamic kit priced | The sum of price list items for whichever component products the storefront user selects. The price list item assigned to the dynamic kit product has a price value of 0 |
What is an aggregated product? How are they priced? | A single product with variations or styles that a storefront user can select. The product specs apply to all styles, but you want to provide an easy way to select a particular color, size, finish, and so on. Each variation is a separately managed product record with a unique price |
How is an aggregated product priced | The price list item of whichever variation the storefront user selected. The price list item assigned to the aggregated product has a price value of 0. |
What is an assembly product | A product that’s assembled from other individually purchasable products. You can provide an interactive diagram that shows the assembled product and its component products |
How is an assembly product priced | A price list item assigned to the assembly product. The assembly product's price is independent of its component products’ price list items. |
What do you need to add to show images to a product | Add CC Product Media records |
What's an alternate image | A full-sized image that replaces the primary Product Image on the Product Detail page when a user hovers the cursor over an Alternate Image Thumbnail. |
What is the only way to store a SVG Interactive Diagrams | Add as a static resource and reference as CC Product Media. It is optimized for showing comopentes in an assembly product |
What are the three ways to store images and which is preferred? | 1. Add a Product Image from a Content Delivery Network
You can reference an image file served from a central file repository, such as content delivery network (CDN), using a uniform resource identifier (URI). We recommend this option for your image files whenever possible because it's the easiest way to maintain your images from a single managed location.
2. Add a Product Image from a Static Resource
You can reference an image file included in a static resource when specifying the image for a product. You can bundle multiple image files together in a single static resource, and reference the static resources across multiple records.
Attach a Product Image Directly to a Record
3. You can attach an image file directly to a CC Product Media record. |
How are documents stored for a product | Add the file as a CC Product Media record and select a document type for media type |
Name at least three related product types | Accessories
Competitive
Complementary
CrossSell
Related
UpSell
RequiredItem
Note that only CrossSell auto- displays on cart. For the rest you need to add a page section on PDP. |
What two steps are needed to add shipping to a product on checkout | Create a CC Shipping Rate record with minimum and maximum weights and shipping details like carrier and type. Specify the weight on a product. |
How do you localize a product (language) | Create a Product Locales record and specify the I18N Name and short/long descriptions |
What is minimally required to price an item | Create a pricelist (at least a default which would be the retail price) and assign it to at least one account group. Create separate one for each currency. |
How can you update all prices in a price list | Use the mass update feature from the CC Price List tab and specify change code absolute or percentage) and change type (add or deduct). Specify the amount to change by. |
What is the purpose of the base price list | Shows the amount before discount. Used for guest browsing or self-registered (need to add to that account group). Populated from My Admin under General for each webshop. One per currency. |
Where do you enable promotions | Configuration settings for the store. Set to Enabled and select which page(s) or All which determines where the widget is shown. Then create configuration cache. |
What are the locations you can put a promotion | Splash (1)
Below the header and above the page columns. Valid only on the Home page.
Banner (2)
The top of the main column content in supported two- and three-column page layouts.
Left Nav (3)
The left column in supported page layouts.
Right Nav (4)
The right column in supported page layouts. |
On which 4 pages can you show promotions | Storefront's Home page.
Product Detail page.
Product List page.
Shopping Cart page.
All of the above |
What 3 things can you link promotions to | Products (PDP), Categories (PLP), Custom URL (eg, external site) |
What are 3 options to store a promotion image | CDN (recommended), static resource, upload image directly on the promotion |
How do you target a promotion to specific users | Include or exclude specific account groups from a promotion by adding a CC Promotion Account Group Filters record |
How can users open a document from a promotion | On the promotion record add a notes & attachment record |
How do you localize a promotion | Add a CC Promotions i18n record on related list |
What can coupons be used to discount (3) | Coupons can discount the cost of certain products or products with certain specs, the cost of shipping, or the total price of a cart. |
Name coupon restrictions (6) | 1. Buyers can apply only one coupon on a shopping cart.
2. Coupons that depend on a particular product only consider standard or composite products, and not a composite product's component products.
3. Coupons aren't compatible with the Add Line Items Separately configuration setting under the Quick Order module. If you're using coupons on your storefront, this configuration setting must remain FALSE.
4. Coupons aren't compatible with line-level independent checkout.
5. Only a cart total coupon is compatible with attribute-driven commerce or subscriptions.
6. Other coupon types aren't compatible with these features. |
What are the default price groups (2) and what is their function | 1. Anonymous: price group for account CCAnonymous for guest users
2. PortalAccount: price group for account PortalAccount for self-registering users |
How is the Price List Selection Methods used and what (2) types can be selected | To handle when an account group has multiple price lists assigned. Best Price gives the lowest price. Sequence Order shows the lowest sequence price list first. |
How do you show a unique theme for an account | Add a theme but don't enable it in storefront setting. On the account group record put the theme name in the Theme field along with c__ prefix for a custom theme or ccrz__ for a default theme. |
What does a product index record contain | A product index is a flat data structure that describes a single instance of a product's category, spec value, price, locale, and searchable |
What are the two main uses of product specs | Filter down on category or search results. Support a faceted search. |
How is an aggregated product used and structured | Used to eg, show different colors or materials of a product.
Aggregated type product is the Composite. The different versions (children) are components with type of Product.
Components are individually priced. The parent has a price but it is 0.
Price list item and shipping weight is added on the components (children). When adding components to the parent you need to specify the quantity to allow add to cart to work. |
Name two differences between a kit and a bundle | 1. A bundle is priced on the parent and a kit price is the sum of its component products. The kit product itself has a price list of 0
2. A bundle can contain items that are only available in the bundle. In a kit that is not possible. |
What is the difference between a dynamic kit and an assembly product | A dynamic kit allows the user to select from groups of products to make up a kit. The price of the dynamic kit is then made up of the sum of the selected individual items. An assembly is a mix of individually purchasable items and is priced at the parent assembly level. You can provide an interactive diagram that shows the assembled product and its component products. |
Where does a product ShortDescRT display (3) | 1. On the PDP
2. On PLP in Results
3. When the product is shown in the Featured Products or Spotlight Products widget on the Home page |
What are the three product image types and where do they show | 1. Product Image
The default and largest image that displays on the Product Detail page.
2. Product Search Image
The scaled-down image that displays in results on the Product List page. Use a smaller version of your Product Image.
3. Product Image Thumbnail
The scaled-down image that displays in the following parts of the storefront. Use a smaller version of your Product Image: PDP, cart, wish list, checkout |
What are alternate images and where do they show (2) | 1. Alternate Image
A full-sized image that replaces the primary Product Image on the Product Detail page when a user hovers the cursor over an Alternate Image Thumbnail.
2 Alternate Image Thumbnail displays next to the Product Image Thumbnail on the Product Detail page. |
How is locale set for a guest user and how for an authenticated user | Guest User:
1. A locale defined by the user's web browser.
2. A locale defined on the site guest user record for the storefront's community.
Authenticated user:
1. Based on the local of the logged in user |
What is the fallback precedence for locale (3 levels) | 1. The user's specific locale, such as French Canadian (fr_CA).
2. A generic locale, such as generic French (fr).
3. The default locale specified for the storefront. |
What steps/objects (3) are needed to create a dynamic kit (5) | 1. Create the components including price list item
2. Create the parent composite record with type Dynamic Kit. Add 0 price list item
3. Create and name one or more CC Related Product Group records
4. Create a CC Product Guide record off the parent Dynamic Kit product, specify the Related Product Group and select the display type (Single Select, Single-Select Quantity, Multi-Select, Multi-Select Quantity); enter a sequence; optionally make required (checkbox)
5. Assign the components to the composite record and specify the product group |
What types of discounts exist | 1. shipping cost
2. cart total price
3. product
4. product with given spec value
5. buy one get one
6. product with spec value when buying other product
7. product when buying product with a given spec value
8. buy one get one on products with given spec value |
What are the steps needed to do a B2B Commerce API call | 1. Set up a Map<String, Object> for the data you're requesting from the API.
2. Specify the IDs to query (set)
3. Specify the version of the API call. ccrz.ccApi.API_VERSION key is defined on the ccrz.ccApi base class and required
4. Add a ccrz.ccApi.SIZING key to the productFetchQuery map (determines how many results are returned. Restrict by referencing a ccrz.ccApiProduct.ENTITYNAME key
5. Specify how many fields you want to return for each product record, add the ccrz.ccApi.SZ_DATA key to ccrz.ccApiProduct.ENTITYNAME.
6. To parse the data received back, create Add try and catch statements in the ccrz.ccApiProduct.fetch() method
7. Create a List collection and parse it |
What is the purpose of Shipping in CC Admin storefront settings | Specify the API extension point classes for:
- Providing a list of shipping options and calculating shipping costs during checkout. By default, B2B Commerce calls ccrz.cc_api_ShippingAndHandling.
- Determining allowable delivery dates that users can request during checkout. By default, B2B Commerce calls ccrz.cc_api_DeliveryDate. |
In CC Admin storefront settings what can be specified for products API end points (2) | 1. Checking product quantity rules when adding a product to a cart. By default, B2B Commerce calls ccrz.cc_api_ProductQuantityRule.
2. Providing search autocomplete results, which ccrz.cc_hk_Catalog executes.
Important |
What API can be used to check for inventory | ccrz.ccApiProduct.fetch() method. |
What API extensions can be called from storefront settings for orders | Specify the API extension point classes for:
1. Canceling a placed order. By default, B2B Commerce calls ccrz.cc_api_OutboundOrderCancel.
2. Extending order behavior that ccrz.cc_hk_Order executes.
3. Extending subscriptions behavior that ccrz.cc_hk_Subscriptions executes.
4. Extending effective accounts behavior that ccrz.cc_hk_EffectiveAccount executes.
5. Extending invoice behavior that ccrz.cc_hk_Invoice executes. |
What API can be called to validate and process carts | ccrz.cc_api_CartExtension |
What API can be called to allow SSO | ccrz.cc_hk_SSO |
How do you set up tiered pricing | Set up at which incremental volumes user receives a discount specify a discount (percentage or absolute), each item is then discounted (vs. Step pricing which is not offered) |
How do you set up attribute driven commerce | You can assign up to 3 attributes. You define parent attribute, then its children which are the selectable values; then pricing for each. Different from aggregate product which only allows a single option category per product. You then add the pricing for each combo on price list item Pricing Controls widget |
What are the high level preparation steps before installing B2B Commerce (4) | 1. Enable Salesforce Communities
2. Validate licenses are in place (Customer Communities or Customer Community Plus)
3. Create a custom community user profile for your registered storefront users
4. Assign a role to installing admin user |
What are the main steps (4) to install B2B Commerce up to creating a storefront | 1. Find the release url
2. Install the managed package for specific profiles (admin and the custom community user profile)
3. Assign CC Admin related permission sets to Admin
4. Load Global Data using CC Admin > Data Loader feature (includes custom settings, custom object records, and configuration metadata that specifies baseline behavior for each storefront.) |
What are the main steps to creating a storefront (4) | 1. Use CC Admin > Data Loader to load storefront data (eg, Coffee demo or minimal)
2. Enable a theme (or create your own using minimum theme as a start)
3. Refresh caches and indexes
4. Build and activate a new configuration cache |
How do you enable self registration | From the community > Administration workspace ? Login and registration, select the CCSiteLogin VF page and specify what profile is assigned. Also set Allow external users to self-register to true. |
How do you make a user other then guest user the owner of all records created by a guest user | Create a custom community user profile and cloned the CC admin permission set. Create a account/contact/user and assign to this user. Then specify in Configuration Setting User Profile (Registration)/Default Record Owner configuration what user id to use. |
What sharing settings are needed to ensure users can see their CC records without exposing those of others | Keep Default External Access on Account object as Private but set Default External Access to public read only for CC objects from OWD |
How do you provide read only access to guest users to selected CC objects | Create sharing rules on each object needed to get read access to PortalAccount and CC Anonymous |
Give two scenarios where you need a new community | 1. Requirement for segregated access to the site (users should be able to access one community but not the other)
2. Requirement for a separate domain/URL for the site |
Give two scenarios where you need a new storefront | 1. Requirement for different Anonymous experiences
2. Requirement for different checkout flows |
Give one scenarios where it is just better to have a new community | If you want varying community communications (emails.) Easier to manage that way. |
Give two scenarios where it is just better to have a new storefront | 1. When there are integrations, extensions, or other code complexities that should work for one storefront but not the other
2. When storefronts for eg, different regions are on a different release schedule (of features exposed to users) |
Main disadvantage of having separate communities or storefronts (1 each) | 1. Maintenance overhead of communities
2. Limits scenario where you would want users to eg, order from different storefronts |
Name 4 benefits of using storefront associations | 1. The storefront name and community name do not have to match.
2. You can have multiple communities using the same storefront.
3. Ability to set a default storefront for a community.
4. Increased ability to restrict access to a storefront.
3 and 4 are the most important reason |
How do storefront associations work and what needs to be enabled | First, in configuration settings SA Enabled needs to be set to true. Then there are three levels you can enable to allow access respectively to community, account group and account. If any of these is enabled then an existing CC Storefront Association. record needs to exist and the system checks at each next level whether the logged in user has access. The main goal is to restrict access to a given storefront when there are multiple storefronts to a single community as the user would otherwise have access to any given their access is set through profile at the community level. |
How is attribute pricing different from aggregate products | Attribute pricing: can assign up to 3 attributes. You define parent attribute, then its children which are the selectable values; then pricing for each. Different from aggregate product which only allows a single option category per product. You then add the pricing for each combo on price list item Pricing Controls widget. |
What is the purpose of Effective Accounts? What are the three ways to set them up? | Effective accounts: used when the logged in user needs to be able to order for different locations. Can be set up as account hierarchy, see all in an account group, or through use of sharing rules. Settings to also select the parent account even after selecting any of the children. Also settings to have carts per location. Effective account selector is a config setting and can be in header or a widget. |
What is the purpose of line level independence? | Line level independence allows you to distribute line items to different shipping groups and even move quantities between them so customer can be selective in where order items are shipped. Currently this is a checkout flow choice and you can only have single flow type selected. Need to check if that has changed yet. |
How is product compare enabled? | Product compare is a feature you can switch on or off via the config settings. It shows a compare button next to each item on the PLP and if corresponding CC Specs are found you can then compare up to 4 other products for those overlapping specs. |
What factors affect licensing? | - Licensing is based on number of orders, products, storefronts, cache platform space. In addition, community plus licenses are needed |
Other things:
- Question on what needs to be done after creating sandboxes off prod (answers described different sandbox versions (full, partial, dev, dev pro) and whether post-deployment steps were needed
- Effective account confi options: parent/child, account group were answers but then I had to choose between Entitled and Lateral (I chose the latter but check)
- Quite a few questions about what is true about cc pricelists. Worth reading up on these in full in the documentation
- No questions about APIs at all
- Question about what becomes enabled when you create public groups for anonymous users. Answers included browse, checkout which I chose but need to check
- Questions about meaning of Released on cc product and also one more value that can be selected to make product visible (I chose Not Orderable in addition to Featured but need to check)
- Tricky questions about if you want to show product with different size and that are sold individually or packs of 10. What 2 features to enable. Answers included Aggregate, Attribute, Pricing Tiers and something else like multiple price list items (that was clearly wrong). I chose Aggregate and pricing tiers but not sure | check these |
Other things:
- Question about what is needed (chose 2) to enable subscriptions. One answer was config product and SPT but the other choice was tricky. I selected two price items (one for recurrence and the other for one time) but not sure if right - check on this. Don't remember the other answers but they went more deeply into SPT.
- Question about what was needed to show product specs (choose multiple)
- Question about what is true about external pricing (choose 1 - I had hard time chosing between bypasses pricing logic and does not use the product line item object)
- Tricky what is true about adding languages question that included answers like makes all languages visible in the my account drop down (I selected this - I think correct but check), if user selects Spanish then only spanish prods visible, can't remember the other two | check |