recsForPlacements
説明
このエンドポイントは指定されたプレースメントへレコメンデーションを返し、買物客の行動を記録します。このAPIで返されたレコメンデーションは、リッチレリバンスのダッシュボードで設定された全てのマーチャンダイジング・ルールを遵守します。
URL
本番
このURLを使いクライアントの本番環境からパーソナライゼーションをリクエウストします。
https://recs.richrelevance.com/rrserver/api/rrPlatform/recsForPlacements
インテグレーション
このURLを使いクライアントのQA環境、ステージング環境、開発環境からパーソナライゼーションをリクエストします。この結果、本番環境に影響を及ぼすことなく(マーチャンダイジング・ルールやストラテジー・ルールなどの)変更点をテストできます。
https://integration.richrelevance.com/rrserver/api/rrPlatform/recsForPlacements
パラメーター
注記: 必要なパラメーターだけをコールしてください。リッチレリバンスは多くのアプリケーションやクライアントを同時にサポートするAPIのセットを利用しています。これらのAPIは随時更新および改善されます。
注記: このエンドポイントではクリック・イベントのトラッキングが必要です。詳細については後述のトラッキング・イベントを参照してください。
注記: 全てのパラメーターは大文字小文字を区別します。
パラメーター名 |
必須/ オプション |
説明 |
---|---|---|
aari |
オプション |
レジストリー・アイテムにすでに追加されています。単独(または複数)の商品IDです。レジストリーに複数の商品がある場合は、パイプ「|」で区切ってください。 例: aari=33306|909119|305466 |
apiClientKey |
必須 |
各APIの実装に固有のキーです。レポート、パーミッション、マーチャンダイジング用の特定の実装チャネルの識別子です。このキーは弊社からクライアントに提供されます。 例: apiClientKey=b0126f995ac848159d |
apiKey |
必須 |
サイトを特定する固有のキーです。弊社のクライアントはそれぞれ固有のAPIキーをお持ちです。これによって他のクライアントのデータやトラフィックと区別します。このキーは弊社からクライアントに提供されます。 例: apiKey=4faeaf752ee40a0f |
atcid |
カートに追加ページに必須 |
カートに追加IDです。単一の製品 ID または製品 ID のリストを指定できます。複数の製品をカートに追加する場合は、パイプ文字「|」を使用して製品 ID を区切ります。 例: atcid=uv2345|xt1234 |
attributeList |
オプション |
このパラメーターは、結果に含まれる商品属性情報を指定された属性のリストに限定します。 attributeList は、レスポンスに表示する属性名をカンマ区切りで指定します。 パラメーターが空、またはワイルドカード文字「*」の場合、すべての商品属性がレスポンスに表示されます。 例: "attributeList = gender,color" の場合、商品属性情報には gender と color のみが返されます。 "attributeList=*" すべての商品属性が返されます。 "attributeList=" すべての商品属性が返されます。 Note: リクエストで returnMinimalRecItemData オプションが true に設定されており、最小限の情報が返される場合でも、attributeList オプションが指定されていると、レスポンスにはそのパラメーターで指定された属性も含まれます。 |
bi |
オプション |
このレスポンスではレコメンドしない商品IDのリストです。商品IDはパイプ「|」で区切ってください。 例: bi=93874|04495|043945 |
categoryData |
オプション |
false(偽)に設定されている場合はカテゴリー・データ(カテゴリーID及びカテゴリー)を省略します。既定値はtrue(真)です。 例: categoryData=false Note: excludeAncestor=false を使用すると、先祖データを含めることができます。 |
categoryId |
カテゴリー・ページに必須 |
マーチャントが調査するカテゴリーのIDです。マーチャントがリッチレリバンスに提供しているこのカテゴリーの外部IDと一致している必要があります。 例: categoryId=902312 |
chi |
オプション |
カテゴリー・ヒントIDです。カテゴリー・ヒントは全てのページ・タイプに追加できます。各カテゴリー・ヒントはカテゴリーに付随するマーチャンダイジング・ルールをページで使用できるようにします。マーチャントは一つのペジに複数のカテゴリーを追加できます。パラメータの値は、パイプ「|」文字で区切られた 1 つ以上のカテゴリ ID である必要があります 2 つのカテゴリ ヒントの例: chi=1913000|1903094 |
count |
オプション |
このレスポンスで返される商品の総数です。この値は、プレースメントに設定されたリターン数や検索および閲覧設定より優先されます。たとえば、返す商品数を30〜60とする場合、値を30に設定します。上限値は1000です。 例: count=30 注記: このパラメーターは検索および閲覧専用です。 |
ctp |
オプション |
クリック・スルー・パラメーターです。クリック・スルーURLにパラメーターを追加するために使用されます。 例: ctp=|0:origin=CJ|1:campaign=rr |
cts |
オプション |
クリック・スルー・サーバーです。買物客がレコメンデーションをクリックした際にクリック・スルーURLの部分を変更します。クリックの宛先サーバーを指定します(例: www.buystuff.com、m.buystuff.com)。通常、このパラメーターはユーザーがレコメンデーションをクリックした際も同じ艦橋に留まるよう、開発段階で使用されます。 例: cts=http://test.buystuff.com 注記: ctsパラメーターがAPIリクエウストで提供されている場合、クリック・スルー・サーバーのサイト設定及び/又はフィードで提供されるproductURLのctsを上書きします。 |
currency |
購入完了ページに必須 |
各トランザクションまたは製品リクエストの通貨を表す ISO 通貨コード。 例: currency= USD 注記: 指定しない場合は、デフォルトで米ドル(USD)になります。 |
cv |
任意 |
カート金額。カート金額を対象としたキャンペーンで使用されます。単位はセントで表され、たとえば $10 は 1000 として表されます。
|
excludeAncestor |
任意 |
True/False。false に設定すると、レスポンスの "categories" オブジェクト内の ancestorCategories 配列に祖先データが含まれます。 注:このパラメーターは categoryData パラメーターと併用することを想定しています。 例:excludeAncestor=false 例の JSON レスポンス: コピー
|
excludeHtml |
オプション |
true/false(真偽)値で設定されます。true(真)の場合、リッチレリバンスのサーバー・レスポンスで返されるHTMLを省略します。false(偽)の場合、レスポンスにhtmtフィールドのレイアウトで設定されたプレースメントのHTMLが含まれます。既定値はfalse(偽)です。 例: excludeHtml=true |
excludeItemAttributes |
オプション |
true/false(真偽)値で設定されます。true(真)の場合、レコメンドされる商品データから商品属性を削除します。既定値はfalse(偽)です。 例: excludeItemAttributes=true |
excludeRecItems |
オプション |
true/false(真偽)値で設定されます。true(真)の場合、レコメンドされるアイテムの構造を完全に削除します。レスポンスに対しHTMLが十分な場合には有用です。既定値はfalse(偽)です。 例: excludeRecItems=true |
fdm |
オプション |
強制表示モードです。True/False(真偽)値で設定されます。Trueの場合、このパラメーターによって表示が強制されます。たとえば、リスニング・モード中、商品のバイパス・ログが返されます。 有効な値: trueの場合: 「t」、「on」、「yes」、「true」、「1」、「y」 falseの場合: 「f」、「off」、「no」、「false」、「0」、「n」 |
filbr |
オプション |
ブランド名によるフィルタリングです。既定では、指定されたブランドの商品をレコメンドから排除します。既定の機能を変更する場合は、includeBrandFilteredProductsを参照してください。パイプ「|」でブランド名を区切り、複数のブランド名をフィルタリングできます。 例: filbr=Microsoft|Logitech|Apple |
filcat |
オプション |
フィルターを適用するカテゴリーを指定します。 filcat=<categoryId> 指定されたカテゴリーに基づきフィルターを提供するためには、以下を指定してください: "filcat=<categoryId>&filcatinc=true>" 複数のカテゴリーIDを送る場合はパイプ文字で区切ってください。文字列内の各カテゴリーにはOR条件が適用されます。 |
filcatinc |
オプション |
カテゴリーにフィルターを適用します(fitcatでカテゴリーが指定されている必要があります)。 filcatinc=true: 指定されたカテゴリーの商品のみを表示するよう結果にフィルターを適用 filcatinc=false: 指定されたカテゴリー以外の商品のみを表示するよう結果にフィルターを適用 |
filterAtr |
オプション |
買物客が選択したフィルターのタイプと値です。属性はすべてコーテーション・マーク「' '」で囲い、パイプ「|」で区切ってください。値は、セミコロン「;」で区切ってください。すべての属性をコーテーション・マークで囲う必要があります。 例: filterAtr=color:"Red"|size:"M";"L" 注記: filterAtr はカスタム属性専用です。ブランドでフィルタリングするには、filbr と includeBrandFilteredProducts を使用します。検索および閲覧でのみ使用されるパラメーターです。最初の設定は弊社が行います。 |
flv |
オプション |
ブラウザーのフラッシュ版です。フラッシュでコンテンツを使用する場合のみ使用されます。 例: flv=20.0.0.306 |
fpb |
オプション |
ページ上でブランドを表示します。BrandTopSellersなどのブランドをシードとするストラテジーでシードの設定に使用されます。 例: fpb=Microsoft |
includeBrandFilteredProducts |
オプション |
true/false(真偽)値で設定されます。filbrの機能を排除から含むに変更します。指定されていない場合の既定値はfalse(偽)です。この場合指定されたブランドを排除します。true(真)の場合は、ブランド・フィルターによって指定されたブランド以外のすべての商品が排除されます。 例: includeBrandFilteredProducts=true |
includeMVTData |
オプション |
true/false(真偽)値で設定されます。既定値はfalse(偽)です。true(真)の場合、実行中のすべてのMVTテストの詳細を含めます。 例: includeMVTData=true JSONレスポンスの例: コピー
|
includeMVTDetailedData |
任意 |
True/false。デフォルトは false です。true に設定すると、実行中の多変量テスト(MVT)に関する詳細情報が含まれます。“eligible” 文字列パラメーターは、ユーザーが MVT テストの対象かどうかを定義します。 例:includeMVTDetailedData=true 例の JSON レスポンス: コピー
true に設定すると、「Placement」タイプのテストに対して、レスポンスに "mvtTreatments" セクションが追加され、プレースメントに関連する MVT 詳細が提供されます。 例の JSON レスポンス: コピー
Note: レスポンスには、プレースメントが参加しているトリートメントのみが提供されます。プレースメントテストに複数のプレースメントが含まれている場合、すべてのプレースメントのレスポンスに “mvtTreatment” が含まれます。同一のプレースメントに対して複数のテストが行われている場合、複数のトリートメントがレスポンスに含まれます。 |
includeSkuData |
オプション |
true/false(真偽)値で設定され、既定値はfalse(偽)です。true(真)の場合、SKUフィードで提供され利用可能な全てのSKUデータが返された商品に対し提供されます。 例: includeSkuData=true JSONレスポンスの例: コピー
|
includePriceFilteredProducts |
minPriceFilter及び maxPriceFilterパラメーターがある場合は必須 |
true/false(真偽)値で設定されます。minPriceFilter及びmaxPriceFilterの機能を排除から含めるに変更します。指定されていない場合の既定値はfalse(偽)です。この場合指定された範囲と一致する商品価格を排除します。true(真)の場合は、フィルターによって指定された価格範囲以外のすべての商品が排除されます。 例: includePriceFilteredProducts=true |
includeStrategyData |
オプション |
true/false(真偽)値で設定されます。既定値はfalse(偽)です。true(真)の場合、レスポンスの各プレースメントにはストラテジー名が含まれます。 例: includeStrategyData=true |
ipor |
オプション |
買物客のIPアドレスです。APIリクエストが買物客のデバイス以外から来ている場合のみ使用します(サーバー・サイドのインテグレーションなど)。 例: ipor=255.255.255.255 |
jcb |
jsonpがある 場合は必須 |
JSONデータが渡されるJavasScriptの関数名です。jsonpがtrue(真)に設定されている場合は指定が必要です。 例: jcb=processData |
jsonp |
オプション |
ブール・フラグです。使用できる値はtrue(真)だけです。true(真)に設定されている場合、jcbパラメーターも必要となります。 例: jsonp=true |
lang |
言語 |
言語コードを使用してリクエストされる言語を識別します 例: &lang=sv-SE |
maxPriceFilter |
オプション |
価格範囲のフィルターの上限値です。このフィルターは商品のセール価格と照合するか、またはセール価格が提供されていない場合は定価と照合します。 注記: このパラメータはincludePriceFilteredProductsと併せて使用されていない限り正しく機能しません。 例: maxPriceFilter=10000(1万円) |
minPriceFilter |
オプション |
価格範囲のフィルターの下限値です。このフィルターは商品のセール価格と照合するか、またはセール価格が提供されていない場合は定価と照合します。 注記: このパラメータはincludePriceFilteredProductsと併せて使用されていない限り正しく機能しません。 例: minPriceFilter=500(500円) |
o |
購入完了ページに必須 |
注文IDです。注文の定義の一部です。 例: o=902312 |
pageCount |
オプション |
レスポンスで返す総ページ数です。返される商品の総数は(count * pageCount)、カテゴリー内の商品の総数に依存します。既定値は1です。この機能によりDiscoverのレスポンスのページネーションが可能となりファセット化された検索およびナビゲーション・システムに統合されます。この値を大きくする場合は、以下の追加パラメーターによって商品毎に返されるデータの量を小さくすることをお勧めします: "&excludeHtml=true&excludeItemAttributes=true&returnMinimalRecItemData=true" 例: pageCount=50 注記: このパラメーターはDiscovery専用です。 |
placements |
必須 |
プレースメントIDのリストです。各IDはページ・」タイプとプレースメント名で構成されています。IDはパイプ「|」で区切られます。 プレースメント毎にレコメンデーション1セットを受け取ります。 すべてのプレースメントは同じページ・タイプのものである必要があります。 最初のプレースメントを「最善」のプレースメントとみなし、最善のレコメンデーション・ストラテジーが返されます。 複数のプレースメントがリクエストされている場合は、それぞれが別々のストラテジーと商品を受け取ります。 例: placements=item_page.horizontal|item_page.vertical |
pp |
購入完了ページに必須 |
商品の価格です。購入した商品の価格を定義するリストです。リスト内の商品価格のインデックスはproductidで渡される商品と対応しています。注文定義の一部です。ppまたはppcを使用して購入済みの商品の価格を定義します。ppを使用する場合、サイトの現在の乗数が適用されます。この値はパイプ「|」で区切ってください。 例: pp=29.99|32.97 |
ppc |
購入完了ページに必須 |
商品の価格です。購入した商品の価格を定義するリストです。リスト内の商品価格のインデックスはproductidで渡される商品と対応しています。注文の定義一部です。ppまたはppcを使用して購入済みの商品の価格を定義します。ppcを使用する場合、サイトの現在の乗数は適用されません。 渡された値はそのままの状態で受領され、文字列から整数に変換されます。送信する文字列には数値のみを使用するようにしてください(通貨記号や区切り文字は使用しない)。この値はパイプ「|」で区切ってください。 例: ppc=3980|1980(値はそれぞれ3,980円と1,980円) |
pref |
オプション |
参照ページ URL はすべてのページに表示できます。これは、ページを表示する前の購入者の参照元を示します。レポート作成やマーチャンダイジングの目的で使用されます。強くお勧めします 例: pref=http://www.google.com |
priceRanges |
オプション |
商品が属する価格範囲に基づきフィルターを実行します。商品価格をローカライズしているクライアントには適用されません。価格の範囲はパイプ「|」で区切ってください。 例: priceRanges=0;100|500;1000 注記: このパラメーターは検索および閲覧専用です。 |
privm |
オプション |
true/false。true に設定すると、リクエストに対してプライバシー モードが有効になります。プライバシー モードでは、ユーザー アフィニティ データは無視され、行動データに基づいてパーソナライズなしで推奨事項が生成されます。これにより、推奨事項はユーザーの同意設定を尊重し、追跡を拒否するユーザーの行動データを使用しないことが保証されます。 例: privm=true |
productId |
アイテム、カートに追加、購入完了、カート・ページに必須(空白以外の場合) |
単独のまたは複数の商品IDです。購入完了ページの注文定義の一部です。商品IDはパイプ「|」で区切ってください。 例: productId=uv2345|xt1234 |
q |
購入完了ページに必須 |
商品の数量です。購入した商品の数量を定義するリストです。リスト内の数量のインデックスはproductidで渡される商品のインデックスに対応しています。これは注文定義の一部です。複数ある場合はパイプ「|」で区切ってください。 例: q=2|1 |
rcs |
必須 |
Algonomy Cookie String。これは API リクエストに関連付けられたユーザーの暗号化された Algonomy クッキーです。以前の API レスポンスで受け取った内容をそのまま渡す必要があります。 クライアントは 'rcs' の値を提供されたままの形で保持する必要があります。'rcs' パラメーターは常に英数字で構成されており、大文字・小文字・数字が混在したトークン値です。 Note: 'rcs' パラメーターは、マーチャントが Algonomy プラットフォームに対してユーザーの Algonomy ブラウザークッキーへのアクセスを提供するために、クッキープロキシ(またはクッキーパススルー)として機能することを可能にします。このプロセスでは、マーチャントがユーザーの Algonomy ブラウザークッキーを読み書きし、それをサーバーサイド API を通じて Algonomy に渡したり、受け取ったりします。 |
returnMinimalRecItemData |
オプション |
このパラメーターはrecommendedProducts jsonを4つの属性に限定します(id、productURL、clickURL、clickTrackingURL)。 |
rg |
オプション |
特定のレジストリーの特定に使用されます。 例: rg=Registry123454321 |
rgt |
オプション |
レジストリー・タイプIDです。ご自身のサイトのレジストリー・タイプIDについては弊社までお問い合わせください。 例: rgt=wedding |
rid |
オプション |
リージョンIDです。商品リージョン・フィードで使用されているIDと一致している必要があります。 例: rid=Switzerland-France |
searchTerm |
検索ページに必須 |
買物客が入力した検索ワードです。productIDパラメーターを使用して検索結果内の商品のIDを使用することもできます。 例: searchTerm=adriana lima |
sessionId |
必須 |
買物客の一回の訪問を識別します。セッションは行動モデルで使用され(買物セッション中のユーザー・コードをスコープします)、指標をレポートします。 例: sessionId=93484 |
sgs |
オプション |
ユーザー・セグメントです。セグメントをターゲットとしたキャンペーンで使用されます。segment_number:segment_name形式で各セグメントを記載しパイプ「|」でセグメントを区切ってください。各セグメントのセグメントIDとセグメント名を渡す必要があります。 例: sgs=101:NewUser|202:Male |
st |
オプション |
返される商品数の最初の数です。たとえば、返す商品数を30〜60とする場合、値を30に設定します。 注記: このパラメーターは検索および閲覧専用です。 例: st=30 |
strategySet |
オプション |
キャンペーンのユースケースに応じて返すストラテジー・セットの、優先順位付けされたリストです。詳細については以下に記載されているストラテジー・ファミリーを参照してください。この値がない場合、弊社のレコメンデーション・エンジンはキング・オブ・ザ・ヒル(KOTH)を実行し提供されている情報に基づいて最善のレコメンデーションを提供します。 例: strategySet=SiteWideBestSellers または strategySet=ProductBoughtBought|ProductViewedViewed |
ts |
オプション |
タイムスタンプです。ブラウザーのキャッシュ・バスティングに使用されます。使用することを強く推奨します。除外されるとキャッシュされたレスポンスが返される場合があります。 例: ts=1376676943 |
udd |
オプション |
ダミー・データを使用します。true/false(真偽)値で設定されます。真の場合、テスト用に無作為に商品を返します。 例: udd=t |
userAttribute |
オプション |
現在の買物客を表すカスタム・キー及び値です。情報はセミコロン「;」及びパイプ「|」で区切ってください。 例: userAttribute=eye_color:blue;green|hair_color:brown |
userId |
オプション |
ユーザーIDです。各買物客(ユーザー)を特定する固有の文字列です。買物客の全ての行動は、このキーを使用して保存されます。大文字小文字を区別し、また他のリッチレリバンスの他のアプリケーションで使用されているユーザーIDと一致している必要があります。 例: userId=0982347 |
rfm |
オプション |
レコメンドする商品に特定の属性値があることを確認するために使用されるリファイメント・パラメーターです。各リファイメントはコロンで区切られた名称/値の組合せによって指定されます。 例: rfm=name:value 属性が存在することを確認する場合には、valueを省略することができます。 例: rfm=name 複数のリファイメントを指定する場合は、パイプ「|」区切りのリストで指定してください。 例: rfm=attributeName|attributeName1:value1|attributeName2:value2 詳細についてはリファイメントのセクションを参照してください。 |
rfm_cond |
オプション |
'and' および 'or' の論理演算子を使用して、複数の値に基づいてレコメンドを絞り込みます。値の区切りにはパイプ記号('|')を使用します。 Note: 注: rfm_cond は、rfm が使用されている場合にのみ適用されます。リクエストに 'rfm_cond' パラメーターが含まれていない場合、デフォルトの動作(つまり 'and' ロジック)が適用されます。 例: rfm=attributeName:value1|attributeName2:value2&rfb=false&rfm_cond=or |
rfb |
オプション |
リファイメントのフォールバック(バックアップ)です。リファイメントのカル・デ・サク(行き詰まり)フォールバック動作をコントロールします。 例: rfb=false 既定値はtrue(真)で、レコメンデーションの件数をプレースメントの下限数以下とするリファイメントの値は無効となります。 詳細についてはリファイメントのセクションを参照してください。 |
mvt_ftr |
オプション |
'MVT Force Treatment'(MVT 強制トリートメント)を意味します。トリートメント ID を入力すると、レスポンスは指定されたトリートメントからのものとして強制されます。 |
wlName |
オプション |
アクションが適用されるウィッシュリストの名前です。デフォルトは null です。 |
wlAction |
必須 |
ウィッシュリストに対して実行されるアクションを指定します。値:ADD、VIEW、REMOVE。 |
cvAction |
必須 |
カートで実行されるアクションを示します。このパラメーターは、トラッキングされるカートイベントの種類を指定します。 有効な値は REMOVE です。 |
レスポンスに 'categoryRec' 属性を追加する
ストラテジーがカテゴリを返すように有効化されている場合、そのストラテジーで返された各商品には、レスポンス内に 'categoryRec' 属性が含まれます。
戦略に対して categoryData が True に設定されている場合、その戦略で返される各商品に categoryRec がレスポンスとして含まれます。この属性は、ストラテジー内の商品に対して以下のカテゴリ情報を返します:
-
name
-
id
-
リンクURL
-
画像URL
カテゴリリンク URL およびカテゴリ画像 URL のカテゴリ情報は、フィードで提供することができます。あるいは、リンク URL を URL パターンを使用して構築することもでき、そのパターンはサイト構成で設定できます。
リクエスト例(Recommend)
IDが4845648のユーザーに対し、IDがrr1のホームページのプレースメントをリクエストしています。
GET /rrserver/api/rrPlatform/recsForPlacements?apiKey=showcaseparent&apiClientKey=776cdd80331919e7&userId=48454648&sessionId=827ccb0eea8a706c4c34a16891f84e7b&placements=home_page.rr1
IDが4845648のユーザーに対し、シード商品ID24516217を使い、IDがvertical_railのアイテム・ページのプレースメントをリクエストしています。
GET /rrserver/api/rrPlatform/recsForPlacements?apiKey=showcaseparent&apiClientKey=776cdd80331919e7&userId=48454648&sessionId=827ccb0eea8a706c4c34a16891f84e7b&placements=item_page.vertical_rail&productId=24516217
IDが4845648のユーザーに対し、カートに追加された商品(IDは24516217)を使い、IDがdemo_mobileのカートに追加ページのプレースメントをリクエストしています。
GET /rrserver/api/rrPlatform/recsForPlacements?apiKey=showcaseparent&apiClientKey=776cdd80331919e7&userId=48454648&sessionId=827ccb0eea8a706c4c34a16891f84e7b&placements=add_to_cart_page.demo_mobile&atcid=24516217
IMPORTANT: サーバーサイド実装を行う場合は、リクエストに圧縮ヘッダーを追加することを忘れないでください。これにより、RR サーバーはレスポンスを圧縮でき、ペイロードが小さくなり、応答時間が短縮されます。例:
Accept-Encoding: deflate, gzip
レスポンス例(Recommend)
{
"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
}
],
"categoryRec": {
"name": ,
"linkURL",
"imageURL",
"id":
},
"productURL": "http://labs.richrelevance.com/storre/catalog/product/view/sku/22127002",
"brand": "Nextbook"
}
]
}
],
"viewGuid": "4b121136-3366-452f-092f-3d590a46665c",
"status": "ok"
}
リクエスト例(Discover)
カテゴリー6406で、匿名の買物客(ユーザーID不明)に対し最初のページ(ページ毎に20商品)を表示します。
GET /rrserver/api/rrPlatform/recsForPlacements?apiKey=a6x5029gd6941a22&st=0&count=20&apiClientKey=x3f023fd649003&placements=category_page.richsort&sessionId=27083322340392734752015&userId=&categoryId=6406
カテゴリー6406で、IDが48454648の買物客に対し最初のページ(ページ毎に20商品)を表示します。
GET /rrserver/api/rrPlatform/recsForPlacements?apiKey=a6x5029gd6941a22&st=0&count=20&apiClientKey=x3f023fd649003&placements=category_page.richsort&sessionId=27083322340392734752015&userId=48454648&categoryId=6406
カテゴリー6406で、次の20商品(21〜40番目の商品)を表示します。
GET /rrserver/api/rrPlatform/recsForPlacements?apiKey=a6x5029gd6941a22&st=20&count=20&apiClientKey=x3f023fd649003&placements=category_page.richsort&sessionId=27083322340392734752015&userId=48454648&categoryId=6406
カテゴリー6406で、IDが48454648の買物客に対し最初のページ(ページ毎に20商品)を表示します。「色: 黒」の商品に限定します。
GET /rrserver/api/rrPlatform/recsForPlacements?apiKey=a6x5029gd6941a22&st=20&count=20&apiClientKey=x3f023fd649003&placements=category_page.richsort&sessionId=27083322340392734752015&userId=48454648&categoryId=640&filterAtr=color:black
レスポンス例(Discover)
このレスポンスはJSONオブジェクトであり、買物客に表示する各商品を羅列しています。靴カテゴリーに対し2つの商品を返す例です。
{
"rcs": "eF5j48otK8lM4TGy0DXUNWQpTfZINU80TLG0NNdNtrRM1DUxSk3WNTY3NdI1MjM1MUg1TzI0SzPgKgXqSeYwstBLBAAmHBDP",
"placements": [
{
"htmlElementId": "category_page_0",
"placementType": "category_page",
"strategyMessage": "RichSort",
"html": "",
"placement": "category_page.richsort",
"totalItemCount": 15077,
"recommendedProducts": [
{
"clickURL": "http:\/\/recs.richrelevance.com\/rrserver\/apiclick?a=c3c5705fd6524a22&cak=c157ee7e70470913&ct=http%3A%2F%2Fwww.buystuff.com%2F9736903%2Fproduct.html&vg=2daa1dba-bcb7-4afe-1d65-c5540e7a6f9c&stid=165&pti=4&pa=12306&pn=-1&pos=0&p=9736903&channelId=c157ee7e70470913&s=270833223403927347520",
"regionPriceDescription": "",
"rating": 4.5700001716614,
"numReviews": 28,
"categoryIds": [
"sub22264",
"sub2747"
],
"clickTrackingURL": "http:\/\/recs.richrelevance.com\/rrserver\/apiclick?a=c3c5705fd6524a22&cak=c157ee7e70470913&vg=2daa1dba-bcb7-4afe-1d65-c5540e7a6f9c&stid=165&pti=4&pa=12306&pn=-1&pos=0&p=9736903&channelId=c157ee7e70470913&s=270833223403927347520",
"regionalProductSku": "9736903",
"imageURL": "na",
"name": "Women's Lace-Up Rugged Boots",
"isRecommendable": true,
"priceCents": 1999,
"attributes": {
"size": [
"9"
],
"material": [
"Faux Leather"
],
"color": [
"Brown"
],
"style": [
"Lace-Up Boots"
],
"shoe width": [
"Medium"
]
},
"id": "9736903",
"categories": [
{
"hasChildren": false,
"name": "Boots",
"id": "sub2747"
}
],
"productURL": "http:\/\/www.buystuff.com\/9736903\/product.html",
"brand": "None"
},
{
"clickURL": "http:\/\/recs.richrelevance.com\/rrserver\/apiclick?a=c3c5705fd6524a22&cak=c157ee7e70470913&ct=http%3A%2F%2Fwww.buystuff.com%2F8342906%2Fproduct.html&vg=2daa1dba-bcb7-4afe-1d65-c5540e7a6f9c&stid=165&pti=4&pa=12306&pn=-1&pos=1&p=8342906&channelId=c157ee7e70470913&s=270833223403927347520",
"regionPriceDescription": "",
"rating": 3.7799999713898,
"numReviews": 60,
"categoryIds": [
"sub2747"
],
"clickTrackingURL": "http:\/\/recs.richrelevance.com\/rrserver\/apiclick?a=c3c5705fd6524a22&cak=c157ee7e70470913&vg=2daa1dba-bcb7-4afe-1d65-c5540e7a6f9c&stid=165&pti=4&pa=12306&pn=-1&pos=1&p=8342906&channelId=c157ee7e70470913&s=270833223403927347520",
"regionalProductSku": "8342906",
"imageURL": "na",
"name": "Journee Collection Women's 'Spokane' Regular and Wide-calf Studded Knee-high Riding Boot",
"isRecommendable": true,
"priceCents": 4949,
"attributes": {
"size": [
"5",
"7"
],
"toe shape": [
"Round"
],
"boot height": [
"Knee-High Boots"
],
"heel height": [
"Low Heel"
],
"material": [
"Faux Leather"
],
"footbed": [
"Slightly Padded"
],
"color": [
"Tan"
],
"style": [
"Riding Boots"
],
"shoe width": [
"Medium"
]
},
"id": "8342906",
"categories": [
{
"hasChildren": false,
"name": "Boots",
"id": "sub2747"
}
],
"productURL": "http:\/\/www.buystuff.com\/8342906\/product.html",
"brand": "Journee Collection"
}
]
}
],
"viewGuid": "2daa1dba-bcb7-4afe-1d65-c5540e7a6f9c",
"status": "ok"
}
トラッキング・イベント
このエンドポイントは、コールされた際に自動的にページの閲覧イベントを記録します。また返された各プレースメントのインプレッションも自動的に記録します。たとえば、3つのプレースメントをリクエウストし1つしか返されなかった場合、このエンドポイントは、その返されたプレースメントだけのインプレッションを記録します。
パーソナライゼーション・プレースメントが返された場合、recsForPlacementsはproductURLとクリック・イベント・トラッカーの両方を使用します。ユーザがレコメンドされた商品をクリックした際には、ユーザーを商品詳細ページにリディレクトする前に、その商品のクリック・イベント・トラッカーをコールする必要があります。この結果、弊社システムがビュー及びクリックを確実のトラッキングしCTRデータを正確に入手することができます。このAPIは、以下のURLを使用します。
-
productURLは商品詳細ページへのリンクです。このURLを <a> タグのhref属性として商品ページへのリンクに使用します。
-
clickTrackingURLは、ユーザーを商品詳細ページにリディレクトすることなく商品のクリックをトラッキングします。SEOのため、このURLをproductURLと合わせて使用しクリック・イベント・リスナーを通じてclickTrackingURLへのリクエストをトリガーすることができます。
-
clickURLは商品のクリックをトラッキングしユーザーをHTTP 302リディレクトを介して商品詳細ページにリディレクトします。
クリックのトラッキングには以下のいずれかの方法を使用してください。
-
clickURLを使用し、クリックを自動的にトラッキングしユーザーを商品詳細ページにリディレクトするclickURLを使用する。
-
最終的なURLとしてproductURLを使用し、イベント・リスナーによってclickTrackingURLへのリクストをトリガーする。SEOの最適化を行う場合には、この方法をお勧めします。
パーソナライズされた商品レコメンデーションを表示するためには、以下のようなロジックが必要です。
$('#personalization').on('click', 'a', function() {
var targetURL = $(this).data('clickTrackingURL');
var img = new Image();
img.src = targetURL;
});
var recsForPlacementsURL = 'https://recs.richrelevance.com/rrserver/api/rrPlatform/recsForPlacements?apiKey=a6x5029gd6941a22&apiClientKey=x3f023fd649003&placements=home_page.recommend&sessionId=27083322340392734752015'
$.getJSON(recsForPlacementsUrl, function(r) {
if (!(r.placements && $.isArray(r.placements))) {
return false;
}
var placementElement = $('#personalization');
var products = r.placements[0].recommendedProducts;
for (var i in products) {
var product = $('<a>')
.attr('href', products[i].productURL)
.data('clickTrackingURL', products[i].clickTrackingURL)
.text(products[i].name)
.appendTo(placementElement);
}
});
この結果、以下のようなHTML構造が作成され、ユーザーを商品詳細ページにリディレクトする前にクリック・イベントがトリガーされます。
<!-- The href value is productURL from a recsForPlacements response -->
<div id="personalization">
<a href="/product/1">Product 1</a>
<a href="/product/2">Product 2</a>
<a href="/product/3">Product 3</a>
<a href="/product/4">Product 4</a>
<a href="/product/5">Product 5</a>
</div>
テスト
クリック・イベントの統合テストを実施する場合は、ウェブ・プロキシ又はお使いのブラウザーの開発ツールを使用してネットワーク・リクエストをモニタリンしてください。以下のよなリクエストを確認できます。
http://recs.richrelevance.com/rrserver/apiclick?a=5c84741760900058&vg=c12ab4b2...s=1437007681319&pg=1653&p=36714988&ind=0
このリクエストには200のステータス・コードと空のレスポンス本体があるはずです。
重要: このリクエストがない場合はページが記録を取っていません。クリック・データを弊社に送るため必ずクリックを記録してください。クリックの記録がないとパーソナライゼーションのパフォーマンスに悪影響が及びます。