カスタムオブジェクトのフィールドデータを、メール本文で呼び出す
JMUGのみなさま
お世話になっております。リクルートキャリアの藤井です。
以下スレッドで質問させていただいた内容を解決しましたので、
内容を整理して投稿させていただきます。
カスタムオブジェクトの内容をメールで置換文字列的に呼び出したい
(山田様、大廻様、福塚様、大里様、アドバイスいただきありがとうございました)
≪実現したきこと≫
リード(toC)に対し、複数の求人情報をメールで送る
≪作り方ざっくり≫
①カスタムオブジェクトに[求人送付テーブル]をインポート
└[求人送付テーブル]は、[リード] × [求人(複数)]がユニークkeyとなる
②カスタムオブジェクトのフィールドを表示させるマイトークン(メールスクリプト)を作成
③メールエディタでマイトークンの呼び出しを書く
≪作り方詳細≫
①カスタムオブジェクトに[求人送付テーブル]をインポート
・こんなcsvファイルを作成する

・[管理]→[カスタムオブジェクト]に入る
・[カスタムオブジェクトの新規作成]からテーブルを作成する
テーブル名は適当に命名して作成

・リードに紐付けるフィールドを作成する
└[カスタムオブジェクトのjoboffer_no]と[リードテーブルのA_求職者No]が
紐付けたいカラムなので、データタイプをリンクにして作成する。
(※ SQLで言う所の、JOINする時のON句の様なイメージ)

・ユニークkeyとなるフィールドを作成する
└[重複削除フィールド]を[はい]にして作成

・その他のフィールドを作成する
└重複削除フィールド]を[いいえ]にして作成

・csvをインポートする
└[データベース]から[カスタムオブジェクトデータのインポート]を選択

└ファイルやカスタムオブジェクトを指定。
[デデュープモード]は、カスタムオブジェクトのユニークkeyを指定。

・最後に、カスタムオブジェクトを承認する
└承認しないと使えないよう。
・リード詳細で確認
└以下の様に見えてたら紐付け成功。

②カスタムオブジェクトのフィールドを表示させるマイトークン(メールスクリプト)を作成
・[マイトークン]から[メールスクリプト]をドラッグ&ドロップして、新規作成する

・Velocityスクリプトを書く
└以下の様な感じ。
{$test_joboffer_cList・・・のところがややこしいので、
カスタムオブジェクトのカラムをドラッグ&ドロップして作成するのが肝。
(※ここをミスって上手く呼び出せませんでした・・・)

③メールエディタでマイトークンの呼び出しを書く
・ さっき作ったメールトークンを挿入する

・エディタはこんな感じ

・プレビューで見るとこんな感じ
└プレビューで対象の顧客を選んでいないと、
メールスクリプトが反映されないので注意。

≪注意点、気になり点≫
・段ズレ注意
└Velocityの ${test_joboffer_cList.get(0).corp_name}) という文は、
該当するレコードから●番目を取ってこい的な意味っぽいですが、
nullは飛ばされてしまうようです。。
└例えば、以下のようにnullがある場合、
[work_locationカラムの3番目のレコードを持ってこい]というスクリプトを書いても、
nullではなく、その下の東京都台東区を持ってきてしまう。

└対策としては、
そもそもnullを許容しないテーブルの構成にするか、
nullのものは"_"とかのダミーの値を入れておいて、
Velocityの中で["_"だったらnull]みたいなif文で回避するのが良さそう。
まだ商用で試してないので、他の落とし穴があったりするかもしれませんが。。。
抜け漏れや間違っている点があればご指摘いただけますと幸いです。
どうぞよろしくお願いいたします。