Class Customer
dw.customer
Class Customer
Object
dw.customer.Customer
Represents a customer.
Properties
activeData  :  CustomerActiveData  (Read Only)
The active data for this customer.
addressBook  :  AddressBook  (Read Only)
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.
CDPData  :  CustomerCDPData  (Read Only)
The Salesforce CDP (Customer Data Platform) data for this customer.
customerGroups  :  Collection  (Read Only)
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
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.)
externalProfiles  :  Collection  (Read Only)
A collection of any external profiles the customer may have
globalPartyID  :  String  (Read Only)
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.
ID  :  String  (Read Only)
The unique, system generated ID of the customer.
note  :  String
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)
The customer order history.
profile  :  Profile  (Read Only)
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.
Constructor Summary
This class does not have a constructor, so you cannot create it directly.
Method Summary
createExternalProfile(authenticationProviderId : String, externalId : String) : ExternalProfile
Creates an externalProfile and attaches it to the list of external profiles for the customer
getActiveData() : CustomerActiveData
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.
getCustomerGroups() : Collection
Returns the customer groups this customer is member of.
getExternalProfile(authenticationProviderId : String, externalId : String) : ExternalProfile
A convenience method for finding an external profile among the customer's external profiles collection
getExternalProfiles() : Collection
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.
getID() : String
Returns the unique, system generated 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.
getOrderHistory() : OrderHistory
Returns the customer order history.
getProductLists(type : Number) : Collection
Returns the product lists of the specified type.
getProfile() : Profile
Returns the customer profile.
isAnonymous() : boolean
Identifies if the customer is anonymous.
isAuthenticated() : boolean
Identifies if the customer is authenticated.
isExternallyAuthenticated() : boolean
Identifies if the customer is externally authenticated.
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.
isMemberOfCustomerGroup(group : CustomerGroup) : boolean
Returns true if the customer is member of the specified CustomerGroup.
isMemberOfCustomerGroup(groupID : String) : boolean
Returns true if there is a CustomerGroup with such an ID and the customer is 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.
isRegistered() : boolean
Identifies if the customer is registered.
removeExternalProfile(externalProfile : ExternalProfile) : void
Removes an external profile from the customer
setNote(aValue : String) : void
Sets the note for this customer.
Method Detail
createExternalProfile
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
getActiveData() : CustomerActiveData
Returns the active data for this customer.
Returns:
the active data for this customer.

getAddressBook
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
getCDPData() : CustomerCDPData
Returns the Salesforce CDP (Customer Data Platform) data for this customer.
Returns:
the Salesforce CDP data for this customer.

getCustomerGroups
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
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
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
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
getID() : String
Returns the unique, system generated ID of the customer.
Returns:
the ID of the customer.

getNote
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
getOrderHistory() : OrderHistory
Returns the customer order history.
Returns:
the customer order history.

getProductLists
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
getProfile() : Profile
Returns the customer profile.
Returns:
the customer profile.

isAnonymous
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
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
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
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
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
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
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
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
removeExternalProfile(externalProfile : ExternalProfile) : void
Removes an external profile from the customer
Parameters:
externalProfile - the externalProfile to be removed

setNote
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