Ensemble AI Client API

Description

This endpoint returns for ensembles (outfits/collections) for a given seed product.

URL

Production

Use this URL to request ensembles from your production environment.

Copy
https://recs.richrelevance.com/rrserver/api/rrPlatform/ensembleAIRecs

Integration

Use this URL to request personalization from your QA, staging or development environment. This way, you can test changes without impacting your production environment.

Copy
https://integration.richrelevance.com/rrserver/api/rrPlatform/ensembleAIRecs

Parameters

Note: 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.

Note: All parameters are case sensitive.

Name Required/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

seed

Required

This should be a single product ID.

Example: seed= 345234

styleId

Optional

The style id is a unique identifier associated with a style created by Merchandiser in Ensemble AI UI.

includeDisabledStyles

Optional

true (or) false

Styles can be enabled or disabled once created. If this parameter is passed as true, then the API will respond with ensembles/outfits for disabled styles as well. If this parameter is not passed (or) passed as false, the outfits will be shown only from the styles that are enabled.

userId

Required when available

 

User ID. A unique string to identify each customer (user). All customer 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

sessionId

Required

Identifies a single visit by a customer.  Sessions are used by behavioral models (to scope user behavior in a shopping session) and reporting metrics.

Example: sessionId=93484

 

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.

 

rid

Optional

Region ID. Must be consistent with the ID used in the product region feed.

Example: rid=Switzerland-France

 

Sample Requests

Get all ensembles across all styles that are enabled for a given seed product:

Copy
https://recs.richrelevance.com/rrserver/api/rrPlatform/ensembleAIRecs?apiKey=XXXXXXX&apiClientKey=YYYYY&seed=123423&userId=64545454

Get all ensembles for a specific style for a given seed product:

Copy
https://recs.richrelevance.com/rrserver/api/rrPlatform/ensembleAIRecs?apiKey=XXXXXXX&apiClientKey=YYYYY&seed=123423&userId=64545454&styleId=98080934

Get all ensembles across all styles (both enabled & disabled) for a given seed product:

Copy
https://recs.richrelevance.com/rrserver/api/rrPlatform/ensembleAIRecs?apiKey=XXXXXXX&apiClientKey=YYYYY&seed=123423&userId=64545454&styleId=98080934&includeDisabledStyles=true

Sample Response

Copy
"recommendedOutfits": [
    {
      "styleId": 456456456,
      "parts": [
        {
          "product": {
            "clickUrl": "https://xxx.com/yyserver/apiclick?a=dbc88fd3561a8ee1&cak=bece98fc549252f3&channelId=bece98fc549252f3&ct=https%3A%2F%2Fwww.xxx.com%2Fshop%2Fus%2Fp%2Foff-the-shoulder-poplin-set-top-54225333%3Fseq%3D04&vg=11d7e6e7-bd72-41d4-c985-656401c27a2e&stid=-1&pti=0&pa=-1&pos=1&p=MIC_140-3299-1512-100&style=1688678540&srcstr=composite_outfit&outfit=250317941078%7C309480036792%7C315780263701%7C315780266360",
            "salePriceCents": 2499,
            "clickTrackingUrl": "https://xxx.com/yyserver/apiclick?a=dbc88fd3561a8ee1&cak=bece98fc549252f3&channelId=bece98fc549252f3&vg=11d7e6e7-bd72-41d4-c985-656401c27a2e&stid=-1&pti=0&pa=-1&pos=1&p=MIC_140-3299-1512-100&style=1688678540&srcstr=composite_outfit&outfit=250317941078%7C309480036792%7C315780263701%7C315780266360",
            "prodUrl": "https://www.xxxx.com/shop/us/p/off-the-shoulder-poplin-set-top-54225333?seq=04",
            "imageUrl": "https://img.xxx.com/is/image/abc/456_456_456_465_prod1",
            "prodName": "Off-The-Shoulder Poplin Set Top",
            "priceCents": 4000,
            "prodId": "456_456_456_465",
            "brand": "abc"
          },
          "partId": 1
        },
        {
          "product": {
            "clickUrl": "https://xxx.com/rrserver/apiclick?a=dbc88fd3561a8ee1&cak=bece98fc549252f3&channelId=bece98fc549252f3&ct=https%3A%2F%2Fwww.xxx.com%2Fshop%2Fus%2Fp%2Fcropped-denim-trucker-jacket-55095828%3Fseq%3D04&vg=11d7e6e7-bd72-41d4-c985-656401c27a2e&stid=-1&pti=0&pa=-1&pos=2&p=456_456_456_465&style=1688678540&srcstr=composite_outfit&outfit=250317941078%7C309480036792%7C315780263701%7C315780266360",
            "salePriceCents": 9000,
            "clickTrackingUrl": "https://xxx.com/yyserver/apiclick?a=dbc88fd3561a8ee1&cak=bece98fc549252f3&channelId=bece98fc549252f3&vg=11d7e6e7-bd72-41d4-c985-656401c27a2e&stid=-1&pti=0&pa=-1&pos=2&p=MIC_144-4083-0112-107&style=1688678540&srcstr=composite_outfit&outfit=250317941078%7C309480036792%7C315780263701%7C315780266360",
            "prodUrl": "https://www.xxx.com/shop/us/p/cropped-denim-trucker-jacket-55095828?seq=04",
            "imageUrl": "https://img.xxx.com/is/image/abc/456_456_456_456_prod1",
            "prodName": "Cropped Denim Trucker Jacket",
            "priceCents": 9000,
            "prodId": "456_456_456_456",
            "brand": "abc"
          },
          "partId": 2
        },
        {
          "product": {
            "clickUrl": "https://xxx.com/yyserver/apiclick?a=dbc88fd3561a8ee1&cak=bece98fc549252f3&channelId=bece98fc549252f3&ct=https%3A%2F%2Fwww.xxx.com%2Fshop%2Fus%2Fp%2Fcurve-love-mid-rise-90s-straight-jean-56240907&vg=11d7e6e7-bd72-41d4-c985-656401c27a2e&stid=-1&pti=0&pa=-1&pos=3&p=456_456_456_456&style=1688678540&srcstr=composite_outfit&outfit=250317941078%7C309480036792%7C315780263701%7C315780266360",
            "salePriceCents": 9000,
            "clickTrackingUrl": "https://recs.richrelevance.com/rrserver/apiclick?a=dbc88fd3561a8ee1&cak=bece98fc549252f3&channelId=bece98fc549252f3&vg=11d7e6e7-bd72-41d4-c985-656401c27a2e&stid=-1&pti=0&pa=-1&pos=3&p=456_456_456_456 175&style=1688678540&srcstr=composite_outfit&outfit=250317941078%7C309480036792%7C315780263701%7C315780266360",
            "prodUrl": "https://www.xxx.com/shop/us/p/curve-love-mid-rise-90s-straight-jean-56240907",
            "imageUrl": "https://img.xxx.com/is/image/abc/456_456_456_456_prod1",
            "prodName": "Curve Love Mid Rise 90s Straight Jean",
            "priceCents": 9000,
            "prodId": "456_456_456_456",
            "brand": "abc"
          },
          "partId": 3
        },
        {
          "product": {
            "clickUrl": "https://xxx.com/yyserver/apiclick?a=dbc88fd3561a8ee1&cak=bece98fc549252f3&channelId=bece98fc549252f3&ct=https%3A%2F%2Fwww.xxx.com%2Fshop%2Fus%2Fp%2Fstraw-platform-heels-53488822%3Fseq%3D02&vg=11d7e6e7-bd72-41d4-c985-656401c27a2e&stid=-1&pti=0&pa=-1&pos=4&p=456_456_456_456&style=1688678540&srcstr=composite_outfit&outfit=250317941078%7C309480036792%7C315780263701%7C315780266360",
            "salePriceCents": 8000,
            "clickTrackingUrl": "https://xxx.com/rrserver/apiclick?a=dbc88fd3561a8ee1&cak=bece98fc549252f3&channelId=bece98fc549252f3&vg=11d7e6e7-bd72-41d4-c985-656401c27a2e&stid=-1&pti=0&pa=-1&pos=4&p=456_456_456_456 800&style=1688678540&srcstr=composite_outfit&outfit=250317941078%7C309480036792%7C315780263701%7C315780266360",
            "prodUrl": "https://www.xxx.com/shop/us/p/straw-platform-heels-53488822?seq=02",
            "imageUrl": "https://img.xxx.com/is/image/abc/456_456_456_456_prod1",
            "prodName": "Straw Platform Heels",
            "priceCents": 8000,
            "prodId": "456_456_456_456",
            "brand": "abc"
          },
          "partId": 4
        }
      ],
      "styleName": "Business Casual"
    },

Sample Parameters

Name

Description

recommendedOutfits

All the outfits/ensembles for the given seed product

styleId

The style id is a unique identifier associated with a style created by Merchandiser in Ensemble AI UI.

parts

Returns that number of parts associated with the ensemble/outfit

clickURL

Click URL for the product

salePriceCents

Sale price of the product

clickTrackingURL

Tracking the product click

prodUrl

URL of the product on client website

imageUrl

URL of the product Image

prodName

Name of the product

priceCents

Price of the product

prodId

External Id of the product

brand

Brand of the product

partId

Which part this product belong to in the outfit. This is based on the style definition and this will be helpful to design appropriate layout for the outfit.

Tracking Events

When the user clicks on a product from an ensemble, you are required to call a click event tracker for that product before redirecting the user to the product detail page or quick view page. This is to ensure Algonomy can track the click along with the views, so that our products can accurately capture CTR data. This API will expose the following URLs:

  • productURL is the direct URL to the Product Detail Page. Use this URL to link to the product page, likely as the href attribute of an <a> tag.

  • clickTrackingURL tracks a product click without redirecting the user to the Product Detail Page. For SEO purposes, you can use this URL together with productURL and trigger a request to clickTrackingURL via a click event listener.

  • clickURL tracks a product click and redirects the user to the Product Detail Page via an HTTP 301 redirect.

To successfully track clicks, use one of the following options:

  • Use clickURL which automatically tracks a product click and redirects the user to the Product Detail Page, or

  • Use productURL as the final URL, and trigger a request to clickTrackingURL via an event listener. This is the suggested approach when SEO optimization is involved.