Skip to main content
RichRelevance

コンテンツ・アップデートAPI

コンテンツ・カタログに変更が生じた際、コンテンツ・アップデートAPIを使いコンテンツ・アップデート・リクエストを送信することができます。本番環境に使用されているコンテンツ・カタログは即座に又は直接更新されるわけではありません。更新内容は、クライアントのカタログ・モデルの構築と展開に要する時間に基づき決められたスケジュールに従って本番環境に展開されます。

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

コンテンツ・アップデートAPIを最初からい使用する、またはコンテンツ・アップデートAPIを使用して変更適用のテストを行う場合は、ステージング環境のAPIのインスタンスにリクエストを送信してください。以下のベースURLを使用します:

https://staging-gateway.richrelevance.com/contentupdate/v1

その後、本番環境にリクエストを送信する際にはベースURLの「staging-」を削除してください。

https://gateway.richrelevance.com/contentupdate/v1

このURLのエンドポイントを変えることで、以下を実行することができます。

  • {baseUrl}/oauth2/token : その他のエンドポイントの承認とコール
  • {baseUrl} : コンテンツの作成と更新

セキュリティについて

POST {baseUrl}/oath2/token

コンテンツ・アップデートAPIはクライアントの認証にOAuth2 Client Credentials Grant Typeを使用しています。Oauth 2の本人証明(client_id及びclient_secret)の取得については弊社担当者までお問い合わせください。client_secretは安全に保管してください。絶対に他者と共有せず、HTTPSでのみ使用してください。

提供されたクライアン証明書を使用して認証を行い、Authorization Bearer Tokenをリクエストしてください。他のエンドポイントへのアクセスを可能にするトークンを得るためには/oauth2/tokenエンドポイントを最初にコールしてください。弊社サイドからはclient_idとclient_secretを使用して送られます。このAPIからのレスポンスにはクライアントのトークンが含まれます。このトークンはマニュアルで無効にしない限り有効です。レスポンスはJSONとして提供されます。

コンテンツAPIへのすべてのリクエストでは、「Authorization: bearer MY_TOKEN」が送られます。トークンの有効期限が切れた場合は、client_idとclient_securityを使用して新しいトークンを再取得してください。

リクエストの凡例
名称 必須 / オプション 説明
grant_type 必須(文字列) アクセス用のトークン・タイプです。常にclient_credentialsです。
client_id 必須(文字列) クライアントのIDです。
client_secret 必須(文字列)

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

例: clientSecret=wbhz6c41

正しいレスポンス
{
"token_type": "bearer",
"access_token": "AABBCCDD"
}
エラー・レスポンス
{
"error_description": "Invalid client authentication",
"error": "invalid_client"
}
{
"error_description": "Invalid grant_type",
"error": "unsupported_grant_type"
}

コンテンツ・アップデート

コンテンツ・パラメーターの更新

カタログ内のコンテンツの更新にはPUTとPATCHの両方を使用できます。

PUT {baseUrl}

PATCH {baseUrl}

PUT: 新しいコンテンツ群をコンテンツ・カタログに挿入するか、又はカタログ内のIDが一致するコンテンツを全て入れ替えます。PUTを使用してコンテンツを更新すると、PUTに含まれていないプロパティやオーバーライドはコンテンツから削除されるか、既定値にリセットされます。

PATCH: コンテンツのプロパティを更新します。ここに含まれないプロパティは変更されません。更新したいプロパティだけを入れてください。

リクエストの凡例

注記: プロパティ名はすべて大文字小文字を区別します。

名称 必須 / オプション 入力 説明
id 必須 文字列
文字数制限: 100

一意のIDを使用してください。

注記: スラッシュ「/」はContentIDフィールドでは使用できません。

name オプション 文字列 - 既定値: "{id}"
文字数制限: 255

サイト上のレコメンデーションや弊社ダッシュボードに表示されるコンテンツの名称です。

文字数は255に制限されています。すでにシステムにコンテンツが存在し、なおかつこの項目が抜けている場合、名称は更新されません。

tags オプション 文字配列

コンテンツを説明する文字列の一覧です。

タグに使用できる文字数は100文字までです。それより長い文字数は101字目以降はすべて無視されます。コンテンツに付けられるタグの数量には理論上制限がありませんが、弊社では20件程度を推奨しています。

rating オプション 数値

このコンテンツの評価です(クライアントが指定)。通常は買物客の評価/レビューの平均を収集して生成されます。

start_date オプション date-only
既定値: 本日の日付

該当する場合のみ表示します。値が指定されていない場合は任意の日付を表示します。形式はyyyy-mm-ddです。既定値は本日の日付です。

end_date オプション date-only

このコンテンツの有効期限です。有効期限後は、このコンテンツの表示を停止します。指定がない場合は無期限で表示されます。形式はyyyy-mm-ddです。

{property_name} 必須
(PATCHではオプション)
文字配列

コンテンツの属性は、コンテンツのレンダリングに必要な変数を指定するためのものです。画像URLやランディング・ページのURL等は属性として送信する必要があります。各コンテンツにはサイトでのレンダリングが可能となるよう少なくとも1つの属性が必要です。属性が全くない場合、そのコンテンツはシステムに保存されません。

リクエスト例
PUT
[{
"id": "123",
"name": "Fall Fashion",
"tags": ["fall", "fashion", "sale"],
"rating": "4.0",
"start_date": 2016-08-28,
"end_date": 2016-11-28,
"image_url": ["http://my.cdn.com/path/to/my/image/123.jpg"],
"click_thru": ["http://my.domain.com/path/to/my/cont.../page/123.html"],
"size": ["100"]
},
{
"id": "124",
"name": "Free Shipping",
"tags": ["shipping", "checkout"],
"rating": "3.5",
"start_date": 2016-07-28,
"image_url": ["http://my.cdn.com/path/to/my/image/123.jpg"],
"click_thru": ["http://my.domain.com/path/to/my/cont.../page/123.html"],
"color": ["blue"]
}]

 

PATCH

 

[{
"id": "123",
"tags": ["fall", "fashion", "sale", "limited"]
},
{
"id": "124",
"rating": 3.4,
"click_thru": ["http://my.domain.com/path/to/my/cont...ge/123_v2.html"]
}]

カタログ・アップデート・リクエストへのレスポンス

リクエストの処理:

{
"trackingId": "YOUR_TRACKING_ID"
}

お使いのoath 2トークンが無効または期限切れの場合:

{
"error_description": "The access token is invalid or has expired",
"error": "invalid_token"
}

jsonに誤りがある場合:

{
  "code": 500,
  "details": "{meaningful parsing exception}",
  "message": "Internal Server Error",
  "status": "error"
}

jsonにエレメントのIDがない場合:

{
  "code": 400,
  "details": "{}",
  "message": "Bad Request",
  "status": "error"
} 
  • Was this article helpful?