RecsForPlacementContext
IMPORTANT: この API は現在、一部のお客様のみに提供されています。使用をご希望の場合は、Algonomy チームにお問い合わせください。
説明
この API を使用すると、複数のプレースメントに対して個別のコンテキストを渡して、単一のリクエストを行うことができます。特定の戦略を強制的に適用したり、属性、カテゴリ、価格のフィルターを適用してレコメンド結果を調整することも可能です。
これにより、1 ページ内に複数のプレースメントを配置し、それぞれが異なるカテゴリに基づくシードを使用することができます。この API は recsForPlacements API と同じパラメーターをすべて受け入れ、コンテキスト情報は POST リクエストのボディに含めて送信されます。
recsForPlacements API と recsForPlacementsContext API の違いは以下の通りです。
>recsForPlacements |
>recsForplacementsContext |
---|---|
GET API 呼び出し |
POST API 呼び出し |
ドキュメント化されたクエリパラメーターを受け入れ |
>recsForPlacements のクエリパラメーター + POST ボディ(プレースメントコンテキスト)を受け入れ |
ペイロード
>名前 |
>必須/任意 |
>説明 |
---|---|---|
attributeConfigs |
任意 |
推奨される商品の条件として満たすべき属性名と値のリスト。 例: [{"attributeName": "color", "attributeValues": ["blue", "red"]}] |
attributeInfo |
任意 |
さまざまな属性に関する情報と、その適用方法を保持します。 |
categorySeed |
任意 |
プレースメントで使用されるシードカテゴリ。 |
enablePartialAttributeMatching |
任意 |
true/false。デフォルトは false。完全一致した商品のみをレスポンスに含めます。 この値を true に設定すると、リクエストで指定した属性フィルターに部分的に一致する商品もレスポンスに含めることができます。商品は一致した属性数に基づいてランク付けされます。複数の属性でフィルターする場合、API はすべてに一致する商品を優先し、プレースメントに一致する商品が足りない場合に部分一致商品を返します。 例: enablePartialAttributeMatching = true Note: 「enable partial attribute matching」オプションは サイト構成 内で有効にしてください。 |
enableStrategyDuplication |
任意 |
デフォルトは false。true に設定すると、同じページ内の複数のプレースメントで同じ戦略を複数回実行できます。 例: enableStrategyDuplication = true |
filterAtr |
任意 |
属性と値のリストを渡します(OR 条件)。 |
filterConfig |
任意 |
指定されたプレースメントに対して、レスポンスの商品に適用されるフィルター。
例: {minPriceFilter: null, maxPriceFilter: 100} |
includeProductsMatchingFilters |
任意 |
true または false。デフォルト値は true。 例: includeProductsMatchingFilters = true
|
placementConfig |
任意 |
このプレースメントに対して個別に上書き可能な構成を含むオブジェクト(現在は 'strategyConfig' のみ対応)。 |
placementContextInfo |
必須 |
各プレースメントの情報を保持するリスト。プレースメント名、実行する戦略、カテゴリシード、各種フィルターなどの情報を含む。 |
placementName |
必須 |
リクエストで指定されたプレースメントの名称。 例:category_page |
productIds |
任意 |
ClickCP などの商品シード戦略で使用される productId のリスト。 例:["12345", "67890"] |
productsMatchAllAttributes |
任意 |
デフォルトは true。true に設定すると、attributeConfigs に指定されたすべての属性を持つ商品のみを保持します。false に設定すると、少なくとも 1 つの属性に一致する商品を保持します。 例:productsMatchAllAttributes = true |
reorder |
任意 |
デフォルトは false。true に設定すると、提供された戦略リストを Algonomy の機械学習アルゴリズム(XO)によって再配置します。false の場合、指定された順番通りに戦略が使用されます。 |
strategyConfig |
任意 |
戦略の構成を上書きするためのオブジェクト。 例:{"strategies": ["BestSellers", "TopRated"]} |
strategies |
任意 |
強制的に実行される戦略のリスト。これらの戦略は、Experience Optimizer(XO)によって選択された戦略や戦略ルールによる優先戦略の前に実行されます。バックフィル戦略を含めることも可能です。指定された戦略で適切なレコメンドが返されない場合、戦略ルールや XO にフォールバックします。 フォールバックの順序:
例:["CategoryTopSellers", "CategoryTopProducts"] |
IMPORTANT: シードが必要なページでは、placementConfig オブジェクト内でシード属性を含める必要があります。たとえば、商品ページやカートページでは productIds 属性を、カテゴリページでは categorySeed 属性を送信する必要があります。
例外
>例外 |
>条件 |
---|---|
>ArgumentNullException |
>message が null の場合。 |
例
例 1
リクエスト例:
http://recs.richrelevance.com/rrserver/apiclick?a=5c84741760900058&vg=c12ab4b2...s=1437007681319&pg=1653&p=36714988&ind=0
ペイロード:
{
"placementContextInfo" : [
{
"placementName" :"item_page.recsmiddle",
"placementConfig" : {
"strategyConfig": {
"strategies" : ["ViewedPurchased","ClickEV", "CategoryTopSellers"],
"reorder" : false
},
"categorySeed" : "electronics",
"filterConfig" : {
"includeProductsMatchingFilters" : false,
"categoryFilters" : ["video"],
"minPriceFilter": null,
"maxPriceFilter" : 5000,
"attributeInfo" : {
"productsMatchAllAttributes" : false,
"attributeConfigs" : [
{
"attributeName" : "prime",
"attributeValues" : ["false"]
},
{
"attributeName" : "Clearance",
"attributeValues" : ["N"]
}
]
}
},
"productIds" : ["15847591"]
}
}
],
"enableStrategyDuplication" : false
}
上記の例では、クライアントは複数のプレースメントオブジェクトを送信できます。
Note: リクエストで渡されるプレースメント名は、POST ボディ内の placementName と一致している必要があります。
この例では、2 つのプレースメントに対してリクエストが送信されています:
-
item_page.recsmiddle
-
item_page.rr1
しかし、POST ボディには 'recsmiddle' のみが定義されています。したがって 'recsmiddle' プレースメントには指定された戦略が強制的に実行されますが、'item_page.rr1' にはデフォルトのパイプラインが使用されます(上書きコンテキストが渡されていないため、強制戦略はありません)。
レスポンス例:
{
"rcs": "eF5j4cotK8lM4TMzsNA11DVkKU32MEkyBAJjM11jYzMzXRNTozRdA0sgYZxiammQaGJmZmaaDABuTQ0O",
"placements": [
{
"htmlElementId": "home_page_0",
"placementType": "home_page",
"strategyMessage": "Shop Top Sellers",
"html": "",
"placement": "home_page.rr1",
"recommendedProducts": [
{
"clickURL": "https://integration.richrelevance.com/rrserver/apiclick?a=showcaseparent&cak=776cdd80331919e7&ct=http%3A%2F%2Flabs.richrelevance.com%2Fstorre%2Fcatalog%2Fproduct%2Fview%2Fsku%2F22127002&vg=4b121136-3366-452f-092f-3d590a46665c&stid=126&pti=9&pa=11339&pos=0&p=22127002&channelId=776cdd80331919e7&s=827ccb0eea8a706c4c34a16891f84e7b&u=12345&mvtId=-1&mvtTs=1529712166361",
"regionPriceDescription": "",
"salePriceRangeCents": [
1,
1
],
"rating": 3.884,
"numReviews": 0,
"priceRangeCents": [
1,
1
],
"categoryIds": [
"Electronics",
"Electronics.Computers",
"Electronics.Computers.Tablet PCs"
],
"clickTrackingURL": "https://integration.richrelevance.com/rrserver/apiclick?a=showcaseparent&cak=776cdd80331919e7&vg=4b121136-3366-452f-092f-3d590a46665c&stid=126&pti=9&pa=11339&pos=0&p=22127002&channelId=776cdd80331919e7&s=827ccb0eea8a706c4c34a16891f84e7b&u=12345&mvtId=-1&mvtTs=1529712166361",
"salePriceCents": 1,
"regionalProductSku": "22127002",
"imageURL": "http://labs.richrelevance.com/storre/media/catalog/product/n/e/nextbook-7quot-tablet-with-8gb-memory-with-google-mobile-services-73fbdb1640b18e99695aa87c7da712f5.jpg",
"name": "\"Nextbook 7\\\" Tablet with 8GB Memory with Google Mobile Services\"",
"genre": "default",
"isRecommendable": true,
"priceCents": 6900,
"attributes": {
"MktplcInd": [
"W"
],
"Clearance": [
"N"
],
"97CentShipping": [
"N"
],
"Rollback": [
"N"
],
"Online": [
"Y"
],
"ListPrice": [
"79"
],
"AddToCart": [
"Y"
],
"IsReducedPrice": [
"N"
],
"IsSubmap": [
"N"
],
"S2S": [
"Y"
]
},
"id": "22127002",
"categories": [
{
"hasChildren": false,
"name": "Electronics",
"childCategories": [],
"ancestorCategories": [],
"id": "Electronics",
"isActive": false
},
{
"hasChildren": false,
"name": "Computers",
"childCategories": [],
"ancestorCategories": [],
"id": "Electronics.Computers",
"isActive": false
},
{
"hasChildren": false,
"name": "Tablet PCs",
"childCategories": [],
"ancestorCategories": [],
"id": "Electronics.Computers.Tablet PCs",
"isActive": false
}
],
"productURL": "http://labs.richrelevance.com/storre/catalog/product/view/sku/22127002",
"brand": "Nextbook"
}
]
}
],
"viewGuid": "4b121136-3366-452f-092f-3d590a46665c",
"status": "ok"
}
例 2
リクエスト例:
http://localhost:8101/rrserver/api/rrPlatform/recsForPlacementsContext?apiClientKey=0503a7f4357b2f36&apiKey=45a98cdf34a56c26&placements=category_page.recsbottom&sessionId=7FzEGpX7iqeNZnWw9hNR6Jegy1kVCh11&rcs=eF4FwbERgCAQBMCEyF7O8eDgoQPb4EFnDMzU-t0Ny_0911yzIphF1labpY0oCWB4xy6fpk7BhxvUzwOmRPSS64gclJcfbskRrQ&l=1&pref=
https://www.build.com/bathroom/c108412&c=976
ペイロード:
[
{
"placementName" :"category_page.recsbottom",
"placementConfig" : {
"strategyConfig": {
"strategies" : [ "CategoryTopProducts","CategoryTopSellers"]
},
"categorySeed" : "889",
"filterConfig" : {
"includeProductsMatchingFilters" : true,
"categoryFilters" : ["889-506438", "508606-516708-508608"],
"minPriceFilter": null,
"maxPriceFilter" : 2000,
"attributeConfigs" : [
{
"attributeName" : "gender",
"attributeValues" : ["female"]
},
{
"attributeName" : "is_savings_constant",
"attributeValues" : ["true"]
}
]
}
}
}
]
例 3
このレスポンスでは、'enablePartialAttributeMatching' が true に設定されており、部分的な属性一致が有効になっていることを示しています。これにより、リクエスト本文で指定された属性フィルターに一部一致する商品も返されます。
リクエスト例:
https://recs.richrelevance.com/rrserver/api/rrPlatform/recsForPlacementsContext?placements=category_page.guided_selling&includeStrategyData=true&excludeItemAttributes=false&excludeHtml=true&categoryData=false&apiClientKey=e720fcd382666696&apiKey=d8baf6848041b078&sessionId=hfws11wljsln&rid=027&excludeItemAttributes=true&rcs=eF4NxbERgCAMBdCGyl3-XRICIRu4BgG5s7BT59fXvLRd731OYtcMtn-xyqUWgTPA6Rn7EdbYV0f4FCiNgK-2oFIiWyZi7R9_cRG9
ペイロード:
{
"placementContextInfo": [
{
"placementName": "category_page.guided_selling",
"placementConfig": {
"strategyConfig": {
"strategies": ["Category - Top Selling"],
"reorder": false
},
"categorySeed": "mens-fleece-sweaters",
"filterConfig": {
"includeProductsMatchingFilters": true,
"enablePartialAttributeMatching": true,
"categoryFilters": [],
"minPriceFilter": null,
"maxPriceFilter": null,
"attributeInfo": {
"productsMatchAllAttributes": true,
"attributeConfigs": [
{
"attributeName": "gender",
"attributeValues": ["Men's"]
},
{
"attributeName": "size",
"attributeValues": ["S","M"]
},
{
"attributeName": "color-family",
"attributeValues": ["black"]
},
{
"attributeName": "best-use",
"attributeValues": ["Multisport", "Fitness"]
}
]
}
},
"productIds": []
}
}
],
"enableStrategyDuplication": false
}
考慮事項
Advanced Merchandising ルールは、Algonomy システム内のすべての戦略(顧客定義戦略または既定の戦略)よりも先に常に実行されます。Advanced Merchandising ルールがプレースメントをターゲットにしており、そのプレースメントがリクエストで指定されていて、ルールがプレースメント要件を満たしている場合、Advanced Merchandising のレコメンドが返され、このコンテキストに基づくリクエストは無視されます。クライアントは、同じプレースメントをターゲットにする Advanced Merchandising ルールが存在しないことを確認する必要があります。