CData Software Blog

クラウド連携のCData Software の技術ブログです。

Salesforce Pardot Driver でプロスペクトのカスタム項目を取得する方法

こんにちは。CData Software Japanリードエンジニアの杉本です。

今回は Salesforce Pardot に関するTipsをお送りします。

カスタムプロスペクト項目とは?

Salesforce Pardot では特定可能な顧客情報をプロスペクトというオブジェクトで管理します。

f:id:sugimomoto:20210108132802p:plain

Pardot Lightning アプリケーションの操作方法について 単元 | Salesforce Trailhead

このプロスペクトにはビジネス要件上必要な項目の多くは予め定義されていますが、ユーザー側で独自に設定したい項目を追加で構成することも可能になっています。

help.salesforce.com

ただ、この項目はAPIから取得す場合、少し注意が必要なことがあり、CData Salesforce Pardot Driver では少し引っかかりポイントになっています。

ですので今回はこのカスタム項目を取得する方法を紹介したいと思います。

デフォルトの挙動

実はこのカスタム項目、CData Driver ではデフォルトでプロスペクトテーブルにちゃんとカラムとして表示されます。

以下はCData Salesforce Pardot ODBC Driver を使って、プロスペクトテーブルを表示した時の画面で、CustomFiled等と表示されている項目が、対象の項目です。

f:id:sugimomoto:20210108132914p:plain

ですが、ご覧のようにそれぞれの値がNullとしか表示されません。

これは、Salesforce Pardot API からデータを取得する際に、レスポンス結果の詳細レベルを制御するプロパティが付いていることに起因します。

developer.pardot.com

対処方法

この対処方法はシンプルです。

CData Salesforce Pardot Driverでは「Response Mode」という接続プロパティが提供されており、デフォルトではデータの取得のパフォーマンスを考慮し「bulk」に設定されています。

http://cdn.cdata.com/help/GPF/jp/jdbc/RSBSalesforcePardot_p_ResponseMode.htm

これを、関連データやカスタム項目が取得可能な「full」もしくは「simple」にすることで、カスタム項目の値も取得できるようになります。

ODBC DSNでは以下のように指定します。

f:id:sugimomoto:20210108132957p:plain

これで、以下のようにカスタムフィールドの値も取得できるようになります。

f:id:sugimomoto:20210108133003p:plain

カスタム項目はとりあえずいいから、パフォーマンス重視で取得したい、という場合はbulkのまま運用するのが良いでしょう。実際に環境に接続してみて、パフォーマンス・取得件数を鑑みながら、設定してみてください。