Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ShopperContext

The Shopper Context API enables developers to build highly contextualized shopping experiences for shoppers.

Example with shopper auth

import { Customer, ClientConfig, Customer, slasHelpers } from "commerce-sdk";
// or
const { Customer, ClientConfig, Customer, slasHelpers } = require("commerce-sdk");

const clientConfig: ClientConfig = {
  parameters: {
    clientId: "XXXXXX",
    organizationId: "XXXX",
    shortCode: "XXX",
    siteId: "XX"
  }
};

// must be registered in SLAS. On server, redirectURI is never called
const redirectURI = "http://localhost:3000/callback";
const slasClient = new Customer.ShopperLogin(clientConfig);
token = await slasHelpers.loginGuestUser(slasClient, { redirectURI });

clientConfig.headers['authorization'] = `Bearer ${token.access_token}`;
const shopperContextClient = new Customer.ShopperContext(clientConfig);
API Version: 0.0.29
Last Updated:

Hierarchy

  • BaseClient
    • ShopperContext

Index

Type aliases

Static AsyncCreated

AsyncCreated: {}

Type declaration

Static AttributeDefinition

AttributeDefinition: { defaultValue?: PropertyValueDefinition; description: L10nString; id?: string; key?: boolean; localizable?: boolean; mandatory?: boolean; max?: number; min?: number; minLength?: number; multiValueType?: boolean; name: L10nString; possibleValues?: Array<PropertyValueDefinition>; regularExpression?: string; scale?: number; searchable?: boolean; siteSpecific?: boolean; system?: boolean; type: string; unit?: L10nString; visible?: boolean }

Type declaration

  • Optional defaultValue?: PropertyValueDefinition
  • description: L10nString
  • Optional id?: string
  • Optional key?: boolean
  • Optional localizable?: boolean
  • Optional mandatory?: boolean
  • Optional max?: number
  • Optional min?: number
  • Optional minLength?: number
  • Optional multiValueType?: boolean
  • name: L10nString
  • Optional possibleValues?: Array<PropertyValueDefinition>
  • Optional regularExpression?: string
  • Optional scale?: number
  • Optional searchable?: boolean
  • Optional siteSpecific?: boolean
  • Optional system?: boolean
  • type: string
  • Optional unit?: L10nString
  • Optional visible?: boolean

Static BoolFilter

BoolFilter: { filters?: Array<Filter>; operator: string } & {}

Static BoolQuery

BoolQuery: { must?: Array<Query>; mustNot?: Array<Query>; should?: Array<Query> } & {}

Static ChangeControlled

ChangeControlled: { createdBy?: string; creationDate?: any; lastModifiedBy?: string; modificationDate?: any } & {}

Static ChangeControlledDataType

ChangeControlledDataType: { createdBy?: string; creationDate?: any; lastModifiedBy?: string; modificationDate?: any } & {}

Static ClosedObject

ClosedObject: {} & {}

Static DateConditionalRequest

DateConditionalRequest: {}

Type declaration

Static DateRangeFilter

DateRangeFilter: {}

Type declaration

Static DatetimeRangeFilter

DatetimeRangeFilter: {}

Type declaration

Static Error

Error: { detail?: string; instance?: string; title?: string; type: string } & {}

Static ErrorResponse

ErrorResponse: { detail?: string; instance?: string; title?: string; type: string } & {}

Static EtagConditionalRequest

EtagConditionalRequest: {}

Type declaration

Static EtagResponse

EtagResponse: {}

Type declaration

Static Filter

Filter: { boolFilter?: BoolFilter; queryFilter?: QueryFilter; range2Filter?: Range2Filter; rangeFilter?: RangeFilter; termFilter?: TermFilter } & {}

Static FilteredQuery

FilteredQuery: { filter: Filter; query: Query } & {}

Static IntegerRangeFilter

IntegerRangeFilter: {}

Type declaration

Static L10nString

L10nString: {} & {}

Static LocalizedString

LocalizedString: {} & {}

Static MatchAllQuery

MatchAllQuery: {} & {}

Static Money

Money: { currencyMnemonic?: string; value?: number } & {}

Static MoneyMnemonic

MoneyMnemonic: { currencyMnemonic?: string; value?: number } & {}

Static NestedQuery

NestedQuery: { path: string; query: Query; scoreMode?: string } & {}

Static NoPropertiesAllowed

NoPropertiesAllowed: {}

Type declaration

Static NumericRangeFilter

NumericRangeFilter: {}

Type declaration

Static OffsetPaginated

OffsetPaginated: {}

Type declaration

Static OpenObject

OpenObject: {} & {}

Static PaginatedSearchResult

PaginatedSearchResult: { hits?: Array<object>; limit: number; offset: any; query: Query; sorts?: Array<Sort>; total: any } & {}

Static PaginatedSearchResultBase

PaginatedSearchResultBase: { hits?: Array<object>; limit: number; offset: any; query: Query; sorts?: Array<Sort>; total: any } & {}

Static PropertyDefinition

PropertyDefinition: { defaultValue?: PropertyValueDefinition; description: L10nString; id?: string; key?: boolean; localizable?: boolean; mandatory?: boolean; max?: number; min?: number; minLength?: number; multiValueType?: boolean; name: L10nString; possibleValues?: Array<PropertyValueDefinition>; regularExpression?: string; scale?: number; searchable?: boolean; siteSpecific?: boolean; system?: boolean; type: string; unit?: L10nString; visible?: boolean } & {}

Static PropertyValueDefinition

PropertyValueDefinition: { description: L10nString; displayValue: L10nString; id: string; position?: number; value: string }

Type declaration

  • description: L10nString
  • displayValue: L10nString
  • id: string
  • Optional position?: number
  • value: string

Static Query

Query: { boolQuery?: BoolQuery; filteredQuery?: FilteredQuery; matchAllQuery?: MatchAllQuery; nestedQuery?: NestedQuery; termQuery?: TermQuery; textQuery?: TextQuery } & {}

Static QueryFilter

QueryFilter: { query: Query } & {}

Static QueryParamsLimit

QueryParamsLimit: {}

Type declaration

Static QueryParamsOffset

QueryParamsOffset: {}

Type declaration

Static Range2Filter

Range2Filter: { filterMode?: string; fromField: string; fromInclusive?: boolean; fromValue?: any; toField: string; toInclusive?: boolean; toValue?: any } & {}

Static RangeFilter

RangeFilter: {}

Type declaration

Static RateLimited

RateLimited: {}

Type declaration

Static RateLimited2

RateLimited2: {}

Type declaration

Static RateLimited3

RateLimited3: {}

Type declaration

Static RateLimited4

RateLimited4: {}

Type declaration

Static RateLimited5

RateLimited5: {}

Type declaration

Static SearchRequest

SearchRequest: { limit?: number; offset?: any; query: Query; sorts?: Array<Sort> } & {}

Static SearchRequestBase

SearchRequestBase: { limit?: number; offset?: any; query: Query; sorts?: Array<Sort> } & {}

Static Selectable

Selectable: {}

Type declaration

Static ShopperContext

ShopperContext: { assignmentQualifiers?: {} & {}; clientIp?: string; customQualifiers?: {} & {}; customerGroupIds?: Array<string>; effectiveDateTime?: any; geoLocation?: { city?: string; country?: string; countryCode?: string; latitude?: number; longitude?: number; metroCode?: string; postalCode?: string; region?: string; regionCode?: string } & {}; sourceCode?: any } & {}

Static SimpleSearchResult

SimpleSearchResult: { hits?: Array<object>; limit: number; offset: any; total: any } & {}

Static SimpleSearchResultBase

SimpleSearchResultBase: { hits?: Array<object>; limit: number; offset: any; total: any } & {}

Static SiteSpecific

SiteSpecific: {}

Type declaration

Static Sort

Sort: { field: string; sortOrder?: string } & {}

Static SpecifiedPropertiesAllowed

SpecifiedPropertiesAllowed: {} & {}

Static SyncCreated

SyncCreated: {}

Type declaration

Static TermFilter

TermFilter: { field: string; operator: string; values?: Array<any> } & {}

Static TermQuery

TermQuery: { fields: Array<string>; operator: string; values?: Array<any> } & {}

Static TextQuery

TextQuery: { fields: Array<string>; searchPhrase: string } & {}

Constructors

constructor

  • Parameters

    • config: ClientConfig

    Returns ShopperContext

Properties

clientConfig

clientConfig: ClientConfig

Methods

createShopperContext

  • createShopperContext(options: { body: ShopperContext; fetchOptions?: RequestInit; headers?: {}; parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }): Promise<void | void>
  • createShopperContext<T>(options: { body: ShopperContext; fetchOptions?: RequestInit; headers?: {}; parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }, rawResponse?: T): Promise<T extends true ? Response : void | void>
  • Creates the shopper's context based on shopperJWT.

    With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the siteId parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025.

    If you would like to get a raw Response object use the other createShopperContext function.

    Parameters

    • options: { body: ShopperContext; fetchOptions?: RequestInit; headers?: {}; parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }

      An object containing the options for this method.

      • body: ShopperContext
      • Optional fetchOptions?: RequestInit
      • Optional headers?: {}
        • [key: string]: string
      • Optional parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}
      • Optional retrySettings?: OperationOptions

    Returns Promise<void | void>

    A promise of type void | void.

  • Creates the shopper's context based on shopperJWT.

    With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the siteId parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025.

    Type parameters

    • T: boolean

    Parameters

    • options: { body: ShopperContext; fetchOptions?: RequestInit; headers?: {}; parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }

      An object containing the options for this method.

      • body: ShopperContext
      • Optional fetchOptions?: RequestInit
      • Optional headers?: {}
        • [key: string]: string
      • Optional parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}
      • Optional retrySettings?: OperationOptions
    • Optional rawResponse: T

      Set to true to return entire Response object instead of DTO.

    Returns Promise<T extends true ? Response : void | void>

    A promise of type Response if rawResponse is true, a promise of type void | void otherwise.

deleteShopperContext

  • deleteShopperContext(options?: { fetchOptions?: RequestInit; headers?: {}; parameters?: { organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }): Promise<void>
  • deleteShopperContext<T>(options?: { fetchOptions?: RequestInit; headers?: {}; parameters?: { organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }, rawResponse?: T): Promise<T extends true ? Response : void>
  • Gets the shopper's context based on the shopperJWT.

    With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the siteId parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025.

    If you would like to get a raw Response object use the other deleteShopperContext function.

    Parameters

    • Optional options: { fetchOptions?: RequestInit; headers?: {}; parameters?: { organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }

      An object containing the options for this method.

      • Optional fetchOptions?: RequestInit
      • Optional headers?: {}
        • [key: string]: string
      • Optional parameters?: { organizationId?: string; siteId?: string; usid: string } & {}
      • Optional retrySettings?: OperationOptions

    Returns Promise<void>

    A promise of type void.

  • Gets the shopper's context based on the shopperJWT.

    With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the siteId parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025.

    Type parameters

    • T: boolean

    Parameters

    • Optional options: { fetchOptions?: RequestInit; headers?: {}; parameters?: { organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }

      An object containing the options for this method.

      • Optional fetchOptions?: RequestInit
      • Optional headers?: {}
        • [key: string]: string
      • Optional parameters?: { organizationId?: string; siteId?: string; usid: string } & {}
      • Optional retrySettings?: OperationOptions
    • Optional rawResponse: T

      Set to true to return entire Response object instead of DTO.

    Returns Promise<T extends true ? Response : void>

    A promise of type Response if rawResponse is true, a promise of type void otherwise.

getShopperContext

  • getShopperContext(options?: { fetchOptions?: RequestInit; headers?: {}; parameters?: { organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }): Promise<ShopperContext>
  • getShopperContext<T>(options?: { fetchOptions?: RequestInit; headers?: {}; parameters?: { organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }, rawResponse?: T): Promise<T extends true ? Response : ShopperContext.ShopperContext>
  • Gets the shopper's context based on the shopperJWT.

    With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the siteId parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025.

    If you would like to get a raw Response object use the other getShopperContext function.

    Parameters

    • Optional options: { fetchOptions?: RequestInit; headers?: {}; parameters?: { organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }

      An object containing the options for this method.

      • Optional fetchOptions?: RequestInit
      • Optional headers?: {}
        • [key: string]: string
      • Optional parameters?: { organizationId?: string; siteId?: string; usid: string } & {}
      • Optional retrySettings?: OperationOptions

    Returns Promise<ShopperContext>

    A promise of type ShopperContext.ShopperContext.

  • Gets the shopper's context based on the shopperJWT.

    With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the siteId parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025.

    Type parameters

    • T: boolean

    Parameters

    • Optional options: { fetchOptions?: RequestInit; headers?: {}; parameters?: { organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }

      An object containing the options for this method.

      • Optional fetchOptions?: RequestInit
      • Optional headers?: {}
        • [key: string]: string
      • Optional parameters?: { organizationId?: string; siteId?: string; usid: string } & {}
      • Optional retrySettings?: OperationOptions
    • Optional rawResponse: T

      Set to true to return entire Response object instead of DTO.

    Returns Promise<T extends true ? Response : ShopperContext.ShopperContext>

    A promise of type Response if rawResponse is true, a promise of type ShopperContext.ShopperContext otherwise.

updateShopperContext

  • updateShopperContext(options: { body: ShopperContext; fetchOptions?: RequestInit; headers?: {}; parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }): Promise<ShopperContext>
  • updateShopperContext<T>(options: { body: ShopperContext; fetchOptions?: RequestInit; headers?: {}; parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }, rawResponse?: T): Promise<T extends true ? Response : ShopperContext.ShopperContext>
  • Updates the shopper's context based on the Shopper JWT. If the shopper context exists, it's updated with the patch body. If a custom qualifier/assignment qualifer or an effectiveDateTime or a sourceCode or a customerGroupIds is already present in the existing shopper context, its value is replaced by the corresponding value from the patch body. If a custom qualifers' or a assignment qualifiers' value is set to null, it's deleted from existing shopper context. If effectiveDateTime or sourceCode value is set to an empty string (""), it's deleted from existing shopper context. If effectiveDateTime or sourceCode value is set to null, it's ignored. If an effectiveDateTime or sourceCode or custom/assignment qualifiiers' value is new, it's added to the existing Shopper context. If customerGroupIds is set to empty array [] the existing value in shopper context is deleted.

    With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the siteId parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025.

    If you would like to get a raw Response object use the other updateShopperContext function.

    Parameters

    • options: { body: ShopperContext; fetchOptions?: RequestInit; headers?: {}; parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }

      An object containing the options for this method.

      • body: ShopperContext
      • Optional fetchOptions?: RequestInit
      • Optional headers?: {}
        • [key: string]: string
      • Optional parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}
      • Optional retrySettings?: OperationOptions

    Returns Promise<ShopperContext>

    A promise of type ShopperContext.ShopperContext.

  • Updates the shopper's context based on the Shopper JWT. If the shopper context exists, it's updated with the patch body. If a custom qualifier/assignment qualifer or an effectiveDateTime or a sourceCode or a customerGroupIds is already present in the existing shopper context, its value is replaced by the corresponding value from the patch body. If a custom qualifers' or a assignment qualifiers' value is set to null, it's deleted from existing shopper context. If effectiveDateTime or sourceCode value is set to an empty string (""), it's deleted from existing shopper context. If effectiveDateTime or sourceCode value is set to null, it's ignored. If an effectiveDateTime or sourceCode or custom/assignment qualifiiers' value is new, it's added to the existing Shopper context. If customerGroupIds is set to empty array [] the existing value in shopper context is deleted.

    With B2C Commerce release 24.5, all endpoints in the Shopper context API will require the siteId parameter for new customers. This field is marked as optional for backward compatibility and will be changed to mandatory tentatively by January 2025.

    Type parameters

    • T: boolean

    Parameters

    • options: { body: ShopperContext; fetchOptions?: RequestInit; headers?: {}; parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}; retrySettings?: OperationOptions }

      An object containing the options for this method.

      • body: ShopperContext
      • Optional fetchOptions?: RequestInit
      • Optional headers?: {}
        • [key: string]: string
      • Optional parameters?: { evaluateContextWithClientIp?: boolean; organizationId?: string; siteId?: string; usid: string } & {}
      • Optional retrySettings?: OperationOptions
    • Optional rawResponse: T

      Set to true to return entire Response object instead of DTO.

    Returns Promise<T extends true ? Response : ShopperContext.ShopperContext>

    A promise of type Response if rawResponse is true, a promise of type ShopperContext.ShopperContext otherwise.

Generated using TypeDoc