createAudience
post
/ccadmin/v1/audiences
Create Audience. This operation is used to create a new Audience in Oracle Commerce Cloud.
Request
Supported Media Types
- application/json
Body Parameter
Root Schema : createAudience_request
{
"useInReports":"false",
"displayName":"Audience 1",
"ruleSet":{
"rules":[
{
"property":"user.gender",
"category":"profile",
"value":"male",
"operator":"eq"
},
{
"property":"lastPurchaseDate",
"category":"profile",
"value":{
"unit":"months",
"start":"now",
"interval":-3
},
"operator":"lt"
},
{
"property":"numberOfOrders",
"category":"profile",
"value":[
5,
10
],
"operator":"isBetween"
},
{
"property":"audienceList",
"category":"internalAudiences",
"value":[
"audience2",
"audience3"
],
"operator":"includesAny"
}
],
"operator":"all"
},
"description":"blah blah blah",
"id":"audience1",
"enabled":"true"
}
- description
-
Type:
stringThe Audience description. - displayName
-
Type:
stringRequired:trueThe display name for the Audience. - enabled
-
Type:
booleanIndicates if this audience is enabled. Defaults to true. - id
-
Type:
stringRequired:trueThe ID for the Audience. Can only contain the characters A-Z,a-z,0-9. - ruleSet
-
Type:
objectruleSetRequired:trueAdditional Properties Allowed:The rule set for the Audience. - useInReports
-
Type:
booleanIndicates if this audience will be used in reporting. Defaults to false.
Nested Schema : ruleSet
Type:
objectThe rule set for the Audience.
- operator
-
Type:
stringRequired:trueThe operator applied to all of the rules in the rule set. - rules
-
Type:
arrayrulesRequired:trueAdditional Properties Allowed:The array of rules that make up the rule set.
Nested Schema : rules
Nested Schema : items
Type:
object- category
-
Type:
stringRequired:trueThe category of the property, i.e. the user profile. - operator
-
Type:
stringRequired:trueThe operator applied to the rule property. - property
-
Type:
stringRequired:trueThe property to be evaluated. - value
-
Type:
stringRequired:trueThe value used to compare against the property value to determine the rule result. Values can be strings, integers, doubles, floats, JSON objects or JSON arrays depending on the operator and how the property was described in the audienceRuleProperty endpoint.
Response
Supported Media Types
- application/json
200 Response
Following model is returned when operation succeeds.
Body
Root Schema : createAudience_response
- deleted
-
Type:
booleanIndicates if this audience is deleted. - description
-
Type:
stringThe Audience description. - displayName
-
Type:
stringThe display name for the Audience. - enabled
-
Type:
booleanIndicates if this audience is enabled. - id
-
Type:
stringThe id of the new Audience. - ruleSet
-
Type:
objectruleSetAdditional Properties Allowed:The rule set for the Audience. - useInReports
-
Type:
booleanIndicates if this audience will be used in reporting.
Nested Schema : ruleSet
Type:
objectThe rule set for the Audience.
- operator
-
Type:
stringThe operator applied to all of the rules in the rule set. - rules
-
Type:
arrayrulesAdditional Properties Allowed:An array of rules that make up the rule set.
Nested Schema : rules
Nested Schema : items
Type:
object- category
-
Type:
stringThe category of the property, i.e. the user profile. - operator
-
Type:
stringThe operator applied to the rule property. - property
-
Type:
stringThe property to be evaluated. - value
-
Type:
stringThe value used to compare against the property value to determine the rule result. Values can be strings, integers, doubles, floats, JSON objects or JSON arrays depending on the operator and how the property was described in the audienceRuleProperty endpoint.
Example application/json
{
"useInReports":"false",
"deleted":"false",
"displayName":"Audience 1",
"ruleSet":{
"rules":[
{
"property":"user.gender",
"category":"profile",
"value":"male",
"operator":"eq"
},
{
"property":"lastPurchaseDate",
"category":"profile",
"value":{
"unit":"months",
"start":"now",
"interval":-3
},
"operator":"lt"
},
{
"property":"numberOfOrders",
"category":"profile",
"value":[
5,
10
],
"operator":"isBetween"
},
{
"property":"audienceList",
"category":"internalAudiences",
"value":[
"audience2",
"audience3"
],
"operator":"includesAny"
}
],
"operator":"all"
},
"description":"blah blah blah",
"id":"audience1",
"enabled":"true"
}
Default Response
The error response.
The following are the internal error codes thrown by this API when the request processing fails in Oracle Commerce Cloud:
|Error Code|Description|
|------------------|------------------|
|54020|The value of an enumList rule must be an array.|
|54002|A non-empty audience name is required.|
|54013|The audience rule set is missing a top level operator.|
|54024|The audience ID must be 165 characters or less.|
|54012|The JSON description of the rule set {0} is invalid.|
|54023|Audience IDs must only contain the characters A-Z, a-z, and 0-9.|
|54022|The audience ID already exists. Audience IDs must be unique.|
|54021|A non-empty audience ID is required.|
|54017|The rule set has valid JSON but a problem was encountered while translating to SGML.|
|54016|Audience rule at index {0} is invalid.|
|54004|An error occurred accessing audiences.|
|54015|The audience rule set rules array is missing or invalid.|
|54026|The audience description is too long.|
|54003|The audience name already exists. Audience names must be unique.|
|54014|The top level operator {0} must be either any or all.|
|54025|The audience name is too long.|
|54009|The audience repository was not initialized.|
|54019|The operator {0} for an internalAudience rule must be either includesAny, notIncludesAny or includesAll.|
|54018|The rule operator {0} is not supported. Rule operators must be one of the following: eq, ne, isOneOf, isNotOneOf, contains, containsIgnoreCase, startsWith, startsWithIgnoreCase, endsWith, endsWithIgnoreCase, includesAny, includesAll, notIncludesAny.|
|54051|Rule {0} has invalid values. The first value for the "between" operator must be less than the second value.|
|54049|Rule {0} has an invalid double value. Double values must be in the right format and between the max and min double values.|
|54047|Rule {0} has an invalid float value. Float values must be in the right format and between the max and min float values.|
|54050|Rule {0} has an invalid integer value. Integer values must be whole numbers between the max and min integer values.|
Body
Root Schema : errorModel
Type:
object- devMessage
-
Type:
stringAn optional non-localized message containing technical information for developers - errorCode
-
Type:
stringThe numerical code identifying the error - errors
-
Type:
arrayerrorsAdditional Properties Allowed:An optional list of errors if multiple errors were encountered - message
-
Type:
stringThe localized message describing the error - moreInfo
-
Type:
stringAn optional non-localized message with more information - o:errorPath
-
Type:
stringAn optional machine readable description of where the error occurred - status
-
Type:
stringThe HTTP status code - type
-
Type:
stringThe URI to the HTTP state code definition
Nested Schema : errors
Nested Schema : items
Type:
object- devMessage
-
Type:
stringAn optional non-localized message containing technical information for developers - errorCode
-
Type:
stringThe numerical code identifying the error - message
-
Type:
stringThe localized message describing the error - moreInfo
-
Type:
stringAn optional non-localized message with more information - o:errorPath
-
Type:
stringAn optional machine readable description of where the error occurred - status
-
Type:
stringThe HTTP status code
Examples
Sample Request:
{
"useInReports": "false",
"displayName": "Audience 1",
"ruleSet": {
"rules": [
{
"property": "user.gender",
"category": "profile",
"value": "male",
"operator": "eq"
},
{
"property": "lastPurchaseDate",
"category": "profile",
"value": {
"unit": "months",
"start": "now",
"interval": -3
},
"operator": "lt"
},
{
"property": "numberOfOrders",
"category": "profile",
"value": [
5,
10
],
"operator": "isBetween"
},
{
"property": "audienceList",
"category": "internalAudiences",
"value": [
"audience2",
"audience3"
],
"operator": "includesAny"
}
],
"operator": "all"
},
"description": "blah blah blah",
"id": "audience1",
"enabled": "true"
}
Sample Response Payload returned by endpoint:
{
"useInReports": "false",
"deleted": "false",
"displayName": "Audience 1",
"ruleSet": {
"rules": [
{
"property": "user.gender",
"category": "profile",
"value": "male",
"operator": "eq"
},
{
"property": "lastPurchaseDate",
"category": "profile",
"value": {
"unit": "months",
"start": "now",
"interval": -3
},
"operator": "lt"
},
{
"property": "numberOfOrders",
"category": "profile",
"value": [
5,
10
],
"operator": "isBetween"
},
{
"property": "audienceList",
"category": "internalAudiences",
"value": [
"audience2",
"audience3"
],
"operator": "includesAny"
}
],
"operator": "all"
},
"description": "blah blah blah",
"id": "audience1",
"enabled": "true"
}