Download OpenAPI specification:Download
Recommendations API are based on REST. This describes the resources that make up the official Adobe Target Recommendations API. The resources are designated by nouns or objects in the world of Recommendations like a feed or a design. The functionalities or operations on resources are designated by HTTP methods in each resource request.
A Recommendations API request looks like this:
curl -X POST \
https://mc.adobe.io/{{tenantId}}/target/recs/collections \
-H 'Accept: application/vnd.adobe.target.v1+json' \
-H 'Authorization: Bearer {{bearerToken}}' \
-H 'Content-Type: application/vnd.adobe.target.v1+json' \
-H 'X-Api-Key: {{xApiKey}}' \
-d '{
"name": "Backpacking Tents",
"rules": [
{
"id": {
"contains": [
"backpacking"
]
}
}
]
}'
The tenantId
is your Adobe Experience Cloud tenant ID. It is present as a subdomain of your Experience Cloud URL.
For example, if your Experience Cloud URL is piedpiper.experiencecloud.adobe.com or piedpiper.marketing.adobe.com, the
tenant ID is piedpiper.
bearerToken
and xApiKey
are security token variables explained below in Authentication.
All Recommendations API requests are available in a Postman collection. Click the "Run in Postman" button to download the collection as a JSON file, then import it in Postman. Note this collection references a Postman environment, which is available from the Adobe I/O console integration page for your specific integration.
A collection is a set of items that are eligible for a recommendation. It is defined by a set of membership rules. If an item satisfies these rules, it is a member of the collection.
Gets all available collections.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 2 collections.
{- "offset": 0,
- "limit": 2147483647,
- "total": 2,
- "list": [
- {
- "id": 1,
- "name": "Men's Trail Running Shoes"
}, - {
- "id": 2,
- "name": "Climbing Harnesses"
}
]
}
Creates a new collection as specified by the rules provided and returns the newly created collection definition.
Collection to be created/updated
name required | string <= 250 characters Unique name of the collection. |
required | Array of objects (BasicMatcher) [ 1 .. 1000 ] items Array of rules containing attribute : operation pairs. The attribute is any valid entity attribute. It is a required field and it should not be more than 100 characters. The operation is a pair of operator and operand values. The operator can be one of:
The other part of operation, operand values, is an array of values. Each value cannot be more than 250 characters.
There must be atleast 1 value and no more than 1000 values. Operand values are not required when operator is
either |
A request body example of a collection object to be created/updated.
{- "name": "Backpacking Tents",
- "rules": [
- {
- "bestUse": {
- "equals": [
- "backpacking"
]
}
}, - {
- "weight": {
- "less than": [
- "10"
]
}
}, - {
- "capacity": {
- "less than": [
- "4"
]
}
}
]
}
A response body example of a collection object.
{- "id": 1,
- "name": "Backpacking Tents",
- "rules": [
- {
- "bestUse": {
- "equals": [
- "backpacking"
]
}
}, - {
- "weight": {
- "less than": [
- "10"
]
}
}, - {
- "capacity": {
- "less than": [
- "4"
]
}
}
]
}
Gets the collection with the given ID.
id required | integer <int32> |
A response body example of a collection object.
{- "id": 1,
- "name": "Backpacking Tents",
- "rules": [
- {
- "bestUse": {
- "equals": [
- "backpacking"
]
}
}, - {
- "weight": {
- "less than": [
- "10"
]
}
}, - {
- "capacity": {
- "less than": [
- "4"
]
}
}
]
}
Updates the collection with new name and/or new rules as specified and returns the updated collection definition.
id required | integer <int32> |
Collection to be created/updated
name required | string <= 250 characters Unique name of the collection. |
required | Array of objects (BasicMatcher) [ 1 .. 1000 ] items Array of rules containing attribute : operation pairs. The attribute is any valid entity attribute. It is a required field and it should not be more than 100 characters. The operation is a pair of operator and operand values. The operator can be one of:
The other part of operation, operand values, is an array of values. Each value cannot be more than 250 characters.
There must be atleast 1 value and no more than 1000 values. Operand values are not required when operator is
either |
A request body example of a collection object to be created/updated.
{- "name": "Backpacking Tents",
- "rules": [
- {
- "bestUse": {
- "equals": [
- "backpacking"
]
}
}, - {
- "weight": {
- "less than": [
- "10"
]
}
}, - {
- "capacity": {
- "less than": [
- "4"
]
}
}
]
}
A response body example of a collection object.
{- "id": 1,
- "name": "Backpacking Tents",
- "rules": [
- {
- "bestUse": {
- "equals": [
- "backpacking"
]
}
}, - {
- "weight": {
- "less than": [
- "10"
]
}
}, - {
- "capacity": {
- "less than": [
- "4"
]
}
}
]
}
Deletes the collection referenced by the given ID.
id required | integer <int32> |
A response body example of a collection object.
{- "id": 1,
- "name": "Backpacking Tents",
- "rules": [
- {
- "bestUse": {
- "equals": [
- "backpacking"
]
}
}, - {
- "weight": {
- "less than": [
- "10"
]
}
}, - {
- "capacity": {
- "less than": [
- "4"
]
}
}
]
}
Criteria are rules that determine which items to recommend based on a predetermined set of visitor behaviors. Criteria are categorized into different groups depending on the recommendation key and recommendation logic. These groups are: category, item, recent, popularity, profile attribute, custom.
Gets all available criteria.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 3 criteria.
{- "offset": 2,
- "limit": 2147483647,
- "total": 3,
- "list": [
- {
- "id": 3,
- "name": "Recently Viewed Backpacks",
- "criteriaTitle": "Recently Viewed Backpacks",
- "criteriaGroup": "RECENT",
- "minInventory": 1,
- "configuration": {
- "rankingRules": [ ]
}
}, - {
- "id": 4,
- "name": "People who viewed this also bought",
- "criteriaGroup": "ITEM",
- "type": "VIEWED_BOUGHT",
- "key": "LAST_PURCHASED",
- "aggregation": "NONE",
- "daysCount": "ONE_MONTH",
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "pastBehaviorOrdinal": 0
}
}, - {
- "id": 5,
- "name": "Most Viewed Shirts",
- "criteriaGroup": "POPULARITY",
- "type": "VIEWED",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "value",
- "operation": "dynamicallyRanges",
- "lowRange": "0",
- "highRange": "30"
}
], - "pastBehaviorOrdinal": 0
}
}
]
}
Gets minimal criteria information with the given ID. For detailed information, make API call to criteria group path, for example, /criteria/item/{id}
.
id required | integer <int32> |
A response body example of a criteria with minimal information.
{- "id": 34,
- "name": "Recently Viewed Biking Accessories",
- "criteriaTitle": "Recently Viewed Biking Accessories",
- "criteriaGroup": "RECENT"
}
A design is a script that is used to determine how your recommendations look. You can create customized designs to provide the appearance you desire. The script can be HTML or non-HTML; non-HTML for non-web environments where click-tracking is not possible. Recommendation designs use Apache Velocity, so the script should make use of Velocity Template Language.
Gets all available designs.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
includeScript | boolean Whether to include the design content. |
A response body example of a list containing 1 design.
{- "offset": 0,
- "limit": 2147483647,
- "total": 1,
- "list": [
- {
- "id": 1,
- "name": "Landing Page",
- "script": "<table>\\n <tr>\\n <td>\\n <a href=\\\"$entity1.pageUrl\\\">\\n <img src=\\\"$entity1.thumbnailUrl\\\"/>\\n <br/>$profile\\n <br/> $token\\n <br/>$url\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity2.pageUrl\\\">\\n <img src=\\\"$entity2.thumbnailUrl\\\"/> \\n <br/>$entity2.name\\n <br/>$entity2.message\\n <br/> $entity2.value\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity3.pageUrl\\\">\\n <img src=\\\"$entity3.thumbnailUrl\\\"/> \\n <br/>$entity3.name\\n <br/>$entity3.message\\n <br/> $entity3.value\\n </a>\\n </td>\\n </tr>\\n</table>"
}
]
}
Creates a new design as specified by the script provided and returns the newly created design definition.
Design to be created/updated
name required | string <= 250 characters Unique name of the design. |
script required | string <= 65000 characters Velocity template containing at least one entity object. Velocity Engine 1.7 is supported. |
A request body example of a design to be created/updated.
{- "name": "Landing Page",
- "script": "name = $entity1.name<br/> details= $entity1.details <table>\\n <tr>\\n <td>\\n <a href=\\\"$entity1.pageUrl\\\">\\n <img src=\\\"$entity1.thumbnailUrl\\\"/>\\n <br/>$profile\\n <br/> $token\\n <br/>$url\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity2.pageUrl\\\">\\n <img src=\\\"$entity2.thumbnailUrl\\\"/> \\n <br/>$entity2.name\\n <br/>$entity2.message\\n <br/> $entity2.value\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity3.pageUrl\\\">\\n <img src=\\\"$entity3.thumbnailUrl\\\"/> \\n <br/>$entity3.name\\n <br/>$entity3.message\\n <br/> $entity3.value\\n </a>\\n </td>\\n </tr>\\n</table>"
}
A response body example of a design object.
{- "id": 1,
- "name": "Landing Page",
- "script": "<table>\\n <tr>\\n <td>\\n <a href=\\\"$entity1.pageUrl\\\">\\n <img src=\\\"$entity1.thumbnailUrl\\\"/>\\n <br/>$profile\\n <br/> $token\\n <br/>$url\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity2.pageUrl\\\">\\n <img src=\\\"$entity2.thumbnailUrl\\\"/> \\n <br/>$entity2.name\\n <br/>$entity2.message\\n <br/> $entity2.value\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity3.pageUrl\\\">\\n <img src=\\\"$entity3.thumbnailUrl\\\"/> \\n <br/>$entity3.name\\n <br/>$entity3.message\\n <br/> $entity3.value\\n </a>\\n </td>\\n </tr>\\n</table>"
}
Gets the design with the given ID.
id required | integer <int32> |
includeScript | boolean Whether to include the design content. |
A response body example of a design object.
{- "id": 1,
- "name": "Landing Page",
- "script": "<table>\\n <tr>\\n <td>\\n <a href=\\\"$entity1.pageUrl\\\">\\n <img src=\\\"$entity1.thumbnailUrl\\\"/>\\n <br/>$profile\\n <br/> $token\\n <br/>$url\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity2.pageUrl\\\">\\n <img src=\\\"$entity2.thumbnailUrl\\\"/> \\n <br/>$entity2.name\\n <br/>$entity2.message\\n <br/> $entity2.value\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity3.pageUrl\\\">\\n <img src=\\\"$entity3.thumbnailUrl\\\"/> \\n <br/>$entity3.name\\n <br/>$entity3.message\\n <br/> $entity3.value\\n </a>\\n </td>\\n </tr>\\n</table>"
}
Updates the design with new name and/or new script as specified and returns the updated design definition.
id required | integer <int32> |
includeScript | boolean Whether to include the design content. |
Design to be created/updated
name required | string <= 250 characters Unique name of the design. |
script required | string <= 65000 characters Velocity template containing at least one entity object. Velocity Engine 1.7 is supported. |
A request body example of a design to be created/updated.
{- "name": "Landing Page",
- "script": "name = $entity1.name<br/> details= $entity1.details <table>\\n <tr>\\n <td>\\n <a href=\\\"$entity1.pageUrl\\\">\\n <img src=\\\"$entity1.thumbnailUrl\\\"/>\\n <br/>$profile\\n <br/> $token\\n <br/>$url\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity2.pageUrl\\\">\\n <img src=\\\"$entity2.thumbnailUrl\\\"/> \\n <br/>$entity2.name\\n <br/>$entity2.message\\n <br/> $entity2.value\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity3.pageUrl\\\">\\n <img src=\\\"$entity3.thumbnailUrl\\\"/> \\n <br/>$entity3.name\\n <br/>$entity3.message\\n <br/> $entity3.value\\n </a>\\n </td>\\n </tr>\\n</table>"
}
A response body example of a design object.
{- "id": 1,
- "name": "Landing Page",
- "script": "<table>\\n <tr>\\n <td>\\n <a href=\\\"$entity1.pageUrl\\\">\\n <img src=\\\"$entity1.thumbnailUrl\\\"/>\\n <br/>$profile\\n <br/> $token\\n <br/>$url\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity2.pageUrl\\\">\\n <img src=\\\"$entity2.thumbnailUrl\\\"/> \\n <br/>$entity2.name\\n <br/>$entity2.message\\n <br/> $entity2.value\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity3.pageUrl\\\">\\n <img src=\\\"$entity3.thumbnailUrl\\\"/> \\n <br/>$entity3.name\\n <br/>$entity3.message\\n <br/> $entity3.value\\n </a>\\n </td>\\n </tr>\\n</table>"
}
Deletes the design referenced by the given ID.
id required | integer <int32> |
A response body example of a design object.
{- "id": 1,
- "name": "Landing Page",
- "script": "<table>\\n <tr>\\n <td>\\n <a href=\\\"$entity1.pageUrl\\\">\\n <img src=\\\"$entity1.thumbnailUrl\\\"/>\\n <br/>$profile\\n <br/> $token\\n <br/>$url\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity2.pageUrl\\\">\\n <img src=\\\"$entity2.thumbnailUrl\\\"/> \\n <br/>$entity2.name\\n <br/>$entity2.message\\n <br/> $entity2.value\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity3.pageUrl\\\">\\n <img src=\\\"$entity3.thumbnailUrl\\\"/> \\n <br/>$entity3.name\\n <br/>$entity3.message\\n <br/> $entity3.value\\n </a>\\n </td>\\n </tr>\\n</table>"
}
Validates a design by verifying the correctness of the script. If its correct, it returns number of entity objects used in the script; otherwise it returns the validation error.
Note this POST request does not create any resource. The endpoint is not a resource but rather it is simply a method to validate the design in request payload..
Design to be created/updated
name required | string <= 250 characters Unique name of the design. |
script required | string <= 65000 characters Velocity template containing at least one entity object. Velocity Engine 1.7 is supported. |
A request body example of a design to be created/updated.
{- "name": "Landing Page",
- "script": "name = $entity1.name<br/> details= $entity1.details <table>\\n <tr>\\n <td>\\n <a href=\\\"$entity1.pageUrl\\\">\\n <img src=\\\"$entity1.thumbnailUrl\\\"/>\\n <br/>$profile\\n <br/> $token\\n <br/>$url\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity2.pageUrl\\\">\\n <img src=\\\"$entity2.thumbnailUrl\\\"/> \\n <br/>$entity2.name\\n <br/>$entity2.message\\n <br/> $entity2.value\\n </a>\\n </td>\\n <td>\\n <a href=\\\"$entity3.pageUrl\\\">\\n <img src=\\\"$entity3.thumbnailUrl\\\"/> \\n <br/>$entity3.name\\n <br/>$entity3.message\\n <br/> $entity3.value\\n </a>\\n </td>\\n </tr>\\n</table>"
}
A response body example of validation result of the design object provided in request.
{- "entityCount": 0,
- "valid": false,
- "errors": [
- {
- "key": "error.template.validate.entitiesRequired",
- "keyArguments": [ ],
- "text": "There should be at least one entity reference within the template script"
}
]
}
Entities refer to the items you want to recommend. Entities can be anything such as products, content (such as articles, slide shows, images, movies, and TV shows), job listings, restaurants, and so forths
Creates entities, updates if present, with the given entity details and returns the numbers of entities rejected, and created or updated. Entities can be rejected if entity details do not conform to the schema. More info.
Note this POST request does not create a singular resource. The endpoint is not a resource but rather it is simply a method to save multiple entities specified in request payload.
Entities to be created/updated
required | Array of objects (Entity) non-empty |
A request body example of an entity to be created/updated.
{- "entities": [
- {
- "name": "Rotisserie Chicken",
- "id": "wes2001",
- "environment": 4227,
- "categories": [
- "recreation:food"
], - "attributes": {
- "inventory": 77,
- "margin": 23,
- "message": "crashing helicopter",
- "pageUrl": "www.foobar.foo.com/helicopter.html",
- "thumbnailUrl": "www.foobar.foo.com/helicopter.jpg",
- "value": 19.2
}
}
]
}
A response body example of entity batch update result showing a successful update.
{- "rejected": 0,
- "inserted/updated": 1
}
Deletes entities referenced by the given IDs. If no ID is given, all entities in the given environment are deleted. If no environment ID is given, entities will be deleted from all environments. Use this with caution!
Note this DELETE request does not delete a singular resource. The endpoint is not a resource but rather it is simply a method to delete multiple entities specified in request payload.
ids | Array of strings[ items <= 1000 characters ] List of entity IDs. If not set, all entities will be deleted. |
environment | number <double> ID of an environment. If not set, entities will be deleted from all environments. |
A response body example of entity batch delete result indicating all entities were deleted.
{- "operation": "Delete by client requested."
}
Gets entity with the given ID from default environment. To retrieve entity from a specific environment, environmentId
request parameter can be used.
id required | string <= 1000 characters |
environmentId | integer <int64> |
A response body example of an entity object.
{- "name": "Rotisserie Chicken",
- "id": "item1",
- "environment": 4227,
- "categories": [
- "recreation:food"
], - "attributes": {
- "createdAt": "2019-07-05T05:48:26.244-04:00",
- "inventory": 77,
- "lastUpdatedAt": "2019-07-09T05:48:26.244-04:00",
- "margin": 23,
- "message": "crashing helicopter",
- "pageUrl": "www.foobar.foo.com/helicopter.html",
- "thumbnailUrl": "www.foobar.foo.com/helicopter.jpg",
- "value": 19.2
}
}
Promotion is a special type of criteria that includes promoted items in your recommendation design. Item recommendation by promotions use available slots in the design and take precedence over criteria results and backup recommendations.
List all available promotions.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 2 promotions.
{- "offset": 0,
- "limit": 2147483647,
- "total": 2,
- "list": [
- {
- "id": 1,
- "name": "Hiking shoes summer promotion",
- "type": "EXTERNAL",
- "schedule": {
- "start": "2018-07-01T00:00:00Z",
- "end": "2018-08-31T23:59:59Z"
}, - "order": {
- "type": "ORIGINAL"
}, - "configuration": {
- "collectionId": 3432
}, - "rules": [
- {
- "attribute": "category",
- "operation": "endsWith",
- "values": [
- "Hiking Shoes"
]
}
]
}, - {
- "id": 2,
- "name": "Shoes clearance sale",
- "type": "EXTERNAL",
- "order": {
- "type": "ORIGINAL"
}, - "rules": [
- {
- "attribute": "value",
- "operation": "lesserOrEquals",
- "values": [
- "200"
]
}
]
}
]
}
Creates a new promotion as specified by the settings and configuration provided and returns the newly created promotion definition.
Promotion to be created/updated
name required | string <= 250 characters Unique name of the promotion. |
type required | string Value: "EXTERNAL" Type of promotion. Currently only external promotions can be created, in which promoted items do not originate from any of the criteria specified in the current recommendation activity. |
key | string Enum: "CURRENT" "LAST_PURCHASED" "LAST_VIEWED" "MOST_VIEWED" "PROFILE_ATTRIBUTE" Promotion key. Values:
|
attribute | string^(profile\.|user\.).+ Applicable when key is |
object (PromotionSchedule) Time duration for which promotion should be applied. | |
object (PromotionOrder) | |
object (PromotionConfiguration) Applicable only when rules are empty and type is not | |
Array of objects (InclusionMatcher) |
A request body example of a promotion object to be created/updated.
{- "name": "Hiking shoes summer promotion",
- "type": "EXTERNAL",
- "schedule": {
- "start": "2018-07-01T00:00:00Z",
- "end": "2018-08-31T23:59:59Z"
}, - "order": {
- "type": "ORIGINAL"
}, - "configuration": {
- "collectionId": 3432
}, - "rules": [
- {
- "attribute": "category",
- "operation": "endsWith",
- "values": [
- "Hiking Shoes"
]
}
]
}
A response body example of a Promotion object.
{- "id": 1,
- "name": "Hiking shoes summer promotion",
- "type": "EXTERNAL",
- "schedule": {
- "start": "2018-07-01T00:00:00Z",
- "end": "2018-08-31T23:59:59Z"
}, - "order": {
- "type": "ORIGINAL"
}, - "configuration": {
- "collectionId": 3432
}, - "rules": [
- {
- "attribute": "category",
- "operation": "endsWith",
- "values": [
- "Hiking Shoes"
]
}
]
}
Gets the promotion with the given ID.
id required | integer <int32> |
A response body example of a Promotion object.
{- "id": 1,
- "name": "Hiking shoes summer promotion",
- "type": "EXTERNAL",
- "schedule": {
- "start": "2018-07-01T00:00:00Z",
- "end": "2018-08-31T23:59:59Z"
}, - "order": {
- "type": "ORIGINAL"
}, - "configuration": {
- "collectionId": 3432
}, - "rules": [
- {
- "attribute": "category",
- "operation": "endsWith",
- "values": [
- "Hiking Shoes"
]
}
]
}
Updates the promotion with the new settings and configuration as specified and return the updated promotion definition.
id required | integer <int32> |
Promotion to be created/updated
name required | string <= 250 characters Unique name of the promotion. |
type required | string Value: "EXTERNAL" Type of promotion. Currently only external promotions can be created, in which promoted items do not originate from any of the criteria specified in the current recommendation activity. |
key | string Enum: "CURRENT" "LAST_PURCHASED" "LAST_VIEWED" "MOST_VIEWED" "PROFILE_ATTRIBUTE" Promotion key. Values:
|
attribute | string^(profile\.|user\.).+ Applicable when key is |
object (PromotionSchedule) Time duration for which promotion should be applied. | |
object (PromotionOrder) | |
object (PromotionConfiguration) Applicable only when rules are empty and type is not | |
Array of objects (InclusionMatcher) |
A request body example of a promotion object to be created/updated.
{- "name": "Hiking shoes summer promotion",
- "type": "EXTERNAL",
- "schedule": {
- "start": "2018-07-01T00:00:00Z",
- "end": "2018-08-31T23:59:59Z"
}, - "order": {
- "type": "ORIGINAL"
}, - "configuration": {
- "collectionId": 3432
}, - "rules": [
- {
- "attribute": "category",
- "operation": "endsWith",
- "values": [
- "Hiking Shoes"
]
}
]
}
A response body example of a Promotion object.
{- "id": 1,
- "name": "Hiking shoes summer promotion",
- "type": "EXTERNAL",
- "schedule": {
- "start": "2018-07-01T00:00:00Z",
- "end": "2018-08-31T23:59:59Z"
}, - "order": {
- "type": "ORIGINAL"
}, - "configuration": {
- "collectionId": 3432
}, - "rules": [
- {
- "attribute": "category",
- "operation": "endsWith",
- "values": [
- "Hiking Shoes"
]
}
]
}
Deletes the promotion referenced by the given ID.
id required | integer <int32> |
A response body example of a Promotion object.
{- "id": 1,
- "name": "Hiking shoes summer promotion",
- "type": "EXTERNAL",
- "schedule": {
- "start": "2018-07-01T00:00:00Z",
- "end": "2018-08-31T23:59:59Z"
}, - "order": {
- "type": "ORIGINAL"
}, - "configuration": {
- "collectionId": 3432
}, - "rules": [
- {
- "attribute": "category",
- "operation": "endsWith",
- "values": [
- "Hiking Shoes"
]
}
]
}
An exclusion is a subset of entities that should not be recommended to visitors. It is defined by a membership rule. If an item satisfies this rule, it is excluded from recommendations to visitors.
Gets all available exclusions.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 2 exclusions.
{- "offset": 0,
- "limit": 2147483647,
- "total": 2,
- "list": [
- {
- "id": 496,
- "name": "Men's Trail Running Shoes",
- "description": "Exclude Trail Running shoes for hiking",
- "rule": {
- "name": {
- "contains": "hiking"
}
}
}, - {
- "id": 497,
- "name": "Climbing Shoes",
- "description": "Exclude climbing shoes for bouldering",
- "rule": {
- "name": {
- "contains": "bouldering"
}
}
}
]
}
Creates a new exclusion as specified by the rule provided and returns the newly created exclusion definition.
Exclusion to be created/updated
name required | string <= 250 characters |
description | string <= 1000 characters |
rule | object A rule containing attribute : operation pair. The attribute is any valid entity attribute. It is a required field and it should not be more than 100 characters. The operation is a pair of operator and operand values. The operator can be one of:
The other part of operation, operand values, is an array of values. Operand values are not required when operator is
either |
A request body example of an exclusion object to be created/updated.
{- "id": 428,
- "name": "Backpacking Tents",
- "description": "Exclude backpacking tents with less than 10 items remaining in the inventory",
- "rule": {
- "name": {
- "contains": "backpacking"
}
}
}
A response body example of an exclusion object.
{- "id": 428,
- "name": "Backpacking Tents",
- "description": "Exclude backpacking tents with less than 10 items remaining in the inventory",
- "rule": {
- "name": {
- "contains": "backpacking"
}
}
}
Gets the exclusion with the given ID.
id required | integer <int32> |
A response body example of an exclusion object.
{- "id": 428,
- "name": "Backpacking Tents",
- "description": "Exclude backpacking tents with less than 10 items remaining in the inventory",
- "rule": {
- "name": {
- "contains": "backpacking"
}
}
}
Updates the exclusion with new name, description and/or new rule as specified and returns the updated exclusion definition.
id required | integer <int32> |
Exclusion to be created/updated
name required | string <= 250 characters |
description | string <= 1000 characters |
rule | object A rule containing attribute : operation pair. The attribute is any valid entity attribute. It is a required field and it should not be more than 100 characters. The operation is a pair of operator and operand values. The operator can be one of:
The other part of operation, operand values, is an array of values. Operand values are not required when operator is
either |
A request body example of an exclusion object to be created/updated.
{- "id": 428,
- "name": "Backpacking Tents",
- "description": "Exclude backpacking tents with less than 10 items remaining in the inventory",
- "rule": {
- "name": {
- "contains": "backpacking"
}
}
}
A response body example of an exclusion object.
{- "id": 428,
- "name": "Backpacking Tents",
- "description": "Exclude backpacking tents with less than 10 items remaining in the inventory",
- "rule": {
- "name": {
- "contains": "backpacking"
}
}
}
Deletes the exclusion referenced by the given ID.
id required | integer <int32> |
A response body example of an exclusion object.
{- "id": 428,
- "name": "Backpacking Tents",
- "description": "Exclude backpacking tents with less than 10 items remaining in the inventory",
- "rule": {
- "name": {
- "contains": "backpacking"
}
}
}
Cart Criteria are criteria based on visitor's activity on multiple items. The recommendation keys are supplied through
mbox parameter cartIds
in comma-separated values. Only the first 10 values are considered.
Gets all available cart based criteria.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 3 cart criteria.
{- "offset": 2,
- "limit": 2147483647,
- "total": 3,
- "list": [
- {
- "id": 3,
- "name": "Users who purchased this also purchased that within each session.",
- "criteriaGroup": "CART",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "modelActionSettings": {
- "actionOnKeyItems": "PURCHASE",
- "actionOnRecommendedItems": "PURCHASE",
- "basisForCoOccurrence": "SESSION"
}
}, - {
- "id": 4,
- "name": "Users who viewed this also viewed that across user sessions.",
- "criteriaGroup": "CART",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "modelActionSettings": {
- "actionOnKeyItems": "VIEW",
- "actionOnRecommendedItems": "VIEW",
- "basisForCoOccurrence": "USER"
}
}, - {
- "id": 5,
- "name": "Users who viewed this also bought that across user sessions in the same category.",
- "criteriaGroup": "CART",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "modelActionSettings": {
- "actionOnKeyItems": "VIEW",
- "actionOnRecommendedItems": "PURCHASE",
- "basisForCoOccurrence": "USER"
}, - "configuration": {
- "inclusionRulesKey": "LAST_PURCHASED",
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "contains",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
]
}
Creates a new cart based criteria as specified by the settings and configuration provided and returns the newly created cart definition.
Cart based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
object (CriteriaCartConfiguration) | |
daysCount required | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded in recommendations. |
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
object |
A request body example of a cart based criteria to be created/updated.
{- "name": "Users who viewed this also bought that across user sessions in the same category.",
- "criteriaGroup": "CART",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "modelActionSettings": {
- "actionOnKeyItems": "VIEW",
- "actionOnRecommendedItems": "PURCHASE",
- "basisForCoOccurrence": "USER"
}, - "configuration": {
- "inclusionRulesKey": "LAST_PURCHASED",
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "equals",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
A response body example of a cart based criteria.
{- "id": 3,
- "name": "Users who viewed this also bought that across user sessions in the same category.",
- "criteriaGroup": "CART",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "modelActionSettings": {
- "actionOnKeyItems": "VIEW",
- "actionOnRecommendedItems": "PURCHASE",
- "basisForCoOccurrence": "USER"
}, - "configuration": {
- "inclusionRulesKey": "LAST_PURCHASED",
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "equals",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
Gets the cart based criteria with the given ID.
id required | integer <int32> |
A response body example of a cart based criteria.
{- "id": 3,
- "name": "Users who viewed this also bought that across user sessions in the same category.",
- "criteriaGroup": "CART",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "modelActionSettings": {
- "actionOnKeyItems": "VIEW",
- "actionOnRecommendedItems": "PURCHASE",
- "basisForCoOccurrence": "USER"
}, - "configuration": {
- "inclusionRulesKey": "LAST_PURCHASED",
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "equals",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
Updates the cart based criteria with new settings and configuration as specified and returns the updated criteria definition.
id required | integer <int32> |
Cart based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
object (CriteriaCartConfiguration) | |
daysCount required | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded in recommendations. |
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
object |
A request body example of a cart based criteria to be created/updated.
{- "name": "Users who viewed this also bought that across user sessions in the same category.",
- "criteriaGroup": "CART",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "modelActionSettings": {
- "actionOnKeyItems": "VIEW",
- "actionOnRecommendedItems": "PURCHASE",
- "basisForCoOccurrence": "USER"
}, - "configuration": {
- "inclusionRulesKey": "LAST_PURCHASED",
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "equals",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
A response body example of a cart based criteria.
{- "id": 3,
- "name": "Users who viewed this also bought that across user sessions in the same category.",
- "criteriaGroup": "CART",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "modelActionSettings": {
- "actionOnKeyItems": "VIEW",
- "actionOnRecommendedItems": "PURCHASE",
- "basisForCoOccurrence": "USER"
}, - "configuration": {
- "inclusionRulesKey": "LAST_PURCHASED",
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "equals",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
Deletes the cart based criteria referenced by the given ID.
id required | integer <int32> |
A response body example of a cart based criteria.
{- "id": 3,
- "name": "Users who viewed this also bought that across user sessions in the same category.",
- "criteriaGroup": "CART",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "modelActionSettings": {
- "actionOnKeyItems": "VIEW",
- "actionOnRecommendedItems": "PURCHASE",
- "basisForCoOccurrence": "USER"
}, - "configuration": {
- "inclusionRulesKey": "LAST_PURCHASED",
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "equals",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
Category Criteria are criteria based on item category. The recommendation key is currently viewed item category or visitor favorite category.
Gets all available category based criteria.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 3 category criteria.
{- "offset": 2,
- "limit": 2147483647,
- "total": 3,
- "list": [
- {
- "id": 3,
- "name": "Most Popular Content from Visitor's Favorite Category",
- "criteriaGroup": "CATEGORY",
- "type": "VIEWED",
- "key": "FAVORITE",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "pastBehaviorOrdinal": 0
}
}, - {
- "id": 4,
- "name": "Top Selling Products from this Category",
- "criteriaGroup": "CATEGORY",
- "type": "BOUGHT",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "ONE_MONTH",
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "pastBehaviorOrdinal": 0
}
}, - {
- "id": 5,
- "name": "Most Viewed Products from this Category",
- "criteriaGroup": "CATEGORY",
- "type": "VIEWED",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "contains",
- "source": {
- "name": "colorDepth",
- "type": "MBOX"
}
}
], - "pastBehaviorOrdinal": -1
}
}
]
}
Creates a new category based criteria as specified by the settings and configuration provided and returns the newly created criteria definition.
Category based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
aggregation | string Default: "NONE" Enum: "NONE" "AGGREGATE" "ALL_OR_NOTHING" Whether recommendations should be shown solely based on the key (
If the key is current category, only |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
object (CriteriaCategoryConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. | |
daysCount | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. This field can not be used together with |
hoursCount | integer Time range of historical visitor behavioral data to consider for generating recommendations. This field can not be used together with |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
key required | string Enum: "CURRENT" "FAVORITE" Recommendation key. Values:
|
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
type required | string Enum: "BOUGHT" "VIEWED" Recommendation logic. Values:
|
A request body example of a category based criteria to be created/updated.
{- "name": "Most Popular Content from Visitor's Favorite Category",
- "criteriaGroup": "CATEGORY",
- "type": "VIEWED",
- "key": "FAVORITE",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "pastBehaviorOrdinal": 0
}
}
A response body example of a category based criteria.
{- "id": 3,
- "name": "Most Popular Content from Visitor's Favorite Category",
- "criteriaGroup": "CATEGORY",
- "type": "VIEWED",
- "key": "FAVORITE",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "pastBehaviorOrdinal": 0
}
}
Gets the category based criteria with the given ID.
id required | integer <int32> |
A response body example of a category based criteria.
{- "id": 3,
- "name": "Most Popular Content from Visitor's Favorite Category",
- "criteriaGroup": "CATEGORY",
- "type": "VIEWED",
- "key": "FAVORITE",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "pastBehaviorOrdinal": 0
}
}
Updates the category based criteria with new settings and configuration as specified and returns the updated criteria definition.
id required | integer <int32> |
Category based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
aggregation | string Default: "NONE" Enum: "NONE" "AGGREGATE" "ALL_OR_NOTHING" Whether recommendations should be shown solely based on the key (
If the key is current category, only |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
object (CriteriaCategoryConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. | |
daysCount | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. This field can not be used together with |
hoursCount | integer Time range of historical visitor behavioral data to consider for generating recommendations. This field can not be used together with |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
key required | string Enum: "CURRENT" "FAVORITE" Recommendation key. Values:
|
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
type required | string Enum: "BOUGHT" "VIEWED" Recommendation logic. Values:
|
A request body example of a category based criteria to be created/updated.
{- "name": "Most Popular Content from Visitor's Favorite Category",
- "criteriaGroup": "CATEGORY",
- "type": "VIEWED",
- "key": "FAVORITE",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "pastBehaviorOrdinal": 0
}
}
A response body example of a category based criteria.
{- "id": 3,
- "name": "Most Popular Content from Visitor's Favorite Category",
- "criteriaGroup": "CATEGORY",
- "type": "VIEWED",
- "key": "FAVORITE",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "pastBehaviorOrdinal": 0
}
}
Deletes the category based criteria referenced by the given ID.
id required | integer <int32> |
A response body example of a category based criteria.
{- "id": 3,
- "name": "Most Popular Content from Visitor's Favorite Category",
- "criteriaGroup": "CATEGORY",
- "type": "VIEWED",
- "key": "FAVORITE",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": true,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "pastBehaviorOrdinal": 0
}
}
Custom Criteria are criteria based on user-defined custom recommendations. You upload a CSV containing item keys and their corresponding list of recommendations. These recommendations, after applying configuration rules and settings, if any, will be delivered to your page. The item keys in your CSV should map to items or categories in the catalog. The recommendation key of this criteria can be any item based, category based key or profile attribute key depending on the item keys in the CSV. The CSV upload is carried out through a feed as part of configuration to create a custom criteria. Note, an item key refers to the key in the CSV feed whereas a recommendation key refers to how the item key will be treated, that is, it can be treated as ID of currently viewed item or visitor's favorite category.
Gets all available custom criteria.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 3 custom criteria.
{- "offset": 42,
- "limit": 45,
- "total": 3,
- "list": [
- {
- "id": 43,
- "name": "Snowboarding recommendations",
- "criteriaTitle": "Snowboarding recs",
- "criteriaGroup": "CUSTOM",
- "key": "CURRENT",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "configuration": {
- "feed": {
- "environmentId": -1,
- "scheduleType": "daily",
- "scheduleTime": "00:00",
- "connection": {
- "type": "url",
}, - "uploadHistory": [
- {
- "status": "SUCCESS",
- "message": "800/50",
- "date": "2018-08-08T20:17:44.000-04:00"
}, - {
- "status": "SUCCESS",
- "message": "800/50",
- "date": "2018-08-07T20:26:13.000-04:00"
}
]
}
}
}, - {
- "id": 44,
- "name": "Member Trips",
- "criteriaTitle": "Adventure Trips",
- "criteriaGroup": "CUSTOM",
- "key": "CURRENT_CATEGORY",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "feed": {
- "environmentId": -1,
- "scheduleType": "weekly",
- "scheduleTime": "00:00",
- "connection": {
- "type": "url",
}, - "uploadHistory": [
- {
- "status": "SUCCESS",
- "message": "800/50",
- "date": "2018-08-08T12:33:21.000-04:00"
}, - {
- "status": "SUCCESS",
- "message": "800/50",
- "date": "2018-08-01T12:36:45.000-04:00"
}, - {
- "status": "FILE_NOT_FOUND",
- "message": "File does not exists",
- "date": "2018-07-23T12:31:22.000-04:00"
}
]
}
}
}, - {
- "id": 45,
- "name": "Classes Events",
- "criteriaTitle": "Classes & Events",
- "criteriaGroup": "CUSTOM",
- "key": "PROFILE_ATTRIBUTE",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "attribute": "profile.city",
- "feed": {
- "environmentId": 2304,
- "scheduleType": "daily",
- "scheduleTime": "00:00",
- "connection": {
- "type": "ftp",
- "attributes": {
- "SERVER": "ftp://ftp.adobe-weretail.com",
- "DIRECTORY": "/events/e4s",
- "FILENAME": "classesevents.csv",
- "USERNAME": "johnmuir",
- "PASSWORD": "apZMtr+dm2jk5K7INSz5Fg=="
}
}, - "uploadHistory": [
- {
- "status": "SUCCESS",
- "message": "800/50",
- "date": "2018-04-21T15:10:44.000-04:00"
}, - {
- "status": "UNKNOWN_ERROR",
- "message": "Connect to 54.22.123.21 timed out",
- "date": "2018-04-20T15:12:31.000-04:00"
}
]
}
}
}
]
}
Creates a new custom criteria as specified by the settings, configuration, and feed provided and returns the newly created criteria definition.
Custom criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when enough recommendations from CSV feed are not applicable in design. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
required | object (CriteriaCustomConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
key required | string Enum: "CURRENT" "LAST_VIEWED" "LAST_PURCHASED" "MOST_VIEWED" "CURRENT_CATEGORY" "FAVORITE_CATEGORY" "PROFILE_ATTRIBUTE" Recommendation key. Values:
|
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
A request body example of a custom criteria to be created/updated.
{- "name": "Classes Events",
- "criteriaTitle": "Classes & Events",
- "key": "PROFILE_ATTRIBUTE",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "attribute": "profile.city",
- "feed": {
- "environmentId": 2304,
- "scheduleType": "daily",
- "scheduleTime": "00:00",
- "connection": {
- "type": "ftp",
- "attributes": {
- "SERVER": "ftp://ftp.adobe-weretail.com",
- "DIRECTORY": "/events/e4s",
- "FILENAME": "classesevents.csv",
- "USERNAME": "johnmuir",
- "PASSWORD": "apZMtr+dm2jk5K7INSz5Fg=="
}
}
}
}
}
A response body example of a custom criteria.
{- "id": 45,
- "name": "Classes Events",
- "criteriaTitle": "Classes & Events",
- "criteriaGroup": "CUSTOM",
- "key": "PROFILE_ATTRIBUTE",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "attribute": "profile.city",
- "feed": {
- "environmentId": 2304,
- "scheduleType": "daily",
- "scheduleTime": "00:00",
- "connection": {
- "type": "ftp",
- "attributes": {
- "SERVER": "ftp://ftp.adobe-weretail.com",
- "DIRECTORY": "/events/e4s",
- "FILENAME": "classesevents.csv",
- "USERNAME": "johnmuir",
- "PASSWORD": "apZMtr+dm2jk5K7INSz5Fg=="
}
}, - "uploadHistory": [
- {
- "status": "SUCCESS",
- "message": "800/50",
- "date": "2018-04-21T15:10:44.000-04:00"
}, - {
- "status": "UNKNOWN_ERROR",
- "message": "Connect to 54.22.123.21 timed out",
- "date": "2018-04-20T15:12:31.000-04:00"
}
]
}
}
}
Gets the custom criteria with the given ID.
id required | integer <int32> |
A response body example of a custom criteria.
{- "id": 45,
- "name": "Classes Events",
- "criteriaTitle": "Classes & Events",
- "criteriaGroup": "CUSTOM",
- "key": "PROFILE_ATTRIBUTE",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "attribute": "profile.city",
- "feed": {
- "environmentId": 2304,
- "scheduleType": "daily",
- "scheduleTime": "00:00",
- "connection": {
- "type": "ftp",
- "attributes": {
- "SERVER": "ftp://ftp.adobe-weretail.com",
- "DIRECTORY": "/events/e4s",
- "FILENAME": "classesevents.csv",
- "USERNAME": "johnmuir",
- "PASSWORD": "apZMtr+dm2jk5K7INSz5Fg=="
}
}, - "uploadHistory": [
- {
- "status": "SUCCESS",
- "message": "800/50",
- "date": "2018-04-21T15:10:44.000-04:00"
}, - {
- "status": "UNKNOWN_ERROR",
- "message": "Connect to 54.22.123.21 timed out",
- "date": "2018-04-20T15:12:31.000-04:00"
}
]
}
}
}
Updates the custom criteria with new settings, configuration and feed as specified and returns the updated criteria definition.
id required | integer <int32> |
Custom criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when enough recommendations from CSV feed are not applicable in design. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
required | object (CriteriaCustomConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
key required | string Enum: "CURRENT" "LAST_VIEWED" "LAST_PURCHASED" "MOST_VIEWED" "CURRENT_CATEGORY" "FAVORITE_CATEGORY" "PROFILE_ATTRIBUTE" Recommendation key. Values:
|
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
A request body example of a custom criteria to be created/updated.
{- "name": "Classes Events",
- "criteriaTitle": "Classes & Events",
- "key": "PROFILE_ATTRIBUTE",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "attribute": "profile.city",
- "feed": {
- "environmentId": 2304,
- "scheduleType": "daily",
- "scheduleTime": "00:00",
- "connection": {
- "type": "ftp",
- "attributes": {
- "SERVER": "ftp://ftp.adobe-weretail.com",
- "DIRECTORY": "/events/e4s",
- "FILENAME": "classesevents.csv",
- "USERNAME": "johnmuir",
- "PASSWORD": "apZMtr+dm2jk5K7INSz5Fg=="
}
}
}
}
}
A response body example of a custom criteria.
{- "id": 45,
- "name": "Classes Events",
- "criteriaTitle": "Classes & Events",
- "criteriaGroup": "CUSTOM",
- "key": "PROFILE_ATTRIBUTE",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "attribute": "profile.city",
- "feed": {
- "environmentId": 2304,
- "scheduleType": "daily",
- "scheduleTime": "00:00",
- "connection": {
- "type": "ftp",
- "attributes": {
- "SERVER": "ftp://ftp.adobe-weretail.com",
- "DIRECTORY": "/events/e4s",
- "FILENAME": "classesevents.csv",
- "USERNAME": "johnmuir",
- "PASSWORD": "apZMtr+dm2jk5K7INSz5Fg=="
}
}, - "uploadHistory": [
- {
- "status": "SUCCESS",
- "message": "800/50",
- "date": "2018-04-21T15:10:44.000-04:00"
}, - {
- "status": "UNKNOWN_ERROR",
- "message": "Connect to 54.22.123.21 timed out",
- "date": "2018-04-20T15:12:31.000-04:00"
}
]
}
}
}
Deletes the custom criteria referenced by the given ID.
id required | integer <int32> |
A response body example of a custom criteria.
{- "id": 45,
- "name": "Classes Events",
- "criteriaTitle": "Classes & Events",
- "criteriaGroup": "CUSTOM",
- "key": "PROFILE_ATTRIBUTE",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "attribute": "profile.city",
- "feed": {
- "environmentId": 2304,
- "scheduleType": "daily",
- "scheduleTime": "00:00",
- "connection": {
- "type": "ftp",
- "attributes": {
- "SERVER": "ftp://ftp.adobe-weretail.com",
- "DIRECTORY": "/events/e4s",
- "FILENAME": "classesevents.csv",
- "USERNAME": "johnmuir",
- "PASSWORD": "apZMtr+dm2jk5K7INSz5Fg=="
}
}, - "uploadHistory": [
- {
- "status": "SUCCESS",
- "message": "800/50",
- "date": "2018-04-21T15:10:44.000-04:00"
}, - {
- "status": "UNKNOWN_ERROR",
- "message": "Connect to 54.22.123.21 timed out",
- "date": "2018-04-20T15:12:31.000-04:00"
}
]
}
}
}
Item Criteria are criteria based on visitor's activity on item. The recommendation key is currently viewed item, last viewed item, most viewed item or last purchased item. Note that this does not include recently viewed item, check Recent Criteria APIs for that.
Gets all available item based criteria.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 3 item based criteria.
{- "offset": 0,
- "limit": 3,
- "total": 3,
- "list": [
- {
- "id": 1,
- "name": "Items after buying road bike",
- "criteriaGroup": "ITEM",
- "type": "BOUGHT_CF",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": false,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "contains",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}, - {
- "attribute": "category",
- "operation": "contains",
- "values": [
- "bike-road"
]
}
], - "pastBehaviorOrdinal": -1
}
}, - {
- "id": 2,
- "name": "Similar items",
- "criteriaGroup": "ITEM",
- "type": "BOUGHT_CF",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": false,
- "backupDisabled": true,
- "excludePurchases": false,
- "enableCaching": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "contains",
- "source": {
- "name": "brand",
- "defaultValue": "rei-coop",
- "type": "ENTITY"
}
}
], - "pastBehaviorOrdinal": -1
}
}, - {
- "id": 3,
- "name": "Viewed items by users who last purchased current item",
- "criteriaGroup": "ITEM",
- "type": "VIEWED_BOUGHT",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": true,
- "backupDisabled": true,
- "excludePurchases": false,
- "enableCaching": false,
- "backupInclusionFilteringEnabled": false,
- "configuration": {
- "pastBehaviorOrdinal": 0
}
}
]
}
Creates a new item based criteria as specified by the settings and configuration provided and returns the newly created criteria definition.
Item based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
aggregation | string Default: "NONE" Enum: "NONE" "AGGREGATE" "ALL_OR_NOTHING" Whether recommendations should be shown solely based on the key (
If the key is |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
required | object (CriteriaItemConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. |
daysCount required | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
key required | string Enum: "CURRENT" "LAST_VIEWED" "LAST_PURCHASED" "MOST_VIEWED" Recommendation key. Values:
|
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
type required | string Enum: "VIEWED_BOUGHT" "BOUGHT_CF" "VIEWED_CF" "SITE_AFFINITY" "SIMILARITY" Recommendation logic. Values:
|
A request body example of an item based criteria to be created/updated.
{- "name": "Items after buying road bike",
- "criteriaGroup": "ITEM",
- "type": "BOUGHT_CF",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "contains",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}, - {
- "attribute": "category",
- "operation": "contains",
- "values": [
- "bike-road"
]
}
], - "pastBehaviorOrdinal": -1
}
}
A response body example of an item based criteria.
{- "id": 2,
- "name": "Similar items",
- "criteriaGroup": "ITEM",
- "type": "BOUGHT_CF",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": false,
- "backupDisabled": true,
- "excludePurchases": false,
- "enableCaching": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "contains",
- "source": {
- "name": "brand",
- "defaultValue": "rei-coop",
- "type": "ENTITY"
}
}
], - "pastBehaviorOrdinal": -1
}
}
Gets the item based criteria with the given ID.
id required | integer <int32> |
A response body example of an item based criteria.
{- "id": 2,
- "name": "Similar items",
- "criteriaGroup": "ITEM",
- "type": "BOUGHT_CF",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": false,
- "backupDisabled": true,
- "excludePurchases": false,
- "enableCaching": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "contains",
- "source": {
- "name": "brand",
- "defaultValue": "rei-coop",
- "type": "ENTITY"
}
}
], - "pastBehaviorOrdinal": -1
}
}
Updates the item based criteria with new settings and configuration as specified and returns the updated criteria definition.
id required | integer <int32> |
Item based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
aggregation | string Default: "NONE" Enum: "NONE" "AGGREGATE" "ALL_OR_NOTHING" Whether recommendations should be shown solely based on the key (
If the key is |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
required | object (CriteriaItemConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. |
daysCount required | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
key required | string Enum: "CURRENT" "LAST_VIEWED" "LAST_PURCHASED" "MOST_VIEWED" Recommendation key. Values:
|
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
type required | string Enum: "VIEWED_BOUGHT" "BOUGHT_CF" "VIEWED_CF" "SITE_AFFINITY" "SIMILARITY" Recommendation logic. Values:
|
A request body example of an item based criteria to be created/updated.
{- "name": "Items after buying road bike",
- "criteriaGroup": "ITEM",
- "type": "BOUGHT_CF",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": false,
- "backupDisabled": false,
- "excludePurchases": false,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "contains",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}, - {
- "attribute": "category",
- "operation": "contains",
- "values": [
- "bike-road"
]
}
], - "pastBehaviorOrdinal": -1
}
}
A response body example of an item based criteria.
{- "id": 2,
- "name": "Similar items",
- "criteriaGroup": "ITEM",
- "type": "BOUGHT_CF",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": false,
- "backupDisabled": true,
- "excludePurchases": false,
- "enableCaching": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "contains",
- "source": {
- "name": "brand",
- "defaultValue": "rei-coop",
- "type": "ENTITY"
}
}
], - "pastBehaviorOrdinal": -1
}
}
Deletes the item based criteria referenced by the given ID.
id required | integer <int32> |
A response body example of an item based criteria.
{- "id": 2,
- "name": "Similar items",
- "criteriaGroup": "ITEM",
- "type": "BOUGHT_CF",
- "key": "CURRENT",
- "aggregation": "NONE",
- "daysCount": "TWO_WEEKS",
- "minInventory": 1,
- "partialDesignAllowed": false,
- "backupDisabled": true,
- "excludePurchases": false,
- "enableCaching": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "contains",
- "source": {
- "name": "brand",
- "defaultValue": "rei-coop",
- "type": "ENTITY"
}
}
], - "pastBehaviorOrdinal": -1
}
}
Popularity Criteria are criteria that generate popular items as recommendations. The recommendation key is top sellers, most viewed items or Analytics product report metric.
Gets all available popularity based criteria.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 3 popularity based criteria.
{- "offset": 0,
- "limit": 2147483647,
- "total": 2,
- "list": [
- {
- "id": 3422,
- "name": "Garage Top Viewed",
- "criteriaGroup": "POPULARITY",
- "type": "VIEWED",
- "aggregation": "NONE",
- "daysCount": "TWO_DAYS",
- "minInventory": 2,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "datasource": "mboxes"
}
}, - {
- "id": 9321,
- "name": "Top sold by region",
- "criteriaGroup": "POPULARITY",
- "type": "SELLERS",
- "aggregation": "ALL_OR_NOTHING",
- "daysCount": "ONE_MONTH",
- "configuration": {
- "datasource": "mboxes",
- "grouping": {
- "type": "SEQUENTIAL",
- "attributes": [
- "user.city",
- "user.county",
- "user.state"
]
}
}
}
]
}
Creates a new popularity based criteria as specified by the settings and configuration provided and returns the newly created criteria definition.
Popularity based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
aggregation | string Default: "NONE" Enum: "NONE" "AGGREGATE" "ALL_OR_NOTHING" Whether recommendations should be shown solely based on the key (
|
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
object (CriteriaPopularityConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. | |
daysCount | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. This field can not be used together with |
hoursCount | integer Time range of historical visitor behavioral data to consider for generating recommendations. This field can not be used together with |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
key | string Recommendation key. Values:
|
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
type required | string Enum: "SELLERS" "VIEWED" "METRIC" Recommendation logic. Values:
|
A request body example of an popularity based criteria to be created/updated.
{- "name": "Garage Top Viewed",
- "type": "VIEWED",
- "key": "customProfileAttribute",
- "aggregation": "NONE",
- "daysCount": "TWO_DAYS",
- "minInventory": 2,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "datasource": "mboxes",
- "attribute": "user.name",
- "groupByEntityAttribute": "brand"
}
}
A response body example of a popularity based criteria.
{- "id": 9321,
- "name": "Top sold by region",
- "criteriaGroup": "POPULARITY",
- "type": "VIEWED",
- "key": "customProfileAttribute",
- "aggregation": "ALL_OR_NOTHING",
- "daysCount": "ONE_MONTH",
- "configuration": {
- "datasource": "mboxes",
- "attribute": "user.name",
- "groupByEntityAttribute": "brand",
- "grouping": {
- "type": "SEQUENTIAL",
- "attributes": [
- "user.city",
- "user.county",
- "user.state"
]
}
}
}
Gets the popularity based criteria with the given ID.
id required | integer <int32> |
A response body example of a popularity based criteria.
{- "id": 9321,
- "name": "Top sold by region",
- "criteriaGroup": "POPULARITY",
- "type": "VIEWED",
- "key": "customProfileAttribute",
- "aggregation": "ALL_OR_NOTHING",
- "daysCount": "ONE_MONTH",
- "configuration": {
- "datasource": "mboxes",
- "attribute": "user.name",
- "groupByEntityAttribute": "brand",
- "grouping": {
- "type": "SEQUENTIAL",
- "attributes": [
- "user.city",
- "user.county",
- "user.state"
]
}
}
}
Updates the popularity based criteria with new settings and configuration as specified and returns the updated criteria definition.
id required | integer <int32> |
Popularity based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
aggregation | string Default: "NONE" Enum: "NONE" "AGGREGATE" "ALL_OR_NOTHING" Whether recommendations should be shown solely based on the key (
|
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
object (CriteriaPopularityConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. | |
daysCount | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. This field can not be used together with |
hoursCount | integer Time range of historical visitor behavioral data to consider for generating recommendations. This field can not be used together with |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
key | string Recommendation key. Values:
|
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
type required | string Enum: "SELLERS" "VIEWED" "METRIC" Recommendation logic. Values:
|
A request body example of an popularity based criteria to be created/updated.
{- "name": "Garage Top Viewed",
- "type": "VIEWED",
- "key": "customProfileAttribute",
- "aggregation": "NONE",
- "daysCount": "TWO_DAYS",
- "minInventory": 2,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "configuration": {
- "datasource": "mboxes",
- "attribute": "user.name",
- "groupByEntityAttribute": "brand"
}
}
A response body example of a popularity based criteria.
{- "id": 9321,
- "name": "Top sold by region",
- "criteriaGroup": "POPULARITY",
- "type": "VIEWED",
- "key": "customProfileAttribute",
- "aggregation": "ALL_OR_NOTHING",
- "daysCount": "ONE_MONTH",
- "configuration": {
- "datasource": "mboxes",
- "attribute": "user.name",
- "groupByEntityAttribute": "brand",
- "grouping": {
- "type": "SEQUENTIAL",
- "attributes": [
- "user.city",
- "user.county",
- "user.state"
]
}
}
}
Deletes the popularity based criteria referenced by the given ID.
id required | integer <int32> |
A response body example of a popularity based criteria.
{- "id": 9321,
- "name": "Top sold by region",
- "criteriaGroup": "POPULARITY",
- "type": "VIEWED",
- "key": "customProfileAttribute",
- "aggregation": "ALL_OR_NOTHING",
- "daysCount": "ONE_MONTH",
- "configuration": {
- "datasource": "mboxes",
- "attribute": "user.name",
- "groupByEntityAttribute": "brand",
- "grouping": {
- "type": "SEQUENTIAL",
- "attributes": [
- "user.city",
- "user.county",
- "user.state"
]
}
}
}
Profile Attribute Criteria are criteria where recommendation is determined by an item that is stored in visitor's profile using either user.*
or profile.*
attributes. The profile attribute contains the item ID on which the recommendations are based.
Gets all available profile attribute based criteria.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 3 profile attribute based criteria.
{- "offset": 0,
- "limit": 2147483647,
- "total": 2,
- "list": [
- {
- "id": 1,
- "name": "city-bike-recs",
- "criteriaTitle": "Bike recommendations per city",
- "criteriaGroup": "PROFILEATTRIBUTE",
- "type": "VIEWED_CF",
- "aggregation": "NONE",
- "daysCount": "ONE_MONTH",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "configuration": {
- "attribute": "profile.city",
- "inclusionRules": [
- {
- "attribute": "city",
- "operation": "dynamicallyMatches"
}, - {
- "attribute": "category",
- "operation": "contains",
- "values": [
- "bike"
]
}
], - "datasource": "mboxes"
}
}, - {
- "id": 2,
- "name": "gender-recs",
- "criteriaTitle": "Generic recommendations based on gender",
- "criteriaGroup": "PROFILEATTRIBUTE",
- "type": "VIEWED_CF",
- "aggregation": "ALL_OR_NOTHING",
- "daysCount": "ONE_MONTH",
- "configuration": {
- "attribute": "profile.gender",
- "datasource": "mboxes"
}
}
]
}
Creates a new profile attribute based criteria as specified by the settings and configuration provided and returns the newly created criteria definition.
Profile attribute based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
aggregation | string Default: "NONE" Enum: "NONE" "AGGREGATE" "ALL_OR_NOTHING" Whether recommendations should be shown solely based on the key (
|
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
required | object (CriteriaProfileAttributeConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. |
daysCount required | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
type required | string Enum: "VIEWED_BOUGHT" "BOUGHT_CF" "VIEWED_CF" "SITE_AFFINITY" Recommendation logic. Values:
|
A request body example of an profile attribute based criteria to be created/updated.
{- "name": "city-bike-recs",
- "criteriaTitle": "Bike recommendations per city",
- "type": "VIEWED_CF",
- "aggregation": "NONE",
- "daysCount": "ONE_MONTH",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "configuration": {
- "attribute": "profile.city",
- "inclusionRules": [
- {
- "attribute": "city",
- "operation": "dynamicallyMatches"
}, - {
- "attribute": "category",
- "operation": "contains",
- "values": [
- "bike"
]
}
], - "datasource": "mboxes"
}
}
A response body example of a profile attribute based criteria.
{- "id": 1,
- "name": "city-bike-recs",
- "criteriaTitle": "Bike recommendations per city",
- "criteriaGroup": "PROFILEATTRIBUTE",
- "type": "VIEWED_CF",
- "aggregation": "NONE",
- "daysCount": "ONE_MONTH",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "configuration": {
- "attribute": "profile.city",
- "inclusionRules": [
- {
- "attribute": "city",
- "operation": "dynamicallyMatches"
}, - {
- "attribute": "category",
- "operation": "contains",
- "values": [
- "bike"
]
}
], - "datasource": "mboxes"
}
}
Gets the profile attribute based criteria with the given ID.
id required | integer <int32> |
A response body example of a profile attribute based criteria.
{- "id": 1,
- "name": "city-bike-recs",
- "criteriaTitle": "Bike recommendations per city",
- "criteriaGroup": "PROFILEATTRIBUTE",
- "type": "VIEWED_CF",
- "aggregation": "NONE",
- "daysCount": "ONE_MONTH",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "configuration": {
- "attribute": "profile.city",
- "inclusionRules": [
- {
- "attribute": "city",
- "operation": "dynamicallyMatches"
}, - {
- "attribute": "category",
- "operation": "contains",
- "values": [
- "bike"
]
}
], - "datasource": "mboxes"
}
}
Updates the profile attribute based criteria with new settings and configuration as specified and returns the updated criteria definition.
id required | integer <int32> |
Profile attribute based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
aggregation | string Default: "NONE" Enum: "NONE" "AGGREGATE" "ALL_OR_NOTHING" Whether recommendations should be shown solely based on the key (
|
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
required | object (CriteriaProfileAttributeConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. |
daysCount required | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
type required | string Enum: "VIEWED_BOUGHT" "BOUGHT_CF" "VIEWED_CF" "SITE_AFFINITY" Recommendation logic. Values:
|
A request body example of an profile attribute based criteria to be created/updated.
{- "name": "city-bike-recs",
- "criteriaTitle": "Bike recommendations per city",
- "type": "VIEWED_CF",
- "aggregation": "NONE",
- "daysCount": "ONE_MONTH",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "configuration": {
- "attribute": "profile.city",
- "inclusionRules": [
- {
- "attribute": "city",
- "operation": "dynamicallyMatches"
}, - {
- "attribute": "category",
- "operation": "contains",
- "values": [
- "bike"
]
}
], - "datasource": "mboxes"
}
}
A response body example of a profile attribute based criteria.
{- "id": 1,
- "name": "city-bike-recs",
- "criteriaTitle": "Bike recommendations per city",
- "criteriaGroup": "PROFILEATTRIBUTE",
- "type": "VIEWED_CF",
- "aggregation": "NONE",
- "daysCount": "ONE_MONTH",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "configuration": {
- "attribute": "profile.city",
- "inclusionRules": [
- {
- "attribute": "city",
- "operation": "dynamicallyMatches"
}, - {
- "attribute": "category",
- "operation": "contains",
- "values": [
- "bike"
]
}
], - "datasource": "mboxes"
}
}
Deletes the profile attribute based criteria referenced by the given ID.
id required | integer <int32> |
A response body example of a profile attribute based criteria.
{- "id": 1,
- "name": "city-bike-recs",
- "criteriaTitle": "Bike recommendations per city",
- "criteriaGroup": "PROFILEATTRIBUTE",
- "type": "VIEWED_CF",
- "aggregation": "NONE",
- "daysCount": "ONE_MONTH",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "configuration": {
- "attribute": "profile.city",
- "inclusionRules": [
- {
- "attribute": "city",
- "operation": "dynamicallyMatches"
}, - {
- "attribute": "category",
- "operation": "contains",
- "values": [
- "bike"
]
}
], - "datasource": "mboxes"
}
}
Gets all available recent view based criteria.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 2 recent view based criteria.
{- "offset": 0,
- "limit": 2147483647,
- "total": 2,
- "list": [
- {
- "id": 1,
- "name": "Recently Viewed Products",
- "criteriaTitle": "Just Seen Items",
- "criteriaGroup": "RECENT",
- "minInventory": 1,
- "configuration": {
- "rankingRules": [ ]
}
}, - {
- "id": 2,
- "name": "Recently Viewed in Same Brand",
- "criteriaGroup": "RECENT",
- "minInventory": 1,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "dynamicallyMatches",
- "source": {
- "name": "brand",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}, - {
- "attribute": "value",
- "operation": "dynamicallyRanges",
- "lowRange": "1",
- "highRange": "99"
}
], - "rankingRules": [ ]
}
}
]
}
Creates a new recent view based criteria as specified by the settings and configuration provided and returns the newly created criteria definition.
Recent view based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
object (CriteriaRecentConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. | |
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
A request body example of a recent view based criteria to be created/updated.
{- "name": "Recently Viewed Products",
- "criteriaTitle": "Just Seen Items",
- "excludePurchases": true,
- "criteriaGroup": "RECENT",
- "minInventory": 3,
- "configuration": {
- "rankingRules": [ ]
}
}
A response body example of a recent view based criteria.
{- "id": 2,
- "name": "Recently Viewed in Same Brand",
- "criteriaGroup": "RECENT",
- "excludePurchases": true,
- "minInventory": 1,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "dynamicallyMatches",
- "source": {
- "name": "brand",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}, - {
- "attribute": "value",
- "operation": "dynamicallyRanges",
- "lowRange": "1",
- "highRange": "99"
}
], - "rankingRules": [ ]
}
}
Gets the recent criteria with the given ID.
id required | integer <int32> |
A response body example of a recent view based criteria.
{- "id": 2,
- "name": "Recently Viewed in Same Brand",
- "criteriaGroup": "RECENT",
- "excludePurchases": true,
- "minInventory": 1,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "dynamicallyMatches",
- "source": {
- "name": "brand",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}, - {
- "attribute": "value",
- "operation": "dynamicallyRanges",
- "lowRange": "1",
- "highRange": "99"
}
], - "rankingRules": [ ]
}
}
Updates the recent criteria with new settings and configuration as specified and returns the updated criteria definition.
id required | integer <int32> |
Recent view based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
object (CriteriaRecentConfiguration) Object containing inclusion rules, attribute weighting, price filter, and some more configuration options specific to the criteria group. | |
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
A request body example of a recent view based criteria to be created/updated.
{- "name": "Recently Viewed Products",
- "criteriaTitle": "Just Seen Items",
- "excludePurchases": true,
- "criteriaGroup": "RECENT",
- "minInventory": 3,
- "configuration": {
- "rankingRules": [ ]
}
}
A response body example of a recent view based criteria.
{- "id": 2,
- "name": "Recently Viewed in Same Brand",
- "criteriaGroup": "RECENT",
- "excludePurchases": true,
- "minInventory": 1,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "dynamicallyMatches",
- "source": {
- "name": "brand",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}, - {
- "attribute": "value",
- "operation": "dynamicallyRanges",
- "lowRange": "1",
- "highRange": "99"
}
], - "rankingRules": [ ]
}
}
Deletes the recent view based criteria referenced by the given ID.
id required | integer <int32> |
A response body example of a recent view based criteria.
{- "id": 2,
- "name": "Recently Viewed in Same Brand",
- "criteriaGroup": "RECENT",
- "excludePurchases": true,
- "minInventory": 1,
- "configuration": {
- "inclusionRules": [
- {
- "attribute": "brand",
- "operation": "dynamicallyMatches",
- "source": {
- "name": "brand",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}, - {
- "attribute": "value",
- "operation": "dynamicallyRanges",
- "lowRange": "1",
- "highRange": "99"
}
], - "rankingRules": [ ]
}
}
A Sequence Criteria is a combination of multiple criteria. Such sequence of up to five criteria can be used to exercise greater control of recommendations. By using a criteria sequence, you can provide additional targeted recommendations, instead of using more generic backup recommendations, when a criteria doesn't return enough results to fill your design.
Gets all available sequence criteria.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 2 sequence criteria.
{- "offset": 0,
- "limit": 2147483647,
- "total": 3,
- "list": [
- {
- "id": 56,
- "name": "Top Dashboard Items",
- "criteriaTitle": "Top Dashboard Items",
- "criteriaGroup": "SEQUENCE",
- "backupDisabled": true,
- "sequence": [
- {
- "id": 332,
- "slotCount": 4
}, - {
- "id": 333
}
]
}, - {
- "id": 67,
- "name": "Freight Recs",
- "criteriaTitle": "Freight Recommendations",
- "criteriaGroup": "SEQUENCE",
- "backupDisabled": true,
- "sequence": [
- {
- "id": 345
}, - {
- "id": 346
}, - {
- "id": 348
}, - {
- "id": 349
}, - {
- "id": 350
}
]
}, - {
- "id": 71,
- "name": "Events Across",
- "criteriaTitle": "Garage Events",
- "criteriaGroup": "SEQUENCE",
- "backupDisabled": false,
- "partialDesignAllowed": true,
- "sequence": [
- {
- "id": 401
}, - {
- "id": 402
}, - {
- "id": 406
}
]
}
]
}
Creates a new sequence criteria as specified by the settings, and single criteria IDs provided and returns the newly created criteria definition.
Sequence criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
required | Array of objects [ 1 .. 5 ] items Criteria sequence represented by an array of criteria object IDs. |
A request body example of a sequence criteria to be created/updated.
{- "name": "Top Dashboard Items",
- "criteriaTitle": "Top Dashboard Items",
- "backupDisabled": true,
- "sequence": [
- {
- "id": 332,
- "slotCount": 4
}, - {
- "id": 333
}
]
}
A response body example of a sequence criteria.
{- "id": 56,
- "name": "Top Dashboard Items",
- "criteriaTitle": "Top Dashboard Items",
- "criteriaGroup": "SEQUENCE",
- "backupDisabled": true,
- "sequence": [
- {
- "id": 332,
- "slotCount": 4
}, - {
- "id": 333
}
]
}
Gets the sequence criteria with the given ID.
id required | integer <int32> |
A response body example of a sequence criteria.
{- "id": 56,
- "name": "Top Dashboard Items",
- "criteriaTitle": "Top Dashboard Items",
- "criteriaGroup": "SEQUENCE",
- "backupDisabled": true,
- "sequence": [
- {
- "id": 332,
- "slotCount": 4
}, - {
- "id": 333
}
]
}
Updates the sequence criteria with new settings and new single criteria IDs as specified and returns the updated criteria definition.
id required | integer <int32> |
Sequence criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
required | Array of objects [ 1 .. 5 ] items Criteria sequence represented by an array of criteria object IDs. |
A request body example of a sequence criteria to be created/updated.
{- "name": "Top Dashboard Items",
- "criteriaTitle": "Top Dashboard Items",
- "backupDisabled": true,
- "sequence": [
- {
- "id": 332,
- "slotCount": 4
}, - {
- "id": 333
}
]
}
A response body example of a sequence criteria.
{- "id": 56,
- "name": "Top Dashboard Items",
- "criteriaTitle": "Top Dashboard Items",
- "criteriaGroup": "SEQUENCE",
- "backupDisabled": true,
- "sequence": [
- {
- "id": 332,
- "slotCount": 4
}, - {
- "id": 333
}
]
}
Deletes the sequence criteria referenced by the given ID.
id required | integer <int32> |
A response body example of a sequence criteria.
{- "id": 56,
- "name": "Top Dashboard Items",
- "criteriaTitle": "Top Dashboard Items",
- "criteriaGroup": "SEQUENCE",
- "backupDisabled": true,
- "sequence": [
- {
- "id": 332,
- "slotCount": 4
}, - {
- "id": 333
}
]
}
User History Criteria are criteria based on visitor's browsing, viewing or purchasing history. It is generally referred to as "Recommended for You".
Gets all available user history based criteria.
offset | integer <int32> (offset) Number of resources to skip from start in the server list. If not specified, the response list will start from first available resource. |
limit | integer <int32> (limit) Number of resources to request. If not specified, the response will include all available resources. |
A response body example of a list containing 3 user history criteria.
{- "offset": 2,
- "limit": 2147483647,
- "total": 3,
- "list": [
- {
- "id": 3,
- "name": "Recommend for you.",
- "criteriaTitle": "Items Recommended for you.",
- "criteriaGroup": "USERHISTORY",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "excludeViews": false
}, - {
- "id": 4,
- "name": "Recommend for you with minimum inventory.",
- "criteriaGroup": "USERHISTORY",
- "daysCount": "TWO_WEEKS",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "excludeViews": true
}, - {
- "id": 5,
- "name": "Recommend for you with Inclusion Rules.",
- "criteriaGroup": "USERHISTORY",
- "daysCount": "TWO_WEEKS",
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "excludeViews": true,
- "configuration": {
- "inclusionRulesKey": "LAST_PURCHASED",
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "contains",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
]
}
Creates a new user history based criteria as specified in the request payload and returns the newly created user history definition.
UserHistory based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
object (CriteriaUserHistoryConfiguration) | |
daysCount required | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
excludeViews | boolean Default: false Whether items that were previously viewed by the visitor should be excluded from recommendations. |
A request body example of a user history based criteria to be created/updated.
{- "name": "Recommend for you.",
- "criteriaTitle": "Recommend for you with Inclusion Rules",
- "daysCount": "TWO_WEEKS",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "excludeViews": true,
- "configuration": {
- "datasources": "mboxes",
- "inclusionRulesKey": "LAST_PURCHASED",
- "priceRange": {
- "min": 10,
- "max": 50
}, - "inclusionRules": [
- {
- "attribute": "category",
- "operation": "equals",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
A response body example of a user history based criteria.
{- "id": 3,
- "name": "Recommend for you.",
- "criteriaTitle": "Recommend for you with Inclusion Rules",
- "criteriaGroup": "USERHISTORY",
- "daysCount": "TWO_WEEKS",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "excludeViews": false,
- "configuration": {
- "priceRange": {
- "min": 10,
- "max": 50
}, - "datasource": "mboxes",
- "inclusionRulesKey": "LAST_PURCHASED",
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "equals",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
Gets the user history based criteria with the given ID.
id required | integer <int32> |
A response body example of a user history based criteria.
{- "id": 3,
- "name": "Recommend for you.",
- "criteriaTitle": "Recommend for you with Inclusion Rules",
- "criteriaGroup": "USERHISTORY",
- "daysCount": "TWO_WEEKS",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "excludeViews": false,
- "configuration": {
- "priceRange": {
- "min": 10,
- "max": 50
}, - "datasource": "mboxes",
- "inclusionRulesKey": "LAST_PURCHASED",
- "inclusionRules": [
- {
- "attribute": "category",
- "operation": "equals",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}
Updates the user history based criteria with new data as specified in request payload and returns the updated criteria definition.
id required | integer <int32> |
UserHistory based criteria to be created/updated
criteriaTitle | string <= 250 characters Displayed in the design using variable |
name required | string <= 250 characters Unique name of the criteria. |
backupDisabled | boolean Default: false Whether backup recommendations are disabled when criteria does not generate enough recommendations. |
backupInclusionFilteringEnabled | boolean Default: true Whether inclusion rules on the criteria should be applied to backup recommendations. |
object (CriteriaUserHistoryConfiguration) | |
daysCount required | string Enum: "ONE_DAY" "TWO_DAYS" "ONE_WEEK" "TWO_WEEKS" "ONE_MONTH" "TWO_MONTHS" Time range of historical visitor behavioral data to consider for generating recommendations. |
excludePurchases | boolean Default: false Whether items that were previously purchased by the visitor should be excluded from recommendations. |
minInventory | integer <int32> >= 0 Minimum number of pieces needed in stock for an item to be considered for recommendaton. |
partialDesignAllowed | boolean Default: false Whether design be shown when the number of recommendations are less than item slots in the design. |
excludeViews | boolean Default: false Whether items that were previously viewed by the visitor should be excluded from recommendations. |
A request body example of a user history based criteria to be created/updated.
{- "name": "Recommend for you.",
- "criteriaTitle": "Recommend for you with Inclusion Rules",
- "daysCount": "TWO_WEEKS",
- "minInventory": 5,
- "partialDesignAllowed": true,
- "backupDisabled": false,
- "excludePurchases": true,
- "backupInclusionFilteringEnabled": true,
- "excludeViews": true,
- "configuration": {
- "datasources": "mboxes",
- "inclusionRulesKey": "LAST_PURCHASED",
- "priceRange": {
- "min": 10,
- "max": 50
}, - "inclusionRules": [
- {
- "attribute": "category",
- "operation": "equals",
- "source": {
- "name": "category",
- "type": "ENTITY",
- "excludeAllWhenEmpty": true
}
}
]
}
}