コンテンツ・アップデート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 | 必須(文字列) |
正しいレスポンス
{ "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 |
|
name | オプション | 文字列 - 既定値: "{id}" 文字数制限: 255 |
|
tags | オプション | 文字配列 | |
rating | オプション | 数値 | |
start_date | オプション | date-only 既定値: 本日の日付 |
|
end_date | オプション | date-only | |
{property_name} | 必須 (PATCHではオプション) |
文字配列 |
リクエスト例
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" }