Salesforce Certified B2C Commerce Developer Comm-Dev-101 Exam Questions

Page: 1 / 14
Total 154 questions
Question 1

There is a business requirement to allow a third-party warehouse management system to update the MySample.com storefront product inventory in real time. The architect decided that this is most easily accomplished by using the Open Commerce API (OCAPI). The developer needs to test the OCAPI settings in their sandbox. Assume the client ID for testing is "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa". What is the correct OCAPI setting for this?



Answer : A

Inventory administration is a merchant-data integration concern and belongs to theOCAPI Data API, not the shopper-oriented Shop API. In addition, most Data API resources are organization-specific and therefore useGlobalOCAPI permissions. The/inventory_lists/*resource is the relevant resource family for managing inventory lists through the Data API.

Salesforce explains that the Data API provides create/read/update/delete access to administrative system resources, while OCAPI settings define which resource paths and HTTP methods a client is allowed to use. The current Commerce API documentation likewise identifies Inventory Lists as administrative inventory resources.

Options B and C use/product/*/inventory, which is not the appropriate Data API inventory-list resource shown for this architecture. Option B additionally selects the Shop API and site context, which do not match a warehouse-management integration updating backend inventory data.

The configuredget,put, andpatchpermissions enable the external integration to retrieve inventory information and perform complete or partial updates, subject to authentication and the resource schema.

Study Guide reference:Application Development --- OCAPI Data API, inventory lists, Global OCAPI configuration, resource permissions, and warehouse integrations.

===============


Question 2

Given the sandbox with:

* Service configured and assigned to its profile and credential

* A code version that uses that service

And given the requirement to limit the number of success or error calls the code can perform to a restricted number of calls per second. Which configuration should the developer perform?



Answer : B

The B2C Commerce Service Framework provides arate limiterspecifically for controlling the maximum number of outbound service calls permitted during a defined time interval. This configuration belongs to theService Profileassociated with the service. The profile exposes values equivalent to the maximum permitted calls and the rate-limit interval in milliseconds.

Salesforce documents that the Service Profile controls timeout, rate-limit, and circuit-breaker behavior. The rate limiter is evaluated before every service invocation. If the configured maximum number of calls has already been reached within the interval, B2C Commerce prevents another remote request and returns service-unavailable behavior instead.

This mechanism counts service invocations irrespective of whether the previous remote calls succeeded or failed, which directly matches the requirement to restrict overall calls per second. A circuit breaker is different: it reacts specifically to accumulated failures. Option C incorrectly treats this as a general platform quota, while option A refers to configuration that is not the standard Service Framework mechanism.

Study Guide reference:Application Development --- Service Framework, Service Profiles, rate limiting, circuit breakers, and external integration governance.

===============


Question 3

What is the action needed for the content slot to work as intended?



Answer : A

No additional action is required when the product slot is already configured, active, scheduled, assigned products, and its rendering template iterates throughslotcontent.content.

Salesforce documents thatslotcontentis an implicit object available inside an ISML template used as a slot rendering template. Itscontentproperty maps toSlotContent.getContent()and returns the collection produced by the evaluated slot configuration. Salesforce specifically demonstrates product slots by iterating over this collection to render returned products.

Therefore,<isloop>is fully valid in a content-slot rendering template. Option C incorrectly claims that loops are prohibited.

A recommender is also optional, not mandatory. B2C Commerce can populate product slots from explicitly selected products, recommendations, or other supported merchandising configuration. If products have already been configured directly, a recommender does not have to be introduced.

The rendering template simply receives the slot execution result and iterates its returned product collection.

Study Guide reference:Data Management Using Business Manager Usage --- Content Slots,slotcontent, Product slot content types, rendering templates,<isloop>, and merchant slot configuration.

===============


Question 4

A developer needs to ensure that a specific product is always available for purchase, regardless of inventory levels. What should the developer do in Business Manager?



Answer : C

The appropriate inventory configuration is thePerpetualflag on the product's inventory record. Salesforce uses this setting to represent merchandise that should be treated as continuously in stock rather than becoming unavailable when its ATS reaches zero.

Salesforce's inventory-development documentation identifies a product with the perpetual flag as a product that isalways in stock. This provides a clear platform-level representation of unlimited or non-depleting availability.

Option B is an unreliable workaround. A very large allocation is still finite, can eventually be depleted, and introduces misleading stock information into inventory reporting and integrations. Option A does not identify the actual standard Business Manager inventory setting represented by the B2C Commerce inventory model.

When standard B2C Commerce inventory management is being used, the perpetual flag directly changes the product's availability behavior. Implementations using Omnichannel Inventory must instead follow the inventory semantics of that system, but for the B2C Commerce inventory configuration tested here, Perpetual is the correct setting.

Study Guide reference:Data Management Using Business Manager Usage --- Inventory Lists, Product Inventory Records, Perpetual inventory, ATS, and product availability.

===============


Question 5

A developer is importing edits for two different sites into the same sandbox and is provided with four different files.

Which two XML files should the developer import using the site-specific Merchant Tools import modules?



Answer : A

Search settingsandPromotionsare both site-level business configurations that have dedicated import/export functionality within the site's Merchant Tools area. Therefore, when the developer needs to import different configurations for two sites on the same instance, these files can be handled through each site's corresponding Merchant Tools modules.

Salesforce's B2C Commerce import/export guidance distinguishes site-specific data from organization-level metadata. Promotions are managed through the site'sMerchant Tools > Online Marketing > Import & Exportfunctionality, while search information can be managed through the site's search import/export capabilities.

System type extensions, by contrast, modify system-object metadata and are administered at the organization level through Site Development/System Object configuration and organization-level import mechanisms. They are not independently site-specific Merchant Tools data. This makes both options B and C incorrect because each contains system type extensions.

The distinction is operationally important in a multi-site instance. Site-specific merchandising/search configuration can vary independently by storefront, whereas extensions to system object definitions affect the shared platform metadata available across the organization.

Study Guide reference:Data Management Using Business Manager Usage --- site import/export, promotions, search configuration, system-object extensions, and multi-site administration.

===============


Question 6

To ensure SFRA best practices and protect against request forgery, the developer introduced CSRF token generation in the customer address form.

value="${dw.web.CSRFProtection.generateToken()}">

...

....

To implement CSRF protection when the form is submitted, the developer needs to introduce the CSRF validation using one or both of these methods as applicable:

validateRequest

validateAjaxRequest

Where in the code does the developer need to add this CSRF validation check?



Answer : A

CSRF validation must occurwhen the state-changing request is submitted, before protected business logic executes. In SFRA this is implemented as middleware in the controller's POST route, using the appropriate CSRF middleware---validateRequestfor standard submissions orvalidateAjaxRequestfor AJAX-based requests.

Salesforce's SFRA Forms documentation specifically states that CSRF protection is supplied as middleware and demonstrates CSRF checks as middleware steps. The underlyingdw.web.CSRFProtection.validateRequest()API verifies that the request contains the system-generated token and that the token has not expired.

Generating the token in the template only establishes the client-side value; it does not provide security unless the receiving POST endpoint validates it. Placing validation only in the form-display route would validate the wrong request. Performing validation in a persistence model is also too late because request security should be enforced before mutation logic is invoked.

Study Guide reference:Application Development --- CSRF protection, SFRA middleware, POST routes,validateRequest,validateAjaxRequest, and secure form processing.

===============


Question 7

Given the following ISML example, how should a developer reference the product object in the current iteration of the basket?

...



Answer : A

Thevarattribute of an<isloop>statement defines the variable that represents the current object from the collection during each iteration. In this example,items='${pdict.Basket.products}'supplies the iterable collection, whilevar='product'assigns each current collection member to the variable namedproduct. Therefore, inside the loop body, the current product is referenced directly asproduct.

Salesforce's ISML documentation defines the loop variable as the identifier through which the current element in the iterable collection is accessed. The separatestatus='loopstatus'variable represents loop metadata, such as iteration position and related state; it is not the product itself.

Option B is incorrect because declaringvar='product'does not create aproductproperty insidepdict. Option C also misuses the status variable:loopstatusis an iteration-status object rather than a direct array index intended to retrieve the current item. Using the explicitly declared loop variable produces clearer, idiomatic, and maintainable ISML.

Study Guide reference:Application Development --- ISML templates,<isloop>, pipeline dictionary access, loop variables, and storefront rendering.

===============


Page:    1 / 14   
Total 154 questions