Table of Contents
- Title and Copyright Information
 - 1 Understand Extension Features
 - 2 Use the REST APIs
 - 
               
               
                  
                  3
                      Use Webhooks
               
                  
               
               
               
- Understand webhooks
 - Configure webhooks
 - Secure webhooks
 - Troubleshoot webhooks
 - Understand webhooks and PCI DSS compliance
 - Use the REST API to configure webhooks
 - Reduce the size of webhook requests
 - Manage failed webhook calls
 - Return webhook errors in an endpoint response
 - Summary of webhooks involved in order submission
 
 - 4 Develop Server-Side Extensions
 - 5 Manage Shopper Profiles
 - 6 Access SKU Properties through Widgets
 - 7 Create Custom Promotions
 - 8 Manage Multiple Inventory Locations
 - 9 Manage Inventory for Preorders and Backorders
 - 10 Manage Orders
 - 11 Customize Order Line Items
 - 12 Ship an Order to Multiple Addresses
 - 13 Exclude Items from Shipping Methods and Costs
 - 14 Manage Countries and Regions for Shipping and Billing Addresses
 - 
               
               
                  
                  15
                      Configure Buy Online Pick Up In Store
               
                  
               
               
               
- Understand buy online pick up in store
 - Manage inventory for in-store pick up
 - Configure layouts and widgets for in-store pick up
 - Configure products and SKUs for in-store pick up
 - Customize email templates for in-store pick up
 - Configure payment processing for in-store pick up
 - Understand tax processing and in-store pick up
 - Configure the Picked Up Items webhook
 
 - 16 Create Scheduled Orders
 - 17 Notify Shoppers When Items are Back in Stock
 - 18 Enable Purchase Lists
 - 
               
               
                  
                  19
                      Enable Order Approvals
               
                  
               
               
               
- Allow a delegated administrator to control order approvals
 - Configure a deferred payment gateway for order approvals
 - Set the frequency of canceled order clean up
 - Configure page layouts for order approvals
 - Manage the checkout flow for orders requiring approval
 - Display a contact’s purchase limit in a widget
 - Integrate with an external system for order approvals
 
 - 20 Assign Catalogs and Price Groups to Shoppers
 - 21 Implement Storefront Single Sign-On
 - 22 Implement Single Sign-On for Internal Users
 - 23 Configure Sites
 - 24 Work with Carts that are Shared Across Multiple Sites
 - 
               
               
                  
                  25
                      Work with Loyalty Programs
               
                  
               
               
               
- Implement loyalty points
 - Create a custom currency for loyalty points
 - Configure a site to use loyalty programs
 - Understand tax and shipping calculations with loyalty programs
 - Display tax and shipping in currency for points-based orders
 - Redeem loyalty points
 - Understand currency exchange rates
 - Use custom properties in loyalty integration
 
 - 26 Integrate with External Shipping Calculators
 - 27 Integrate with an External Pricing System
 - 
               
               
                  
                  28
                      Customize Email Templates
               
                  
               
               
               
- Download and edit email templates
 - Customize tax display in templates
 - Customize line-item display in templates
 - Add company name and logo to account-based email templates
 - Notify a contact of multiple account or role changes in a single email
 - Customize recommendations in templates
 - Add a site to a template
 
 - 29 Upload Third-Party Files
 - 30 Manage Guest Checkout
 - 31 Manage Saved Carts
 - 32 Manage the Use of Personal Data
 - 33 Implement Access Control for Internal Users
 - 34 Manage an Account-based Storefront
 - 35 Integrate With a Procurement System
 - 
               
               
                  
                  36
                      Perform Bulk Export and
                  Import
               
                  
               
               
               
- Understand Bulk Exporting And Importing
 - Export data endpoints
 - Import data endpoints
 - Understand export and import endpoint parameters
 - Export and import account data
 - Export and import profile data
 - Export and import product data
 - Export and import catalog data
 - Export and import category data
 - Export and import inventory data
 - Export and import promotion data
 - Export and import price data
 - Import address data
 - Import relationship data
 - Export and import CSV files
 - Delete bulk import or export files from repository
 - Convert registered shoppers to account-based shoppers
 - Improve performance in large bulk imports
 
 - 37 Create a Credit Card Payment Gateway Integration
 - 38 Create a Generic Payment Gateway Integration
 - 39 Integrate with a Gift Card Payment Gateway
 - 40 Integrate with a Store Credit Payment Gateway
 - 41 Integrate with a Loyalty Point Payment Gateway
 - 42 Integrate with a Cash Payment Gateway
 - 43 Integrate with an Invoice Payment Gateway
 - 44 Integrate with a Web Checkout System
 - 45 Enable Split Payments
 - 46 Configure Tax Processors
 - 
               
               
                  
                  47
                      Configure Search Features
               
                  
               
               
               
- Understand which search features can be configured
 - Understand how to execute endpoints
 - Understand ZIP format and JSON format
 - HTTP methods for configuring search features
 - Delete resources
 - Understand system-generated object attributes
 - Export and import all search configuration
 - Configure individual resources using ZIP format
 - Back up and restore all application configuration
 - Migrate configuration of all search features
 - Apply configuration changes to your live storefront
 - Configure a thesaurus
 - Configure keyword redirects
 - Optimize URLs for search engines
 - View your changes
 - Specify which index fields are included in searches
 - Index and Query Popular Searches
 - Modify data structures to enhance searches and navigation
 - Configure which properties of aggregated records and their members are accessible to front end applications
 - Configure the order of facets
 - Configure the order of facet values
 - Merge available and selected facet values
 - Order facet values by statistical significance
 - Add metadata to facet values
 - Create custom range facets
 - Configure the ranking of records in search results
 - Link additional content to search results
 - Search non-catalog data
 - Machine learning for search
 - Sample Search and Navigation REST API requests using cURL
 
 - 48 Use Developer Utilities
 - 
               
               
                  
                  49
                      Improve System Performance
               
                  
               
               
               
- Measure performance often
 - Monitor your Commerce environments
 - Improve performance in REST API Calls
 - Use cc-storage for Safari private browsing mode
 - Avoid console.log() statements
 - Avoid using ko.observable()
 - Update observable JavaScript arrays
 - Use Knockout data-binds syntax to attach events to DOM elements
 - Use onLoad and beforeAppear correctly
 - Use the fields parameter
 - Use persistent filters
 - Use minified versions of libraries and widget JavaScript
 - Localize endpoints
 - Enable queueing simultaneous endpoint calls
 - Improve performance in custom widgets
 - Optimize Search
 - Use preFilter parameter with fields parameter to improve endpoint performance
 - Speed up system response on Product Listing and Product Details
 - Enable asynchronous orders flow
 - Improve Storefront Performance for Large Carts
 - Prevent Site Traffic Slowdowns
 - Improve performance with large numbers of addresses for profiles or accounts
 
 - 
               
               
                  
                  50
                      Improve Storefront
                  Performance
               
                  
               
               
               
- Optimize First Meaningful Paint
 - Lazy load images
 - Improve Storefront Performance for Large Carts
 - Add a page level spinner
 - Enable prioritized loading of Storefront page content
 - Avoid synchronous AJAX calls
 - Avoid hiding elements with CSS styling
 - Remove unused UI elements completely from layouts
 - Use viewport specific layouts for mobile
 - Keep contents of header and footer regions consistent
 - Limit DOM node creation
 - Use ccLink binding for quicker page loading
 - Resize images using the ccResizeImage binding