Salesforce Marketing Cloud Account Engagement (旧 Pardot) API の Response Format による取得できるデータの違い

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

今回は Salesforce Pardot V3 & V4で提供されている機能であるReponse Format について少し調べてみたので共有したいと思います。

Response Format とは?

Response Format とはSalesforce Pardot APIのデータ取得時に指定することができるパラメータの一つで、この指定により取得できる結果の詳細レベルをコントロールできるようになっています。

https://developer.salesforce.com/docs/marketing/pardot/guide/version-3-4-overview.html#changing-the-api-response-format

上記リファレンスの日本語訳が以下の通りになります。

・simple-- Pardot オブジェクトでサポートされているすべてのデータを返します。

・full-- Pardot オブジェクトとそれに関連付けられたすべてのオブジェクトでサポートされているすべてのデータを返します。

・mobile-- オブジェクト データの省略版を返します。この出力形式は、モバイル アプリケーションに最適です。

・bulk-- オブジェクトの基本データを返します (オブジェクトの総数は提供しません)。大量のデータのクエリに使用されます。

といってもちょっとわかりにくいですよね。

というわけで実際に取得した結果を比較してみました。対象は「Visitor Activity Query」です。

https://developer.salesforce.com/docs/marketing/pardot/guide/visitor-activities-v4.html#visitor-activity-query

まずはシンプルに結果を見てみましょう。

Simple

{
    "@attributes": {
        "stat": "ok",
        "version": 1
    },
    "result": {
        "total_results": 954,
        "visitor_activity": [
            {
                "id": 21591372,
                "prospect_id": 1848618,
                "type": 4,
                "type_name": "Form",
                "details": "Standard Form",
                "form_id": 4229,
                "form": {
                    "name": "Standard Form",
                    "app_url": "https://pi.pardot.com/form/read?id=4229"
                },
                "campaign": {
                    "id": 16203,
                    "name": "Email Plug-in"
                },
                "created_at": "2022-07-29 00:57:57",
                "updated_at": "2021-04-01 00:57:57"
            },

Full

{
    "@attributes": {
        "stat": "ok",
        "version": 1
    },
    "result": {
        "total_results": 954,
        "visitor_activity": [
            {
                "id": 21591372,
                "prospect_id": 1848618,
                "type": 4,
                "type_name": "Form",
                "details": "Standard Form",
                "form_id": 4229,
                "form": {
                    "name": "Standard Form",
                    "app_url": "https://pi.pardot.com/form/read?id=4229"
                },
                "campaign": {
                    "id": 16203,
                    "name": "Email Plug-in"
                },
                "created_at": "2022-07-29 00:57:57",
                "updated_at": "2021-04-01 00:57:57"
            },

Mobile

{
    "@attributes": {
        "stat": "ok",
        "version": 1
    },
    "result": {
        "total_results": 954,
        "visitor_activity": [
            {
                "id": 21591372,
                "prospect_id": 1848618,
                "type": 4,
                "type_name": "Form",
                "details": "Standard Form",
                "form_id": 4229,
                "campaign": {
                    "id": 16203,
                    "name": "Email Plug-in"
                },
                "created_at": "2022-07-29 00:57:57",
                "updated_at": "2021-04-01 00:57:57"
            },

Bulk

{
    "@attributes": {
        "stat": "ok",
        "version": 1
    },
    "result": {
        "visitor_activity": [
            {
                "id": 21591372,
                "prospect_id": 1848618,
                "type": 4,
                "type_name": "Form",
                "details": "Standard Form",
                "form_id": 4229,
                "campaign_id": 16203,
                "created_at": "2022-07-29 00:57:57",
                "updated_at": "2021-04-01 00:57:57"
            },

各Format による違い

ざっと見てもらえるとわかるかと思いますが、一番大きな違いはformやcampaignといった別なオブジェクトへの項目の関連情報を取得できるかどうか、という部分です。

Visitor Activityでは「Form」と「Campaign」が対象のようで、例えばCampaignの名前などが関連情報として取得できるようになります。ただ、この結果だけ見ると、FullとSimpleは変わりが無いですね。

一番大きな違いが現れるのが「Bulk」です。これはもともとデータ取得を効率よく行うための設定でもあるので、納得と言えば納得です。Fullと比較すると大きく違うのがわかります。

CData Salesforce Pardot Driver における Response Format の扱い

それでは、CData Salesforce Pardot Driver ではこのResponse Format をどのように扱っているのでしょうか? 確認してみたいと思います。

https://www.cdata.com/jp/drivers/pardot/

CData Salesforce Pardot Driver では ResponseModeというプロパティを使って定義されており、ここで任意のFormatを選べるようになっています。

https://cdn.cdata.com/help/GPG/jp/jdbc/RSBSalesforcePardot_p_ResponseMode.htm

デフォルトでは「Simple」になっていおり、オブジェクトによって取得できない項目があるかもしれないので要注意です。

早速設定して、取得結果を比較してみましょう。

例えばデフォルトの接続で「VisitorActivities」のデータを取得してみると、以下のように「CampaignId」と「CampaignName」が取得できます。

ただ、ResponseModeをBulkにすると、以下のように「CampaignName」はNullの結果となります。

効率的にデータを取得したい場合、ResponseModeをチューニングするのも手かと思いますが、このように取得できなくなる項目も出てくる可能性があるので要注意です。

おわりに

このようにPardot APIで細かなチューニングが可能なものは、CData Driverもプロパティによって調整できる場合がよくあります。

もし気になる機能があれば、お気軽にテクニカルサポートまでお問い合わせください。

https://www.cdata.com/jp/support/submit.aspx

トライアル・お問い合わせ

関連コンテンツ