
Provides static helper methods for managing Shopper Context.
Shopper Context is used to personalize shopper experiences with context values such as custom session attributes, assignment qualifiers, geolocation, effective datetime, source code and more. When Shopper Context is set for a shopper, it can activate promotions or price books assigned to customer groups, source codes, or stores (via assignments) in the subsequent requests, not the current request.
Shopper Context is used to personalize the shopper experience in case of Composable/Headless or Hybrid storefront implementations that use Shopper Login and API Access Service (SLAS).
NOTE: This script API is not intended to be used for standard server-side storefront implementations. Only for Composable/Headless or Hybrid storefront implementations.
Unlike CustomerContextMgr which is used to set just Effective Time for which the customer is shopping at, Shopper Context API provides a way to set many types of contexts such as custom session attributes, assignment qualifiers, geolocation, effective datetime, source code etc.
The following feature toggles and site preferences must be enabled in order to use this script API:
- Enable Shopper Context Feature
- Enable Hybrid Authentication Feature - only in case of Hybrid storefront implementations
- Hybrid Auth Settings' site preference - only in case of Hybrid storefront implementations
For more details on Shopper Context please refer to: Shopper Context API Overview
For more details on Hybrid Authentication for Hybrid storefronts please refer to: Hybrid Authentication
ShopperContextMgr is used to create, access and delete Shopper Context.
- To add Shopper Context, use methods setShopperContext(ShopperContext, Boolean).
- To access Shopper Context, use method getShopperContext().
- To delete Shopper Context, use methods removeShopperContext().
Sets new ShopperContext for the customer or overwrites the existing context.
Sets new ShopperContext for the customer or overwrites the existing context.
Note: This method does not save the attributes from the given Shopper Context such as - custom session attributes, source code, effective date time etc., - in the current session object. These attributes are read from Shopper Context and stored in the corresponding session attributes during subsequent requests and not in the current request. Hence, promotions, price books etc., are triggered in subsequent requests.
IfclientIP
is set in ShopperContext, the geolocation information
is retrieved and set in x-geolocation
header.
And if the parameter evaluateContextWithClientIP
is set to true, the clientIP
will be
saved to the Shopper Context.
If parameter evaluateContextWithClientIP
is set to false, the clientIP
will not be
saved to the Shopper Context.
If the geoLocation
attribute is set, it overrides any geolocation context set by
clientIP
.