References for display formats of attribute properties defined to Personalization APIs and examples
The following topic provides additional details about the conditions and response structures for various attributes defined in the examples to execute API calls presenting different attributes of DX Personalization services.
Browser Capability
Sample conditions for each Browser Capability
property with different operators:
- Sample attributes:
AcceptLanguage
,AcceptMimeTypes
,Agent
,BrowserType
,FullVersion
, andMajorVersion
. -
Sample operators allowed (values passed differs from based on the applied operator):
includes
,includes any of
,is not any of
,is empty and is not empty
forAcceptMimeTypes
.includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
, andis included in
for other properties.
-
BrowserType
allows set of values from the following operators:Mozilla
,Internet Explorer
,Safari
,Opera
,Netscape
,Firefox
,Chrome
, andOther
. -
Request/Response structure example:
{ "and": [ { "operator": "is included in", "attributeName": "AcceptLanguage", "attributeType": "BrowserCapability", "value": [ "en-US" ] }, { "operator": "includes", "attributeName": "AcceptMimeTypes", "attributeType": "BrowserCapability", "value": [ "application/json" ] }, { "operator": "is", "attributeName": "Agent", "attributeType": "BrowserCapability", "value": [ "Mozilla/5.0" ] }, { "operator": "is", "attributeName": "BrowserType", "attributeType": "BrowserCapability", "value": [ "Mozilla" ] }, { "operator": "is between", "attributeName": "FullVersion", "attributeType": "BrowserCapability", "value": [ 4.5, 5.8 ] }, { "operator": "is greater than", "attributeName": "MajorVersion", "attributeType": "BrowserCapability", "value": [ 4 ] } ] }
Date
Sample conditions for each Date
property with different operators:
- Sample attributes:
day
,date
,month
,time
,weekday
,timestamp
, andyear
. - Sample operators allowed (values passed differs from based on the applied operator):
is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
, andis included in
. -
Request/Response structure example:
{ "and": [ { "operator": "is between", "attributeName": "day", "attributeType": "Date", "value": [ 10, 20 ] }, { "operator": "is not", "attributeName": "date", "attributeType": "Date", "value": [ "2022-02-14" ] }, { "or": [ { "operator": "is between but not equal to", "attributeName": "month", "attributeType": "Date", "value": [ "January", "August" ] }, { "operator": "is", "attributeName": "time", "attributeType": "Date", "value": [ "19:45:00" ] }, { "operator": "is", "attributeName": "weekday", "attributeType": "Date", "value": [ "Friday" ] }, { "operator": "is", "attributeName": "timestamp", "attributeType": "Date", "value": [ "2022-04-01 00:00:00" ] }, { "operator": "is greater than or equal to", "attributeName": "year", "attributeType": "Date", "value": [ 2022 ] } ] } ] }
Device
Sample conditions for each Device
property with different operators:
- Sample attributes:
City
,Country
,DeviceClass
,Latitude
,Longitude
, andState
. -
Sample operators allowed (values passed differs from based on the applied operator):
includes
,includes any of
,is not any of
,is empty
andis not empty
forDeviceClass
.includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
, andis included in
for other properties.
-
DeviceClass
allows set of values from:Mozilla
,Internet Explorer
,Safari
,Opera
,Netscape
,Firefox
,Chrome
, andOther
. -
Request/Response structure example:
{ "and": [ { "operator": "is", "attributeName": "City", "attributeType": "Device", "value": [ "Bengaluru" ] }, { "operator": "is", "attributeName": "Country", "attributeType": "Device", "value": [ "India" ] }, { "operator": "includes", "attributeName": "DeviceClass", "attributeType": "Device", "value": [ "ios" ] }, { "operator": "is", "attributeName": "Latitude", "attributeType": "Device", "value": [ "12.9716° N" ] }, { "operator": "is", "attributeName": "Longitude", "attributeType": "Device", "value": [ "77.5946° E" ] }, { "operator": "is", "attributeName": "State", "attributeType": "Device", "value": [ "Karnataka" ] } ] }
Referrer
Sample condition for each Referrer
property with different operators:
- Sample attributes:
ReferralHost
,ReferralUrl
, andSearchKeywords
. - Sample operators allowed (values passed differs from based on the applied operator):
includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
, andis included in
. -
Request/Response structure example:
{ "and": [ { "operator": "is", "attributeName": "SearchKeywords", "attributeType": "Referrer", "value": [ "Digital Experience" ] }, { "or": [ { "operator": "is", "attributeName": "ReferralHost", "attributeType": "Referrer", "value": [ "www.google.com" ] }, { "operator": "is", "attributeName": "ReferralUrl", "attributeType": "Referrer", "value": [ "www.hcl.com" ] } ] } ] }
Action Bean
Sample condition for the ActionBean
property with different operators:
- Sample attribute:
actionNames
. - Sample operators allowed (values passed differs from based on the applied operator):
includes
,includes any of
,is not any of
,is empty
, andis not empty
. -
Request/Response structure example:
{ "and": [ { "attributeType": "ActionBean", "attributeName": "actionNames", "operator": "includes any of", "value": [ "value1" ] }, { "attributeType": "ActionBean", "attributeName": "actionNames", "operator": "includes", "value": [ "value2" ] }, { "attributeType": "ActionBean", "attributeName": "actionNames", "operator": "is not any of", "value": [ 456 ] }, { "attributeType": "ActionBean", "attributeName": "actionNames", "operator": "is empty" }, { "attributeType": "ActionBean", "attributeName": "actionNames", "operator": "is not empty" } ] }
Action Count
Sample condition for the Action Count
property with different operators:
-
Sample attributes:
-
There are no default sample attributes for
ActionCount
property.Note
Custom attributes can be configured as needed depending on the leveraged underlying user registry.
-
Attributes are dynamically created in the user interface. Refer to Dynamic Properties below for more information.
-
-
Sample operators allowed (values passed differs from based on the applied operator):
includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
,includes any of
,is not any of
, andis included in
. -
Request/Response structure example:
{ "and": [ { "attributeType": "ActionCount", "attributeName": "attr1", "operator": "is", "value": [ "value1" ] }, { "attributeType": "ActionCount", "attributeName": "attr2", "operator": "is between", "value": [ "value2", "value3" ] }, { "attributeType": "ActionCount", "attributeName": "attr3", "operator": "is not empty" } ] }
Category Bean
Sample condition for the Category Bean
property with different operators:
- Sample attribute:
categoryNames
. - Sample operators allowed (values passed differs from based on the applied operator):
includes
,includes any of
,is not any of
,is empty
, andis not empty
. -
Request/Response structure example:
{ "and": [ { "attributeType": "CategoryBean", "attributeName": "categoryNames", "operator": "includes any of", "value": [ "value1" ] }, { "attributeType": "CategoryBean", "attributeName": "categoryNames", "operator": "includes", "value": [ "value2" ] }, { "attributeType": "CategoryBean", "attributeName": "categoryNames", "operator": "is not any of", "value": [ 456 ] }, { "attributeType": "CategoryBean", "attributeName": "categoryNames", "operator": "is empty" }, { "attributeType": "CategoryBean", "attributeName": "categoryNames", "operator": "is not empty" } ] }
CategoryCount
Sample condition for the CategoryCount
property with different operators:
-
Sample attributes:
-
There are no default sample attributes for
CategoryCount
property.Note
Custom attributes can be configured as needed depending on the leveraged underlying user registry.
-
Attributes are dynamically created in the user interface. Refer to Dynamic Properties below for more information.
- Sample operators allowed (values passed differs from based on the applied operator):
includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
,includes any of
,is not any of
, andis included in
. - Request/Response structure example:
{ "and": [ { "attributeType": "CategoryCount", "attributeName": "attr1", "operator": "is not", "value": [ "value1" ] }, { "attributeType": "CategoryCount", "attributeName": "attr2", "operator": "is between but not equal to", "value": [ "value2", "value3" ] }, { "attributeType": "CategoryCount", "attributeName": "attr3", "operator": "is empty" } ] }
-
User and Group attributes
Sample condition for the User
property with different operators:
-
Sample attributes:
-
Last Name
,mail
.Note
Custom attributes can be configured as needed depending on the leveraged underlying user registry.
-
Attributes are dynamically created in the user interface. Refer to Dynamic Properties below for more information.
-
-
Sample operators allowed (values passed differs from based on the applied operator):
includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
,is not any of
, andis included in
for other properties. -
Request/Response structure example:
{ "and": [ { "operator": "is", "attributeName": "mail", "attributeType": "wpsUser", "value": [ "wpsadmin@hcl.com" ] }, { "operator": "is", "attributeName": "sn", "attributeType": "wpsUser", "value": [ "Sample" ] }, { "operator": "is", "attributeName": "MyFavoriteAttribute", "attributeType": "wpsUser", "value": [ "Demo" ] } ] }
Session attributes
Sample condition for the Session
property with different operators:
-
Sample attributes:
-
There are no default sample attributes for the
Session
property.Note
Custom attributes can be configured as needed depending on the leveraged underlying user registry.
-
Attributes are dynamically created in the user interface. Refer to Dynamic Properties below for more information.
- Sample operators allowed (values passed differs from based on the applied operator):
includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
,is not any of
, andis included in
. - Request/Response structure example:
"and": [ { "operator": "is", "attributeName": "textprop2", "attributeType": "Session", "value": [ "test" ] }, { "operator": "is", "attributeName": "booleanProp", "attributeType": "Session", "value": [ true ] }, { "operator": "includes", "attributeName": "listprop", "attributeType": "Session", "value": [ "abc" ] }, { "operator": "is", "attributeName": "decNumberProp", "attributeType": "Session", "value": [ 123 ] } ]
-
Shared data attributes
Sample condition for the SharedData
property with different operators:
-
Sample attributes:
-
There are no default sample attributes for the
SharedData
property.Note
Custom attributes can be configured as needed depending on the leveraged underlying user registry.
-
Attributes are dynamically created in the user interface. Refer to Dynamic Properties below for more information.
- Sample operators allowed (values passed differs from based on the applied operator):
includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
,is not any of
, andis included in
. - Request/Response structure example:
"and": [ { "operator": "is", "attributeName": "textprop2", "attributeType": "SharedData", "value": [ "test" ] }, { "operator": "is", "attributeName": "booleanProp", "attributeType": "SharedData", "value": [ true ] }, { "operator": "includes", "attributeName": "listprop", "attributeType": "SharedData", "value": [ "abc" ] }, { "operator": "is", "attributeName": "decNumberProp", "attributeType": "SharedData", "value": [ 123 ] } ]
-
Shared Render parameters
Sample condition for the RenderParameter
property with different operators:
-
Sample attributes:
-
There are no default sample attributes for the
RenderParameter
property.Note
Custom attributes can be configured as needed depending on the leveraged underlying user registry.
-
Attributes are dynamically created in the user interface. Refer to Dynamic Properties below for more information.
- Sample operators allowed (values passed differs from based on the applied operator):
includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
,is not any of
, andis included in
. - Request/Response structure example:
{ "and": [ { "operator": "is", "attributeName": "timeprop", "attributeType": "RenderParameter", "value": [ "20:54:00" ] }, { "operator": "is", "attributeName": "dateProp", "attributeType": "RenderParameter", "value": [ "2022-02-21" ] }, { "operator": "is", "attributeName": "timestampprop", "attributeType": "RenderParameter", "value": [ "2022-02-21 17:28:00" ] }, { "operator": "includes", "attributeName": "listprop", "attributeType": "RenderParameter", "value": [ "myItem" ] } ] }
-
Portlet Attributes parameters
Sample condition for the PortletAttributes
property with different operators:
-
Sample attributes:
-
There are no default sample attributes for the
PortletAttributes
property.Note
Custom attributes can be configured as needed depending on the leveraged underlying user registry.
-
Attributes are dynamically created in the user interface. Refer to Dynamic Properties below for more information.
- Sample operators allowed (values passed differs from based on the applied operator):
includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
,includes any of
,is not any of
, andis included in
. - Request/Response structure example:
"and": [ { "operator": "is", "attributeName": "textprop2", "attributeType": "PortletAttr", "value": [ "test" ] }, { "operator": "is", "attributeName": "booleanProp", "attributeType": "PortletAttr", "value": [ true ] }, { "operator": "includes", "attributeName": "listprop", "attributeType": "PortletAttr", "value": [ "abc" ] }, { "operator": "is", "attributeName": "decNumberProp", "attributeType": "PortletAttr", "value": [ 123 ] } ]
-
Request attributes
Sample condition for Request
property with different operators:
-
Sample attributes:
-
There are no default sample attributes for the
Request
property.Note
Custom attributes can be configured as needed depending on the leveraged underlying user registry.
-
Attributes are dynamically created in the user interface. Refer to Dynamic Properties below for more information.
- Sample operators allowed (values passed differs from based on the applied operator):
includes
,is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than, is less than or equal to
,includes any of
,is not any of
, andis included in
. - Request/Response structure example:
"and": [ { "operator": "is", "attributeName": "textprop2", "attributeType": "Request", "value": [ "test" ] }, { "operator": "is", "attributeName": "booleanProp", "attributeType": "Request", "value": [ true ] }, { "operator": "includes", "attributeName": "listprop", "attributeType": "Request", "value": [ "abc" ] }, { "operator": "is", "attributeName": "decNumberProp", "attributeType": "Request", "value": [ 123 ] } ]
-
Profiler
Sample condition for Profiler
property with different operators:
-
Sample attributes inside
profile
:id
,profilerName
, andprofiles
.Note
The
profilerName
orid
passed should belong to the already created Profiler. -
Sample operators allowed outside
matchingItems
(profiles passed differs based on the operator applied):is
,is not
,is all of
,is any of
, andis not any of
. -
Request/Response structure example:
"and": [ { "profile": { "id": "5b569fd7-564e-4b48-a2ee-5f1ce3a42352", "profilerName": "/Profiler5", "profiles": [ "editor", "man92", "ps003" ] }, "operator": "is" }, { "profile": { "id": "7cbe9e52-4164-4d26-92a5-194bf0f92b47", "profilerPath": "/Profiler1", "profiles": [ "editor", "ps003" ] }, "operator": "is all of" } ]
Arithmetic Operations
Sample condition with Arithmetic Operations
with different operators:
- Sample attributes used inside
arithmetic
:attributeNames
andarithmeticOperator
. - Sample operators outside
arithmetic
(values passed differs based on the operator applied):is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
, andis included in
. -
Request/Response structure example:
"and": [ { "operator": "is", "arithmetic": { "attributeNames": [ "a", "b" ], "arithmeticOperator": "+" }, "value": [ 1 ] }, { "operator": "is between", "arithmetic": { "attributeNames": [ "a", "b" ], "arithmeticOperator": "+" }, "value": [ 2, 3 ] } ]
Matching Items
The sample condition with Matching Items
with different operators:
- Sample attributes and operators used inside
matchingItems
differs based on the type of attributes used for conditions. -
Sample operators allowed outside
matchingItems
(values passed differs based on the operator applied):is
,is not
,is empty
,is not empty
,is between
,is between but not equal to
,is greater than
,is greater than or equal to
,is less than
,is less than or equal to
, andis included in
. -
Request/Response structure example:
"and": [ { "operator": "is", "matchingItems": { "operator": "includes", "attributeName": "actionNames", "attributeType": "ActionBean", "value": [ "PS003" ] }, "value": [ 2 ] }, { "operator": "is between", "matchingItems": { "operator": "includes", "attributeName": "attr1", "attributeType": "CategoryCount", "value": [ "PS003" ] }, "value": [ 1, 4 ] } ]