はじめに
設定値配信では、ユーザー情報変数を通じて取得した値をアクションテーブルのkey/keysとして指定することで、アクションテーブルの内容を参照することが可能です。その際の注意点を以下にまとめます
使い方の概要
- 基本的には、「Widget以外のアクションからアクションテーブルにアクセスする」をご参考下さい。
- ユーザー情報変数を通じて取得した値をkey/keysとして、単一レコードもしくは複数のレコードが静的変数に格納され、それを設定値として参照できます。
- アクションテーブルの特定のレコードの、指定の列の値だけを取り出すことは不可となります。アプリ側にて、参照する列を指定ください。
アクションテーブルクエリの引数にユーザー情報変数を利用する例
単一keyでの参照
アクションテーブルクエリとして
=
オペレータで指定した条件に対して、ユーザー情報変数で最新の値
等の単一の値を指定可能です使用例
- ユーザー属性の会社IDを参照し、アクションテーブル上の会社情報を参照
- ユーザー属性のクーポンIDを参照し、アクションテーブル上のクーポン情報を参照
※RAWモードかつ
"#{val}"
というダブルクォートで囲った形式でないとエディタ上でエラーになる可能性がございます- ダブルクォートで囲われた形式にならないとアクションテーブル上でエラーになりますが、ダブルクォートで囲うにはRAWモードにしないとエディタ上でエラーになるためです
複数keyでの参照
- アクションテーブルクエリとして
IN
/NOT IN
オペレータで指定した条件に対して、ユーザー情報変数で直近30件
等の配列型の値を指定可能です - 使用例
- 直近閲覧商品のIDを参照し、アクションテーブル上の商品マスタから該当商品情報を参照
複数key参照の具体例
- いずれの方法も
["a","b","c"]
という形式のvalidなJSON文字列を指定する方法があります - 以下では、複数キーとして ユーザー情報変数を指定する場合と、紐付けテーブルの値を指定する場合の二通りをご案内します
(1)アクションテーブル変数にユーザー情報変数を指定
ユースケース
- 直近の閲覧/行動内容に応じたアクションテーブルの絞り込み
- フォロー中のブランドでランキングの絞り込み
- 直近閲覧商品に応じたレコメンドの絞り込み
アクションテーブルの設定
- 参照時に指定される複数keyをアクションテーブルクエリとして設定
- 説明のため、このアクションテーブルクエリで複数keyとして指定される変数名を
keys
とします
接客の設定
- 同一の設定値配信アクション上に、下記形式でユーザー情報変数とアクションテーブル変数の2点を設定します
ユーザー情報変数
- 任意期間で直近30件のユーザー情報変数を設定し、JSONで出力にチェックを入れます
JSONで出力
にチェックを入れることで、直近30件のデータが["a","b","c"]
形式のJSON文字列として出力されます- RAWモードにチェックを入れる必要はありません
アクションテーブル変数
上記で設定したユーザー情報変数をparams内で指定します
- params内ではkey名にアクションテーブルクエリ側で設定した変数名のkeys、valueとして上記で設定したユーザー情報変数を設定してください
設定例
{
"method":"getByQuery",
"table_name":"{{TABLE_NAME}}",
"query_name":"{{QUERY_NAME}}",
"params":{
"keys": #{ユーザー情報変数}
}
}
アクションテーブル変数の詳細な仕様については、下記ドキュメントをご確認ください。
Widget以外のアクションからアクションテーブルにアクセスする
出力例
- アクションテーブル
- 出力イメージ
(2)アクションテーブル変数に紐付けテーブルのデータを指定
ユースケース
- ユーザーに紐付く複数keyに基づき、アクションテーブルの該当箇所を参照可能です
- 各ユーザーへのオススメ商品のIDを紐付け、その商品IDに該当する商品情報を商品マスタのアクションテーブルから参照することが可能です
紐付けテーブルの設定
紐付けテーブル上の値が
["a,","b","c"]
という形式になるようにクエリ側で出力してください- 下記のクエリはサンプルとなります
array形式のIDを
["a,","b","c"]
形式にする場合は、適宜下記のようなSQLでSTRING_AGGとCONCATでも組み合わせてください。※紐付けテーブルには1カラムあたりに格納可能な文字列長が最大256byteという制約があるため、適宜文字列全体が256byte以下になるよう文字列を生成する必要があります
SELECT
CONCAT(
'["',
STRING_AGG(array_ids, '","'),
'"]'
) AS json_ids
FROM UNNEST(["apple", "banana", "gollira"]) AS array_ids
アクションテーブルの設定
- ユーザー情報変数を指定する場合と同様です
接客の設定
ユーザー情報変数
- 紐つけた値を
最新の値
として参照するよう設定してください - RAWモードにもJSONで出力にもチェックを入れる必要はありません
- 紐つけたデータ自体が
["a","b","c"]
形式のJSON文字列になっているので、最新の値を参照することで上記形式として出力されます
アクションテーブル変数
- ユーザー情報変数を指定する場合と同様です
出力例
- 紐付けテーブル
- アクションテーブル
- 出力イメージ