Personalize API
Description
Returns content for the given user and placement.
recs.richrelevance.com/rrserver/api/personalize
Parameters
Note: All parameters are case sensitive.
IMPORTANT: Only call parameters that you need. Algonomy operates off a set of APIs that support many applications and clients concurrently. Algonomy may update and enhance these APIs at any time.
Name |
Required or Optional |
Description |
---|---|---|
apiClientKey |
Required |
A unique key specific to each API implementation. It identifies the specific application or client for reporting, permissions, and merchandising. This is provided by Algonomy. Example: apiClientKey=b0126f995ac848159d |
apiKey |
Required |
A unique key that identifies the site. Each Algonomy client has a unique API key to separate data and traffic from other clients. This is provided by Algonomy. Example: apiKey=4faeaf752ee40a0f |
atcid |
Required on Add to Cart page |
Add to Cart ID. This can be a single product ID or a list of product IDs. If more than one product is added to the cart, separate the product IDs by using the pipe "|" character. Example: atcid=uv2345|xt1234 |
bi |
Optional |
Block content item(s). This can be a single content ID or a list of content IDs. If more than one content ID is specified, separate the content IDs by using the pipe "|" character. Example: bi=content__1|content__2 |
callback |
Optional |
Name of the JavaScript function that JSON data will be passed to. It must be specified for JSONP. The value of this parameter is used as the name of the js function in the response. Example: callback=products_returned |
categoryData |
Optional |
Omits category data (categoryIds and categories) when set to false. The default is true. Example: categoryData=false |
categoryId |
Required on category_page |
The category ID of the category the merchant wants to investigate. The value must match the external ID provided by the merchant to Algonomy for the category. Example: categoryId=902312 |
content_ids |
Optional |
List of content IDs. The content returned is the intersection between the list of content ids passed in the API call and the content from the selected Campaign. Mulptiple content IDs are separated by the pipe "|" character. Example: content_ids=content__13055|13056 Note: The provided contentId's should be external Ids. |
cv |
Optional |
Cart value. Used for targeted campaigns involving cart value. It's expressed in cents; for example, $10 is represented as 1000. Example: cv=9550 (this would equal $95.50) |
excludeHtml |
Optional |
True/false. If true, it omits the HTML returned in the Algonomy server response. If false, the response includes the HTML for the placement which is set in the layout of the html field. The default is false. Example: excludeHtml=true
|
fpb |
Optional |
The brand featured on the page. Used to set the seed for brand-seeded strategies, such as Brand Top Sellers. Example: fpb=Microsoft |
ipor |
Optional |
Shopper IP address. Only use if the API request is not coming from the shopper’s device (for example, server-side integration). Example: ipor=255.255.255.255 |
includeRcs |
Optional |
True/false. The default is false. If true, it includes rcs string. Example: includeRcs=true |
includeScore |
Optional |
True/false. The default is false. If true, the response will include the score of the selected content for each placement. Example: includeScore=true |
includeTags |
Optional |
True/false. The default is false. If true,the response will include a list of tags for the selected content. Example: includeTags=true |
placements |
Required |
List of placement identifiers. Each identifier consists of a page type and a placement name. The identifiers are separated by the pipe "|" character. You'll receive one piece of content per placement. All placements in a call must be for the same page type. Example: placements=item_page.horizontal|item_page.vertical |
pref |
Optional |
Shopper’s referrer prior to viewing the page. Used for reporting and merchandising. This is highly recommended. Example: pref=http://www.google.com |
productId |
Required on item_page, purchase_complete_page, and cart_page (when not empty) |
A single product ID, or a list of product IDs. Part of an order definition on the purchase complete page. Use the pipe "|" character to separate the product IDs. Example: productId=uv2345|xt1234 |
rcs |
Optional |
Algonomy Cookie String. This is the encrypted Algonomy cookie for the user associated with the API request. It should be passed exactly as it was received in a prior API response. Clients should ensure to preserve the 'rcs' value just as it was served. The 'rcs' parameter is always alphanumeric and case-sensitive, with the token value including a mix of uppercase letters, lowercase letters, and numbers. Note: The 'rcs' parameter allows merchants to effectively provide the Algonomy platform access to a user's Algonomy browser cookie by acting as a cookie proxy (or cookie pass-through). This process involves the merchant reading and writing a user's Algonomy browser cookie and passing it to and from Algonomy via the server-side API. |
recentlyPurchased |
Optional |
Products the shopper has purchased in the current session. This can be a single product ID or list of product IDs. Products listed here will be considered along with historical data from the Algonomy system. Use the pipe "|" character to separate the product IDs. Example: recentlyPurchased=uv2345|xt1234 |
rid |
Optional |
Region ID. Must be consistent with the ID used in the Engage Content Feed. Example: rid=Switzerland-France |
sessionId |
Optional |
Identifies a single visit by a shopper. Sessions are used by behavioral models (to scope user behavior in a shopping session) and reporting metrics. Example: sessionId=93484 |
sgs |
Optional |
Supply user segments. Used for segment-targeted campaigns. List each segment using the format segment_number:segment_name, and then use the pipe "|" character to separate segments. You must pass both the segment ID and a segment name for each segment. Example: sgs=101:NewUser|202:Male |
ssl |
Optional |
When set to true, returns http/https depending on how the variable is named in the layout. ssl=true |
tagFilter |
Optional |
Filter contents that match a list of tags using advanced logic such as AND (&&), OR (||), and NOT (!) operators. Note: You need to URL encode the '&&' operator. To encode a URL with the ampersand character, use %26. Multiple tags can be passed using the pipe "|" as a separator. When multiple tags are passed, the returned content should have all tags. Example: tagFilter=(shoes||women)&&Nike Filter of (shoes OR women) AND Nike Note: You can also group together the logical expressions to combine multiple expressions. |
tagRefinement |
Optional |
Refine contents based on a list of tags. The tags in this list will be applied as a filter if there are matching contents available. But if there are no matching contents, then these tags will not be applied as filters. Multiple tags can be passed using the pipe "|" as a separator. Example: tagFilter=shoes||women&tagRefinement=Nike This would attempt to return contents with either 'shoes' AND 'Nike' OR 'women' AND 'Nike'. If no contents have the Nike tag, then it will still return contents with either 'shoes' OR 'women'. Note: tagRefinement will only be applied if tagFilter is being used. |
userAttribute |
Optional |
Custom keys and values that describe the current shopper. Separate information using a semicolon and the pipe "|" character. Example: userAttribute=eye_color:blue;green|hair_color:brown |
userAttributeReplace |
Optional |
Usage is same as userAttribute, except that the attributes sent along with userAttributeReplace will replace all previously sent values for that attribute. Example: userAttributeReplace=eye_color:black In the above example all previous values of eye_color will be removed and replaced with black. If the same attribute is sent along in a single request in userAttribute as well as userAttributeReplace, then the value sent in userAttributeReplace will take precedence. This attribute also supports Delete update against attribute values. Example: userAttribute=eye_color:|hair_color: |
userId |
Optional |
User ID. A unique string to identify each shopper (user). All shopper behavior is stored using this key. It is case-sensitive, and should be the same user ID sent to Algonomy in other applications. Example: userId=0982347 If no userID is given, recommendations are based on view and purchase history (via the recentlyViewed and recentlyPurchased parameters or cookies) as well as unpersonalized strategies such as CategoryBestSellers. |
Sample Request
http://recs.richrelevance.com/rrserver/api/personalize?apiKey=ABCD&apiClientKey=1234&sessionId=sess456&userId=u789&placements=home_page.page_area1&includeRcs=true
Sample Response
{
request: {
apiKey: "abcd09875",
clientKey: "f54ea54cb24",
placements: [
"home_page.promotion_top_01",
"home_page.promotion_top_02",
"home_page.promotion_top_03"
],
sessionId: "null",
userId: "null"
},
rcs: "eF4Ny7ERgDAMA8AmFbuIQ1gO8QbMEZOCgg6YH77_Up7cxaV1DkPPcMhMUGdFrh6xDY8c63S993nM0QJ0mazWZhTxD_ADc7cRDQ",
placements: [
{
creatives: [
{
DESTINATION_URL: "http://recs.richrelevance.com/rrserver/click?a=c6db6e5a99c90d0e&vg=a209885c-4513-4418-0713-f959d6ff5c41&pti=9&pa=promotion_top_01&hpi=11963&rti=2&sgs=&mvtId=-1&mvtTs=1543436683141&uguid=4108b1e3-bc95-4334-4b16-c25997e59ce2&channelId=15937f54ea54cb24&s=&pg=-1&p=content__868&ct=https%3A%2F%2Fwww.verkkokauppa.com%2Ffi%2Fjoulu",
START_TIME: "00:00",
END_TIME: "00:00",
MEDIA_URL: "https://cdn-a.verkkokauppa.com/files/5be3f/39b38/92800/e3f11/d78e.png",
trackingUrl: "N/A",
SIZE: "six-by-one",
campaign: "Joululahjaideat 2018 6x1",
ALT_TEXT: "Joululahjaideat. Tilaa kätevästi netistä",
R_RECOMMEND: "true"
}
],
html: "",
placement: "home_page.promotion_top_01"
}
],
message: "",
status: "ok"
}
Field |
Description |
---|---|
placements |
List of placements with promotions based on the request. This is an array of JSON objects, each describing a single placement.. |
creatives |
A list of the creatives to be displayed. In most cases, this will only be one. Destination URL will be converted for clickTracking purposes and will redirect to the original click through URL |
html |
Fully formed HTML for the placement based on the layout and selected campaign. It is included in the response by default. Turn off by using the excludeHtml request parameter. |
status |
A list of the creatives to be displayed. In most cases, this will only be one. |
errormessage |
Either ‘ok’ or ‘error’. |
request |
The parameters from the request that Algonomy used in processing the request. Typically used for testing purposes. |