Skip to main content
RichRelevance

service/userProfileEventStream

重要: 必要なパラメーターのみコールしてください。弊社は、多くのアプリケーションやクライアントを同時にサポートするAPIのセットを使用しています。これらのAPIは随時更新または改善される場合があります。 

wss://streams.richrelevance.com/upsevents/api/v2/service/UserProfileStream

URLが正しく機能するためにはAPIキートパラメータが必要です。URLリスエストの例については以下を参照してください。

説明: UPS(User Profile Service)にストリーミングされるすべてのイベントを受け取るためのウェブ・ソケット・インターフェースです。接続時にはUPSに送られるイベント毎に1件のメッセージを受信します。

パラメーター

注記: パラメーターはすべて大文字小文字を区別します。

名称 必須 / オプション 説明
apiKey 必須

サイトを特定する固有のキーです。弊社のクライアントはそれぞれ固有のAPIキーをお持ちです。これによって他のクライアントのデータやトラフィックと区別します。このキーは弊社からクライアントに提供されます。

例: apiKey=4faeaf752ee40a0f

apiClientKey

必須

各APIの実装に固有のキーです。レポート、パーミッション、マーチャンダイジング用の特定の実装チャネルの識別子です。このキーは弊社からクライアントに提供されます。

例: apiClientKey=b0126f995ac848159d

clientSecret 必須

パートナーに代わりクライアントのアプリケーションを認証する一意のキーです。

例: clientSecret=wbhz6c41

クライアントAPIキー及びシークレット

クライアント・キーやクライアント・シークレットを作成する際には、弊社担当者までお問い合わせください。clientApiKeyはclientSecretはclientApiKeyに対する特定の値でダッシュボードから確認できますが、Eメールか電話でお知らせします。

client_secretは安全に保管してください。絶対に他者と共有せず、HTTPSでのみ使用してください。

サンプル・コード

以下は、イベント・ストリームを接続し表示するための簡単なHTMLとJavaScriptのサンプル・コートです。他のウェブ・ソケットJavaScriptライブラリも使用できます。

例で使用されているApiKey、clientApiKey、clientSecretは実際のキーではありません。使用する際には実際の値と入れ替えてください。

<!DOCTYPE html>
<meta charset="utf-8" />
<title>WebSocket Test</title>
<script language="javascript" type="text/javascript">
var wsUri = "wss://streams.richrelevance.com/upsevents/api/v2/service/UserProfileStream/4faeaf752ee40a0f?clientApiKey=b0126f995ac848159d&clientSecret=wbhz6c41";
 
var output;
 
function init() {
output = document.getElementById("output");
testWebSocket();
}
 
function testWebSocket() {
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) {
onOpen(evt)
};
websocket.onclose = function(evt) {
onClose(evt)
};
websocket.onmessage = function(evt) {
onMessage(evt)
};
websocket.onerror = function(evt) {
onError(evt)
};
}
 
function onOpen(evt) {
writeToScreen("CONNECTED");
}
 
function onClose(evt) {
writeToScreen("DISCONNECTED");
}
 
function onMessage(evt) {
 
var str = evt.data;
writeToScreen('<span style="color: blue;">RESPONSE: ' + str + '</span>');
}
 
function onError(evt) {
var str = evt.data;
writeToScreen('<span style="color: red;">ERROR:</span> ' + str);
}
 
function doSend(message) {
writeToScreen("SENT: " + message);
websocket.send(message);
}
 
function writeToScreen(message) {
var pre = document.createElement("p");
pre.style.wordWrap = "break-word";
pre.innerHTML = message;
 
output.insertBefore(pre, output.firstChild);
}
 
window.addEventListener("load", init, false);
</script>
<h2>WebSocket Test</h2>
<div id="output"></div>

 

リクエスト例

wss://streams.richrelevance.com/upsevents/api/v2/service/UserProfileStream/4faeaf752ee40a0f?clientApiKey=b0126f995ac848159d&clientSecret=wbhz6c41

User Profile Serviceへのイベント・ストリーミング毎に一つのメッセージを返します。
ApiKey = 4faeaf752ee40a0f
clientApiKey = b0126f995ac848159d
clientSecret = wbhz6c41

 

レスポンス例

レスポンスはイベントのストリームです。簡潔にするためイベントを2つにしました。

{
  "apiKey":"4faeaf752ee40a0f ",
  "userId":"3280816",
  "sessionId":"a40fa0ce-f3d1-49c9-94f2-24f676070c02",
  "rrUserId":"1a76f643-9dbb-4fed-9080-a35325605c51",
  "eventType":"itemView",
  "viewedItem":"132926",
  "eventTime":1428681303249
}
{
  "apiKey":"4faeaf752ee40a0f ",
  "userId":"",
  "sessionId":"c0781430-a5a7-4cab-9122-763e8cb18ac0",
  "rrUserId":"2a045a50-1d92-4326-eca0-905328ff0440",
  "eventType":"referredFromSite",
  "referrerUrl":"https://www.google.com/",
  "eventTime":1428681305798
}

 

イベント・タイプ

受け取ったレスポンスはUPS内の様々なフィールドと一致するイベントでです。詳細については後述します。各イベントはJSONドキュメントでありイベントのタイプを記述するeventTypeフィールドが含まれています。

オブジェクト内の他のフィールドはすべてのイベント・タイプ間で共有うされます。一般的なフィールドは以下の通りです。

  • apiKey: お使いのAPIキーです。
  • userId: イベントを作成するユーザー・アクションのユーザーIDです。
  • sessionId: イベントを作成するユーザー・アクションのセッションIDです。
  • rrUserId: イベントを作成するユーザー・アクションのリッチレリバンスが使用するユーザーIDです。すべてのイベントにrrUserIdがあるわけではありません。
  • eventType: イベントのタイプの説明です。
  • eventTime: イベントの時刻をミリ秒単位で表したものです。UTC(協定世界時)が使用されます。

各イベント・タイプの例を以下に示します。

BrandView:当該ユーザーが閲覧したブランド・ページです。ブランドはviewedBrandフィールドに記載されます。

{
"apiKey" : "123",
"userId" : "user1",
"sessionId" : "sess1",
"rrUserId" : "rr7",
"eventType" : "brandView",
"viewedBrand" : "brand1",
"eventTime" : 1428614744057
}

CategoryView:
当該ユーザーが閲覧したカテゴリー・ページです。カテゴリーIDはviewedCategoryフィールドに記載されます。

{
"apiKey" : "123",
"userId" : "user1",
"sessionId" : "sess1",
"rrUserId" : "rr7",
"eventType" : "categoryView",
"viewedCategory" : "cat123",
"eventTime" : 1428614744057
}

ItemClick:
当該ユーザーがクリックしたレコメンド商品です。商品IDはclickProductidフィールドに記載されます。

{
"apiKey" : "123",
"userId" : "user1",
"sessionId" : "sess1",
"rrUserId" : "rr7",
"eventType" : "itemClick",
"eventTime" : 1428614744057,
"clickProductId" : "item123"
}

AddToCart:
当該ユーザーがカートに追加した商品です。商品情報はaddedToCartItemsフィールドに記載されます。このフィールドにはアイテム毎の配列が含まれます。各アイテムには1件の商品、その数量、価格が記載されます。

{
"apiKey" : "123",
"userId" : "user1",
"sessionId" : "sess1",
"rrUserId" : "rr7",
"eventType" : "addedToCart",
"addedToCartItems" : [ {
                        "itemId" : "item123",
                        "priceCents" : 1099,
                        "quantity" : 1
                       },
                       {
                        "itemId" : "item456",
                        "priceCents" : 2399,
                        "quantity" : 2
                        } ],
"eventTime" : 1428614744057
}

Purchase:
当該ユーザーが購入した商品です。商品情報はordersフィールドに記載されます。このフィールドにはアイテム毎の配列が含まれます。各アイテムには1件の商品、その数量、価格が記載されます。

{
"apiKey" : "123",
"userId" : "user1",
"sessionId" : "sess1",
"rrUserId" : "rr7",
"eventType" : "order",
"orders" : [ {
              "itemId" : "item123",
              "priceCents" : 1099,
              "quantity" : 1
             },
             {
              "itemId" : "item456",
              "priceCents" : 2399,
              "quantity" : 2
             } ],
"eventTime" : 1428614744057
}

Search:
当該ユーザーが実行した検索です。searchTermフィールドにはユーザーが検索した文字列が記載されます。

{
"apiKey" : "123",
"userId" : "user1",
"sessionId" : "sess1",
"rrUserId" : "rr7",
"eventType" : "search",
"searchTerm" : "where is it",
"eventTime" : 1428614744057
}

Opt Out:
ユーザーが実行したオプトアウトまたはオプトインです。enableOptOutフィールドには、オプトアウトの場合はtrue、オプトインの場合にはfalseが記載されます。

{
"apiKey" : "123",
"userId" : "user1",
"sessionId" : "sess1",
"rrUserId" : "rr7",
"eventType" : "search",
"enableOptOut" : true,
"eventTime" : 1428614744057
}

 

  • Was this article helpful?