We’ve migrated our documentation to a new site, which means some URLs have changed.
Audience

Contentコンフィグレーションプレースホルダー

content configuration にてプレースホルダを作ることができます。
プレースホルダは content request  で指定された値に置換されるか、置換できなかった場合はプレースホルダで指定されたデフォルト値に置き換えられます。
プレースホルダを用いる際のシンタックスは以下の通りです。

{<source>:<key>|<default>}

プレースホルダの設定

プレースホルダは content configuration にて設定されます。プレースホルダの設定項目は以下の通りです。

Name

Description

Source

Source フィールドは <key> によってもたらされ、値を見つけます。例えば パラメータ
Source は こちら にリストされたプレースホルダのどれかと一致しなければなりません。

Key

Key フィールドでは 置換に使う <key> を定義します。例えば、プレースホルダは widget configuration の <key> で設定した値と置換されます。
Key は 大文字小文字の英数字(-,a-z, A-Z または 0-9)のみで指定しなければなりません。

Default

<default>の値は <source>:<key> に何かしらの理由で値が取得できなかった時に使われます。指定された <key> が見つからないことが原因です。
記号の { } ) : | はデフォルトでは表示されません。

Value

Value は <key> または デフォルト値で設定されます。

プレースホルダ

プレースホルダにはいくつかのタイプがあります。

現在サポートされているプレースホルダは以下の通りです。

  • Context パラメータ

  • User profile

  • Content profile

  • Location

context パラメータ

Source パラメータを使用する際に、プレースホルダは widget data リクエストの context オブジェクトにある キー/値 として付与されたパラメータに置き換わります。リクエストの context でパラメータを指定するシンタックスは以下の通りです。

"parameters": [{"key":"key1", "value":"somevalue"},{"key":"key2", "value":"somevalue"}]


<script type="text/javascript">
    var cX = cX || {}; cX.callQueue = cX.callQueue || [];
    cX.callQueue.push(['insertWidget', {
        widgetId: '3141592653589793',
        insertBeforeElementId: 'cx_3141592653589793',
        width: 600, height: 400, renderTemplateUrl: 'auto'
    },
    { context: { "parameters": [{"key":"key1", "value":"somevalue"},{"key":"key2", "value":"somevalue"}] } }
    ]);
 
    // Async load of cx.js
    (function(d,s,e,t){e=d.createElement(s);e.type='text/java'+s;e.async='async';
    e.src='http'+('https:'===location.protocol?'s://s':'://')+'cdn.cxense.com/cx.js';
    t=d.getElementsByTagName(s)[0];t.parentNode.insertBefore(e,t);})(document,'script');
</script>


User profile

Source に user を使用する際に、プレースホルダは User profiles から値を置換します。プレースホルダはプレースホルダの key で付与されたユーザープロファイルの group 内で最も高く重み付けされた item に置換します。

Content profile

Source に content を使用する際に、プレースホルダは Content profiles から値を置換します。プレースホルダはプレースホルダの key で付与されたコンテンツプロファイルの group 内で最も高く重み付けされた item に置換します。

Location

Source に location を使用する場合、プレースホルダはユーザの現在所在地の値に置き換えられます。サポートされている key は country、regioncitycompanymetrocodepostalCode、isoRegion です。

Device

Source に device を使用する場合、プレースホルダはユーザの現在の端末の値に置き換えられます。サポートされている key は deviceType、browserOsbrowsermobileBrand です。

プレースホルダのフィールド

Query

同じクエリのフィールドに対して複数のプレースホルダが存在し得ます。クエリの文字列値ではAQLインジェクションを避けるために特殊文字がエスケープされます。

//content configuration で設定したもの
"query": "query(title:\"{parameter:userquery|car}\")"
 
//widget data request で指定したもの
"context": {"parameters":[{"key":"userquery","value":"sony"},{"key":"key2", "value":"somevalue"}]}
 
//値が置換された時には以下の結果になります
"query(title:\"sony\")"


//content configuration で設定したもの
"query": "query(title:\"{parameter:userquery|car}\")"
 
//widget data request で指定したもの
"context": {"parameters":[{"key":"somekey", "value":"somevalue"}]}
 
//置換ができなかった時にはデフォルト値が返されて、以下の結果になります
"query(title:\"car\")"

Filter

同じフィルタのフィールドに対して複数のプレースホルダが存在し得ます。クエリの文字列値ではSQLインジェクションを避けるために特殊文字がエスケープされます。

"filter": "filter(category:\"{parameter:productcategory|electronics}\")"

Reporting

reporting の Key や Value はプレースホルダに入れることができます。補足: reporting で Key や Value を適用する方法は こちら で紹介されています。

"reporting": [{"key" : "category" , "value" : "{parameter:productcategory|none}" },  {"key" : "{parameter:id|categories}", "value" : "book" }]

SiteIds

レコメンドコンテントコンフィグレーションにて、siteIds フィールドはプレースホルダを含めることができます。
プレースホルダごとに有効なデフォルトのサイトIDを指定する必要があります。

"siteIds": ["{parameter:someSiteId|12345678910}", "{parameter:someOtherSiteId|12345678910}", "12345678911"]

Items

fixed の content configuration ではトップレベルアイテムの値をプレースホルダに含めることができます。

プレースホルダはトップレベルの値が発生した際に置換されます。

items: [{"key1": "{parameter:value1|default1}"}]

プレースホルダはもっと深い層にあるアイテムの場合には置換されません。

items: [{"key1": {"subkey1": "{parameter:value1|default1}"}}]

ItemDefaults

itemDefaults のフィールドは値としてプレースホルダに含めることができます。

itemDefaults: {"key1": "{parameter:value1|default1}"}


Last updated: