Download Shopify App Development Certification EXAM QUESTIONS GRADED A+ WITH ANSWERS and more Exams Advertising and Sales Promotion in PDF only on Docsity! Shopify App Development Certification EXAM QUESTIONS GRADED A+ WITH ANSWERS ANSWER REPETED TWICE Documentation is an opportunity to educate your users. Which of the following is not a good method of encouraging learning in your documentation? -Clearly defining each step and defining tasks with granularity -Including greater context beyond the task itself, so users understand the purpose and outcome of each step -Repeating the same information through subsequent steps to reinforce key concepts -Gradually increasing the tutorial difficulty—making first tasks easier than later ones Repeating the same information through subsequent steps to reinforce key concepts ? https://polaris.shopify.com/content/help-documentation What Polaris React component would you use to add a title and breadcrumb to your app? -<Heading> -<Tabs> -<Page> -<Link> <Page> ? https://polaris.shopify.com/components/structure/page The access token generated during OAuth can be used with both the REST and GraphQL Admin APIs. True ? https://shopify.dev/api/admin/getting-started#rest-admin-api Which Shopify App Bridge resource picker option would you use in order to filter a list of products? -showProducts -filterValue -showVariant -initialQuery initialQuery ? https://shopify.dev/apps/tools/app-bridge/actions/resourcepicker#options -Customers/redact and shop/redact -Shop/update and shop/redact -Customers/redact and shop/redact https://shopify.dev/apps/webhooks/mandatory For each of your app's active installs, you have acquired an access token. Do you still need to authenticate requests to your app? No ? https://shopify.dev/apps/auth/oauth#5-make-authenticated-requests The following app extension is used to embed an application's frontend within the context of a Shopify store's online storefront. -Embedded App SDK -App Bridge -Application Proxy -Storefront API -App Bridge https://shopify.dev/apps/tools/app-bridge Your hosting center and app were taken offline for more than 48 hours. Shopify has cancelled your webhooks because you weren't responding for an extended period of time. How do you get your webhook subscriptions back? -Generate a new shared secret key and update any webhook requests -Add a check that fetches all the existing webhooks and only registers the missing ones -Re-register all missing webhooks and overwrite existing ones to ensure nothing has been compromised Add a check that fetches all the existing webhooks and only registers the missing ones https://shopify.engineering/17488672-webhook-best-practices If your app deprecates a script tag, you will need to delete it for it to be removed from a merchant's store. Assuming the ID of the script tag is 596726825, how would you remove it? DELETE /admin/api/2021-07/script_tags/596726825.json https://shopify.dev/api/admin/rest/reference/online-store/scripttag All GraphQL Admin API calls are made to a single, per-shop, endpoint. True ? https://shopify.dev/api/admin/getting-started#graphql-admin-api Failing to restrict the types or sizes of filters on image upload fields presents a significant security risk of what type of attacks? -Cross Site Scripting attacks -Client-State Manipulation -SQL Injection -All of the above -Client-State Manipulation ? Shopify Apps are able to bill users on a recurring and usage-based basis simultaneously with the Billing API. True https://shopify.dev/api/admin/rest/reference/billing/usagecharge How does Shopify's GraphQL leaky bucket call limit differ from its REST counterpart? The GraphQL call limit considers the cost of requests over time where the REST call limit considers the number of requests https://shopify.dev/api/admin/rest/reference/orders/order In order to initialize your embedded app using Polaris, you must use the <AppProvider></AppProvider> component. What is the following code missing in order to properly initialize your app? ReactDOM.render( <AppProvider> <ResourcePicker open="" products="" onSelection="{(resources)" ==""> console.log('Selected resources ', resources)} /></ResourcePicker> </AppProvider>, ); -Nothing. This code is enough to initialize a an app. -The shop parameter is missing from the `AppProvider` component. -The apiKey parameter is missing from the `AppProvider` component. Nothing. This code is enough to initialize a an app. https://polaris.shopify.com/components/structure/app-provider Making a GET request to the /admin/fulfillment_services.json endpoint will return all fulfillment services installed on a shop. False https://shopify.dev/api/admin/rest/reference/shipping-and- fulfillment/fulfillmentservice What is the best practice method to display a form in a modal using the Shopify App Bridge? -Create an app page with the form and then use an iframe modal with the path/url set to the page -Create a Polaris modal with the HTML form within the and tags -Create an app page with the form and then use an iframe modal with the path/url set to the page ? https://shopify.dev/apps/tools/app-bridge/actions/modal#setup https://polaris.shopify.com/components/overlays/modal Which testing method(s) should ideally be covered by automated test cases? Select all that apply. -Functional testing -Regression testing -Sanity testing -Usability testing -Functional testing -Regression testing Using Polaris best practices for actionable language, buttons should be labeled using: -We {verb} + {noun} -Lowercase -{verb} -"Click here" {verb} + {noun} https://polaris.shopify.com/content/actionable-language#section-buttons Using the Shopify App Bridge, how would you subscribe your app to errors of the type INVALID_ACTION? Which method would you use to complete the above task? -app.subscribe(Error.ActionType.INVALID_ACTION, (data) => {data...}); -app.error((invalidAction) => {invalidAction...}); -app.on(Error.ActionType.INVALID_ACTION).then((data) => {data...}); app.subscribe(Error.ActionType.INVALID_ACTION, (data) => {data...}); https://shopify.dev/apps/tools/app-bridge/actions/error The REST Admin and GraphQL Admin APIs share the same rate limit. -The language the user has chosen as their preferred language in the Shopify Admin When a merchant installs your app and enters your OAuth flow, what is the correct sequence of events your app must follow? -Redirect the user to my app's website to sign up for an account -> Get authorization from the user by redirecting them to Shopify's grant screen -> Perform security checks on the provided nonce and HMAC -> Make a POST request to acquire an access token. -Get authorization from the user by redirecting them to Shopify's grant screen -> Perform security checks on the provided nonce and HMAC -> Make a POST request to acquire an access token. -Redirect the user to my app's website to sign up for an account -> Get authorization from the user by redirecting them to Shopify's grant screen -> Make a POST request to acquire an access token. -Get authorization from the user by redirecting them to Shopify's grant screen -> Perform security checks on the provided nonce and HMAC -> Make a POST request to acquire an access token. ? https://shopify.dev/apps/auth/oauth By default, when an order is created through the API, an order confirmation is automatically sent to the customer. False https://shopify.dev/api/admin/rest/reference/orders/order Which Polaris component can be used only in an embedded app? <ResourceList> <DataTable> <Popover> <ResourcePicker> <ResourcePicker> ? Webhook subscriptions are sufficient for tracking the latest state of shop resources such as products, collections, and fulfillments. False https://shopify.dev/api/admin/rest/reference/events/webhook When it comes to your relationship with merchants, what is an "interaction total" and why would it be helpful for you to measure it? -The interaction total is the total number of support interactions you've had with your customers, and can be used to change your support strategy, offer support at peak times, or identify common support questions and frustrations. -An interaction total is the total amount of requests that your app has sent to Shopify's API on behalf of its users. This can help you detect the most commonly used functions and how you can optimize your app to surface those functions to merchants earlier. The interaction total is the total number of support interactions you've had with your customers, and can be used to change your support strategy, offer support at peak times, or identify common support questions and frustrations. https://shopify.dev/apps/store/support#:~:text=The%20interaction%20total%20i s%20the,you're%20getting%20from%20merchants Shopify uses the same Resource IDs in both GraphQL and REST. False ? Where are notices about Shopify's API field deprecations posted? Select all that apply. -Shopify's API Announcement forum -Shopify's API Changelog -The GraphQL API reference documentation -Shopify's API Announcement forum -Shopify's API Changelog ? https://shopify.dev/api/usage/versioning#deprecation-practices discountApplications, lineItems, currencyCode, name, orderNumber, processedAt order, line_items, variant_id, inventory_level, location_id Order, lineItems, variant, inventoryItem, inventoryLevels, location, id order, product, productvariant, inventoryitem, inventorylevel, location, id Order, lineItems, variant, inventoryItem, inventoryLevels, location, id ? https://shopify.dev/api/admin/graphql/reference/orders/lineitem If a merchant uninstalls and reinstalls your app, the app should authenticate and request permissions again, following the same onboarding flow as a fresh installation. True ? You are using the following code to show a toast message when a user clicks a button in your embedded app: button.subscribe(Button.Action.CLICK, (message: string) => { const toastMessage = Toast.create(app, { message: "Hello world", duration: 3000, }); // Missing line }); What line is missing in order to display this message to the user? Enter function call in the text box below (Example: foo.bar();). clickUnsubscribe(); https://shopify.dev/apps/tools/app-bridge/actions/button Your client is a Shopify Plus merchant who requires automated workflows with custom processing that they can control from their Shopify Admin. What is the most efficient way to build them this functionality? -By building an embedded app that gives them custom configuration options designed by your team to match the client's common use cases -By using the Scripts API for Shopify Plus to write a simple Ruby script that the client can edit if they need to implement any major changes -By developing an app extension that plugs into Shopify Flow that the merchant can use with any of Flow's functionality By developing an app extension that plugs into Shopify Flow that the merchant can use with any of Flow's functionality ? The Shopify SDK for Unity empowers game developers to do what? -Build a better store experience for digital downloads and in-game purchases using Shopify -Incorporate the sale of physical merchandise into a game -Provide a payment gateway for game subscriptions and season passes -All of the above -All of the above ? https://shopify.dev/custom-storefronts/tools/unity-buy#3-access-the-unity-buy- sdk Your app keeps hitting the call limit. How can you verify how many calls you have left in your bucket after a specific request? -Look for the X-Shopify-API-Call-Limit header returned in your API call responses. -Count how many API calls it takes to receive a 429 response code. This tells you what your call limit is, and allows you to calculate how many calls you have left. -Contact Shopify support to find out how many API calls you have left and adjust your app's limit. -Look for the X-Shopify-API-Call-Limit header returned in your API call responses. https://shopify.dev/api/usage/rate-limits When building stand-alone apps, it's important to (Select all that apply): -Make your app visually distinct -Use your own logo -Provide top-level navigation which returns the merchant to their Shopify Admin -Make your app visually distinct -Use your own logo -Provide top-level navigation which returns the merchant to their Shopify Admin -Develop a private app that uses the Checkout, Customer, and Order APIs to check the customer's order history and apply discounts -Use the Shopify Scripts Editor app to write these discounts using Shopify's Ruby API -Use Shopify's Discounts API to create the discount logic in an app and tell the merchant to apply the code where necessary -Use the Shopify Scripts Editor app to write these discounts using Shopify's Ruby API ? https://help.shopify.com/en/manual/checkout-settings/script-editor Your app is meant for use by individual store users and must respect the permission levels of each user. In order to improve the onboarding experience, you want to create a user profile on installation. Which value, returned from the OAuth handshake, is the most reliable value to use for the user identification? -Email -ID -screen_name -All of the above can be used as unique ID -ID ? The following response status code indicates that an app has exceeded Shopify's API call limit. 420 422 429 500 429 https://shopify.dev/api/usage/rate-limits#rest-admin-api-rate-limits You are able to process payments and orders within your custom storefront app without redirecting the user to Shopify's payment gateway. True False True ? https://shopify.dev/api/storefront Whose responsibility is it to ensure General Data Protection Regulation (GDPR) compliance for the data being stored by an app? Shopify -The merchant using the app -The server storing personally identifiable information (PII) -The app developer -All of the above -The merchant using the app https://help.shopify.com/en/manual/your- account/privacy/GDPR#:~:text=While%20Shopify%20does%20what%20it,responsi bility%20of%20each%20individual%20merchant. When making a request to a shop, your app is getting a '403 Forbidden' response. What is the best way to troubleshoot the problem? -Have the merchant re-install your app -Attempt the request again -Check that your app has been granted the correct scopes -Contact Shopify's support team -Check that your app has been granted the correct scopes ? To create a new checkout, you can send a POST request to the admin/checkouts.json endpoint. If you sent the following JSON string to the endpoint, what would be returned? { "checkout": { "line_items": [ { "variant_id": 26756068422, "quantity": 1 } ] } } False True ? https://www.shopify.com/partners/blog/graphql-vs-rest App extensions are registered: -Through the Shopify Admin -Through Shopify's API -Both -Through the Shopify Admin ? https://shopify.dev/apps/app-extensions/extension-points#online-store You are creating a custom storefront app that requires users to sign up to make purchases. You are using the following code to sign users up from a form in your app: mutation customerCreate($input: CustomerCreateInput!) { customerCreate(input: $input) { userErrors { field message } customer { id } } } What request variables are required to be sent in the $input object in order to successfully generate the account? Enter variable keys separated by commas (example: variable1, variable2, variable3). email, password https://shopify.dev/api/storefront/reference/customers/customercreate Adding a loading screen with information or entertaining content can alleviate your users' impatience during long wait times and make them less likely to to uninstall your app. True False True ? https://www.shopify.com/partners/blog/app-ui Your hosting center and app were taken offline for more than 48 hours. There are a large number of unprocessed requests that were sent to you during the downtime. What is best practice for fetching and processing that data? -Build a reconciliation job that fetches data from the time period you were down and feeds it into the webhook—processing code one object at a time -Create a temporary webhook and build a reconciliation job that fetches data from the time period you were down and feeds it into the new webhook— processing the code as a batch Build a reconciliation job that fetches data from the time period you were down and feeds it into the webhook—processing code one object at a time https://shopify.engineering/17488672-webhook-best-practices Shopify's Sales Channel SDK enables the creation of sales channel apps that allow merchants to sell products on marketplaces outside of their online stores. Which Admin API resources does the sales channel SDK depend on? -ProductListing, CollectionListing, and Checkout -Product, Collection, and Checkout -ProductListing, Collection, and Payment -Product, CollectionListing, and Payment -ProductListing, CollectionListing, and Checkout ? https://shopify.dev/api/admin/rest/reference/sales-channels Which of the following is true about the text you add to your admin links? The text should be action oriented The text should include your app's name so the user knows what is supplying the functionality The text should be in title case All of the above All of the above