CData Software Blog

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

CData Maketo Drivers アップデート情報 〜複数プログラムおよびリストのメンバー取得に対応〜

Marketoの複数のプログラム、および、リストに含まれるメンバー(顧客)の一覧が取得できるようになりました。

アップデート内容

Marketoには、全リードデータベースからターゲットを絞り込む方法として、プログラムのメンバー、および、リストを作成する機能があります。

詳しくは、Marketoガイドの「スマートリストとリスト」および「プログラム」の章をご覧ください。

f:id:kuwazzy:20190415170446p:plain
Marketoガイド

Marketoが提供するREST APIでは、これらのプログラム、および、リストに関する情報を以下の通り取得することができます。

プログラムやリスト自体の一覧(マスターデータ)

一覧 API Reference 補足
プログラム programs
リスト(スタティック) Static Lists
スマートリスト Smart Lists

含まれるメンバー(顧客)の一覧

一覧 API Reference 補足
プログラムのメンバー List and Program Membership GET /rest/v1/leads/programs/{programId}.json
リスト(スタティック)のメンバー List and Program Membership GET /rest/v1/list/{listId}/leads.json
スマートリストのメンバー 無し REST API経由では取得出来ない

プログラムのメンバー、および、リスト(スタティック)のメンバーを取得するにはGETリクエスト時のURI内に{programId}または{listId}が必要なため、1つのプログラム、および、リストしか指定出来ません。このAPIの制約により、CData Marketo Driversでは、以下のSQL個別のプログラム、および、リストに含まれる顧客の一覧のみ取得出来ました。

/* 特定プログラムのメンバー */
select * from Leads where ProgramId = '10002';
/* 特定リストのメンバー */
select * from Leads where ListId = '20002';

しかし、これでは、単一の特定プログラム(またはリスト)を軸とした一覧の取得のみ、すなわち、下記図の例だと「ProgramId = 10002」のオレンジの縦棒に含まれる顧客のリストしか取得出来ません。

f:id:kuwazzy:20190415170514p:plain
プログラムと顧客の一覧

しかし、実際には、プログラムを横断して含まれる顧客(Lead)の一覧を取得したいシーンもあります。例えば、顧客毎に施しているプログラム(またはリスト)の状況を把握したい場合です。

今回、CData Marketo Drivers製品では、上記ユースケースへ対応するため、複数のプログラム、および、リストを単一のSQLで取得出来るようにアップデートしました。取得するSQLは以下の通りです。

/* 複数のプログラムのメンバー */
select * from Leads where ProgramId IN ('10002', '10002');
/* プログラムのステータスが完了になったプログラムのメンバー */
select * from Leads where ProgramId = (select Id from Programs where status = 'completed');
/* 複数リストのメンバー */
select * from Leads where ListId IN ('20002', '20002');

これにより、プログラムやリストの数だけのSQLを実行しなくてもよくなり、単一SQLで取得出来るようになるためTableauPower BIMotionBoardをはじめとするBIツールからもダイレクトに複数プログラム(およびリスト)に含まれる顧客の一覧をビジュアライズすることも可能となります。

対応ビルド、および、バージョン

ビルドバージョン : 19.0.7040

最後に

今回は、CData Marketo Drivers製品のアップデートされた機能をご紹介いたしました。本記事の内容についてこのような事は出来ないか?といった疑問や詳細を確認されたい場合には弊社サポートデスクにご連絡ください。

本記事の内容は2019/04/15時点のものです。