Adobe AD0-E722 Adobe Commerce Architect Master Online Training
Adobe AD0-E722 Online Training
The questions for AD0-E722 were last updated at Dec 25,2024.
- Exam Code: AD0-E722
- Exam Name: Adobe Commerce Architect Master
- Certification Provider: Adobe
- Latest update: Dec 25,2024
A company wants to build an Adobe Commerce website to sell their products to customers in their country. The taxes in their country are highly complex and require customization to Adobe Commerce. An Architect is trying to solve this problem by creating a custom tax calculator that will handle the calculation of taxes for all orders in Adobe Commerce.
Following best practices, how should the Architect add the taxes for all orders?
- A . Add a new observer to the event sales.quote.collecLtotals.before” and add the custom tax to the quote
- B . Write a before plugin to MagentoQuoteModelQuoteManagement::placeOrder() and add the custom tax to the quote
- C . Declare a new total collector in "etc/sales.xmr in a custom module
An Adobe Commerce Architect is creating a new GraphQL API mutation to alter the process of adding configurable products to the cart. The mutation accepts configurable product ID. If the given product has only one variant, then the mutation should add this variant to the cart and return not nullable Cart type. If the configurable product has more variants, then the mutation should return not
nullable Conf igurableProduct type.
The mutation declaration looks as follows:
How should the Adobe Commerce Architect declare output of this mutation?
A)
B)
C)
- A . Option A
- B . Option B
- C . Option C
A third-party company needs to create an application that will integrate the Adobe Commerce system to get orders data for reporting. The integration needs access to the GET /Vl/orders endpoint. It will call this endpoint automatically every hour around the clock. The merchant wants the ability to restrict or extend access to resources as well as to revoke the access using Admin Panel.
Which type of authentication available in Adobe Commerce should be used and implemented in a third-party system for this integration?
- A . Use token-based authentication to obtain the Admin Token. The third-party system will utilize the REST endpoint using the admin username and password to get the Admin Token, which will be used as the Bearer Token to authorize.
- B . Use token-based authentication to obtain an integration Token, integration will be created and activated in the admin panel using default integration token settings to get access to the token, which will be used as the Bearer Token to authorize.
- C . Use OAuth-based authentication to provide access to system resources. Integration will be registered by the merchant in the admin panel with an OAuth handshake during activation. The third-party system should follow OAuth protocol to authorize.
In a custom module, an Architect wants to define a new xml configuration file. The module should be able to read all the xml configuration files declared in the system, merge them together, and use their values in PHP class.
Which two steps should the Architect make to meet this requirement? (Choose two.)
- A . Inject a "reader" dependency for "MagentoFrameworkConfigData" in di.xml
- B . Write a plugin for MagentoFrameworkConfigData::get() and read the custom xml files
- C . Create a Data class that implements "MagentoFrameworkConfigData"
- D . Append the custom xml file name in "MagentoConfigModelConfigStructureReader" in di.xml
- E . Make a Reader class that implements ‘MagentoFrameworkConfigReaderFilesystem"
An Adobe Commerce Architect creates a stopword for the Italian locale named stopwordsjtJT.csv and changes the stopword directory to the following:
<magento_root>/app/code/Custo«vendor/Elasticsearch/etc/stopwords/
What is the correct approach to change the stopwords directory inside the custom module?
- A . Add stopwords to the stopwordsDirectory and CustomerVendor_Elasticsearch to the stopword sModule parameter Of the MagentoElasticsearchSearchAdapterQueryPreprocessorStopwords ClflSS Via di.xml
- B . Add a new ClaSS implementing MagentoFrameworkSetupPatchPatchInterface to modify the default Value Of elasticsearchcustomerstopwordspath in core.conf ig_data table.
- C . Add stopwords to the stopwordsDirectory parameter of theHagentoElasticsearchModelAdapterDocumentDirectoryBuilder ClaSS Via stopwords/it.xml and Adobe Commerce will automatically detect the current module.
A client has multiple warehouses where orders can be fulfilled. The cost of shipping goods from each warehouse varies by day, due to the number of workers available. The Architect needs to make sure that when an order is shipped, it is shipped from the lowest cost warehouse that is open.
How should this functionality be implemented?
- A . Create a new class as a preference for MagentoinventoryShippingpiuginSalesshipmentAssignSourceCodeToShipmentPlugin to set the lowest-cost warehouse on a shipment.
- B . Create a new class implementing MagentoinvtntorysourceSelectionApiModeisourceSelectioninterfacece. which returns open warehouses sorted by cost.
- C . Create an after plugin On HagentoInventoryDistanceBasedSourceSelectionHodelAlgorithmsDistanceBasedAlgorithto sort to Warehouse sources by cost
A merchant is using a unified website that supports native Adobe Commerce B2B and B2C with a single store view.
The merchant’s objective is to display the B2B account features, such as negotiable quotes and credit limits, in the header of the site on every page for logged-in users who belong to a B2B company account.
Each B2B company possesses its unique shared catalog and customer group, while numerous customer groups for non-B2B customers undergo changes. The merchant insists that this association should not be linked to customer groups.
Which two solutions should the Architect recommend for consideration, taking into account public data and caching? (Choose two.)
- A . Create a Virtual Type that switches the theme when a user is part of a B2B company so the output can be modified accordingly in the alternate theme.
- B . Create a new HTTP Context variable to allow for separate public content to be cached for users in B2B companies where the output can be modified accordingly.
- C . Set whether the current user is part of a B2B company in the customer session and use that data directly to modify the output accordingly.
- D . Create a new custom condition for customer segments that allow for choosing whether a user is part of a B2B company and then use this segment to modify the output accordingly.
- E . Check if the current user is part of a B2B company within a block class and modify the output accordingly.
An Adobe Commerce Architect needs to customize the workflow of a monthly installments payment extension. The extension is from a partner who is contracted with the default website Payment Service Provider (PSP), which has its own legacy extension (a module using deprecated payment method).
The installment payment partner manages only initializing a payment, and then hands the capture to be executed by the PSP Once the amount is successfully captured, the PSP notifies the website through a webhook. The goal of the webhook is only to create an "invoice" and save the "capture information" to be used later for refund requests through the PSP itself.
The Architect needs the most simple solution to capture the requested behavior.
Which solution should the Architect implement?
- A . Add a plugin before the $invoice->capture() and change Its input to prevent the call of the $Payment->capture()
- B . Change the can_capture attribute for the payment method under config.xml to be <can_capture>0</can_capture>
- C . Declare a capture Command with type MagentoPaymentGatewayCommandNullCommand for the payment method CommandPool in di.xml
An existing Adobe Commerce website is moving to a headless implementation.
The existing website features an "All Brands” page, as well as individual pages for each brand. All brand-related pages are cached in Varnish using tags in the same manner as products and categories.
Two new GraphQL queries have been created to make this information available to the frontend for the new headless implementation:
During testing, the queries sometimes return out-of-date information.
How should this problem be solved while maintaining performance?
- A . Specify a @cacgecacheable(cacheable: false) directive for each GraphQL query, making sure that the data returned is not cached, and is up to date
- B . Specify a $cache(cacheidentity: Path\To\identityclass) directive for each GraphQL query, corresponding to a class that adds cache tags for relevant brands and associated products
- C . Each GraphQL query’s resolver class should inject MagentoGraphQlcacheModelcacheableQuery and call setcachevalidity(true) on it as part of the resolver’s resolve function.
An Adobe Commerce Architect is investigating a case where some EAV product attributes are no longer updated.
• The catalog is composed of 20.000 products with 100 attributes each.
• The product updates are run by recurring Adobe commerce imports that happen multiple times a day.
• The Architect finds an error in the logs that indicates an integrity constraint while trying to insert row with id 2147483647.
What is causing this error?
- A . Magento framework uses INSERT on DUPLICATE, which leads to reaching the max limit of the increment of the column.
- B . Integrity constraints were dropped after upgrading to the latest version, and the integrity checks were missed.
- C . EAV attribute import uses REPLACE, which leads to reaching the max limit of the increment of the column