Class Customer

Represents a customer.

PropertyDescription
CDPData: CustomerCDPData (read-only)Returns the Salesforce CDP (Customer Data Platform) data for this customer.
ID: String (read-only)Returns the unique, system generated ID of the customer.
activeData: CustomerActiveData (read-only)Returns the active data for this customer.
addressBook: AddressBook (read-only)Returns the address book for the profile of this customer, or null if this customer has no profile, such as for an anonymous customer.
anonymous: Boolean (read-only)Identifies if the customer is anonymous.
authenticated: Boolean (read-only)Identifies if the customer is authenticated.
customerGroups: Collection (read-only)Returns the customer groups this customer is member of.
externalProfiles: Collection (read-only)Returns a collection of any external profiles the customer may have
externallyAuthenticated: Boolean (read-only)Identifies if the customer is externally authenticated.
globalPartyID: String (read-only)Returns the Global Party ID for the customer, if there is one.
note: StringReturns the note for this customer, or null if this customer has no note, such as for an anonymous customer or when note has 0 length.
orderHistory: OrderHistory (read-only)Returns the customer order history.
profile: Profile (read-only)Returns the customer profile.
registered: Boolean (read-only)Identifies if the customer is registered.

This class does not have a constructor, so you cannot create it directly.

MethodDescription
createExternalProfile(String, String)Creates an externalProfile and attaches it to the list of external profiles for the customer
getActiveData()Returns the active data for this customer.
getAddressBook()Returns the address book for the profile of this customer, or null if this customer has no profile, such as for an anonymous customer.
getCDPData()Returns the Salesforce CDP (Customer Data Platform) data for this customer.
getCustomerGroups()Returns the customer groups this customer is member of.
getExternalProfile(String, String)A convenience method for finding an external profile among the customer's external profiles collection
getExternalProfiles()Returns a collection of any external profiles the customer may have
getGlobalPartyID()Returns the Global Party ID for the customer, if there is one.
getID()Returns the unique, system generated ID of the customer.
getNote()Returns the note for this customer, or null if this customer has no note, such as for an anonymous customer or when note has 0 length.
getOrderHistory()Returns the customer order history.
getProductLists(Number)Returns the product lists of the specified type.
getProfile()Returns the customer profile.
isAnonymous()Identifies if the customer is anonymous.
isAuthenticated()Identifies if the customer is authenticated.
isExternallyAuthenticated()Identifies if the customer is externally authenticated.
isMemberOfAnyCustomerGroup(String...)Returns true if there exist CustomerGroup for all of the given IDs and the customer is member of at least one of that groups.
isMemberOfCustomerGroup(CustomerGroup)Returns true if the customer is member of the specified CustomerGroup.
isMemberOfCustomerGroup(String)Returns true if there is a CustomerGroup with such an ID and the customer is member of that group.
isMemberOfCustomerGroups(String...)Returns true if there exist CustomerGroup for all of the given IDs and the customer is member of all that groups.
isRegistered()Identifies if the customer is registered.
removeExternalProfile(ExternalProfile)Removes an external profile from the customer
setNote(String)Sets the note for this customer.

assign, create, create, defineProperties, defineProperty, entries, freeze, fromEntries, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, getPrototypeOf, hasOwnProperty, is, isExtensible, isFrozen, isPrototypeOf, isSealed, keys, preventExtensions, propertyIsEnumerable, seal, setPrototypeOf, toLocaleString, toString, valueOf, values

CDPData: CustomerCDPData (read-only)

Returns the Salesforce CDP (Customer Data Platform) data for this customer.


ID: String (read-only)

Returns the unique, system generated ID of the customer.


activeData: CustomerActiveData (read-only)

Returns the active data for this customer.


addressBook: AddressBook (read-only)

Returns the address book for the profile of this customer, or null if this customer has no profile, such as for an anonymous customer.


anonymous: Boolean (read-only)

Identifies if the customer is anonymous. An anonymous customer is the opposite of a registered customer.


authenticated: Boolean (read-only)

Identifies if the customer is authenticated. This method checks whether this customer is the customer associated with the session and than checks whether the session in an authenticated state.

Note: The pipeline debugger will always show 'false' for this value regardless of whether the customer is authenticated or not.


customerGroups: Collection (read-only)

Returns the customer groups this customer is member of.

  • Result contains static customer groups in storefront and job session
  • Result contains dynamic customer groups in storefront and job session. Dynamic customer groups referring session or request data are not available when processing the customer in a job session, or when this customer is not the customer assigned to the current session.
  • Result contains system groups 'Everyone', 'Unregistered', 'Registered' for all customers in storefront and job sessions

externalProfiles: Collection (read-only)

Returns a collection of any external profiles the customer may have


externallyAuthenticated: Boolean (read-only)

Identifies if the customer is externally authenticated. An externally authenticated customer does not have the password stored in our system but logs in through an external OAuth provider (Google, Facebook, LinkedIn, etc.)


globalPartyID: String (read-only)

Returns the Global Party ID for the customer, if there is one. Global Party ID is created by Customer 360 and identifies a person across multiple systems.


note: String

Returns the note for this customer, or null if this customer has no note, such as for an anonymous customer or when note has 0 length.


orderHistory: OrderHistory (read-only)

Returns the customer order history.


profile: Profile (read-only)

Returns the customer profile.


registered: Boolean (read-only)

Identifies if the customer is registered. A registered customer may or may not be authenticated. This method checks whether the user has a profile.


createExternalProfile(authenticationProviderId: String, externalId: String): ExternalProfile

Creates an externalProfile and attaches it to the list of external profiles for the customer

Parameters:

  • authenticationProviderId - the authenticationProviderId for the externalProfile
  • externalId - the externalId for the external Profile

Returns:

  • the new externalProfile

getActiveData(): CustomerActiveData

Returns the active data for this customer.

Returns:

  • the active data for this customer.

getAddressBook(): AddressBook

Returns the address book for the profile of this customer, or null if this customer has no profile, such as for an anonymous customer.


getCDPData(): CustomerCDPData

Returns the Salesforce CDP (Customer Data Platform) data for this customer.

Returns:

  • the Salesforce CDP data for this customer.

getCustomerGroups(): Collection

Returns the customer groups this customer is member of.

  • Result contains static customer groups in storefront and job session
  • Result contains dynamic customer groups in storefront and job session. Dynamic customer groups referring session or request data are not available when processing the customer in a job session, or when this customer is not the customer assigned to the current session.
  • Result contains system groups 'Everyone', 'Unregistered', 'Registered' for all customers in storefront and job sessions

Returns:

  • Collection of customer groups of this customer

getExternalProfile(authenticationProviderId: String, externalId: String): ExternalProfile

A convenience method for finding an external profile among the customer's external profiles collection

Parameters:

  • authenticationProviderId - the authenticationProviderId to look for
  • externalId - the externalId to look for

Returns:

  • the externalProfile found among the customer's external profile or null if not found

getExternalProfiles(): Collection

Returns a collection of any external profiles the customer may have

Returns:

  • a collection of any external profiles the customer may have

getGlobalPartyID(): String

Returns the Global Party ID for the customer, if there is one. Global Party ID is created by Customer 360 and identifies a person across multiple systems.

Returns:

  • The global party ID

getID(): String

Returns the unique, system generated ID of the customer.

Returns:

  • the ID of the customer.

getNote(): String

Returns the note for this customer, or null if this customer has no note, such as for an anonymous customer or when note has 0 length.

Returns:

  • the note for this customer.

getOrderHistory(): OrderHistory

Returns the customer order history.

Returns:

  • the customer order history.

getProductLists(type: Number): Collection

Returns the product lists of the specified type.

Parameters:

  • type - the type of product lists to return.

Returns:

  • the product lists of the specified type.

See Also:


getProfile(): Profile

Returns the customer profile.

Returns:

  • the customer profile.

isAnonymous(): Boolean

Identifies if the customer is anonymous. An anonymous customer is the opposite of a registered customer.

Returns:

  • true if the customer is anonymous, false otherwise. Note: this method handles sensitive security-related data. Pay special attention to PCI DSS v3. requirements 2, 4, and 12.

isAuthenticated(): Boolean

Identifies if the customer is authenticated. This method checks whether this customer is the customer associated with the session and than checks whether the session in an authenticated state.

Note: The pipeline debugger will always show 'false' for this value regardless of whether the customer is authenticated or not.

Returns:

  • true if the customer is authenticated, false otherwise.

isExternallyAuthenticated(): Boolean

Identifies if the customer is externally authenticated. An externally authenticated customer does not have the password stored in our system but logs in through an external OAuth provider (Google, Facebook, LinkedIn, etc.)

Returns:

  • true if the customer is externally authenticated, false otherwise. Note: this method handles sensitive security-related data. Pay special attention to PCI DSS v3. requirements 2, 4, and 12.

isMemberOfAnyCustomerGroup(groupIDs: String...): Boolean

Returns true if there exist CustomerGroup for all of the given IDs and the customer is member of at least one of that groups.

Parameters:

  • groupIDs - A list of unique semantic customer group IDs.

Returns:

  • True if customer groups exist for the given IDs and the customer is member of at least one of that existing groups. False if none of customer groups exist or if the customer is not a member of any of that existing groups.

isMemberOfCustomerGroup(group: CustomerGroup): Boolean

Returns true if the customer is member of the specified CustomerGroup.

Parameters:

  • group - Customer group

Returns:

  • True if customer is member of the group, otherwise false.

isMemberOfCustomerGroup(groupID: String): Boolean

Returns true if there is a CustomerGroup with such an ID and the customer is member of that group.

Parameters:

  • groupID - The unique semantic customer group ID.

Returns:

  • True if a customer group with such an ID exist and the customer is member of that group. False if no such customer group exist or, if the group exist, the customer is not member of that group.

isMemberOfCustomerGroups(groupIDs: String...): Boolean

Returns true if there exist CustomerGroup for all of the given IDs and the customer is member of all that groups.

Parameters:

  • groupIDs - A list of unique semantic customer group IDs.

Returns:

  • True if customer groups exist for all of the given IDs and the customer is member of all that groups. False if there is at least one ID for which no customer group exist or, if all groups exist, the customer is not member of all that groups.

isRegistered(): Boolean

Identifies if the customer is registered. A registered customer may or may not be authenticated. This method checks whether the user has a profile.

Returns:

  • true if the customer is registered, false otherwise.

removeExternalProfile(externalProfile: ExternalProfile): void

Removes an external profile from the customer

Parameters:

  • externalProfile - the externalProfile to be removed

setNote(aValue: String): void

Sets the note for this customer. This is a no-op for an anonymous customer.

Parameters:

  • aValue - the value of the note