メインコンテンツへスキップ

データ連携チュートリアル

データ連携チュートリアル
データ連携チュートリアルサンプルケースを利用して連携設定に必要な基本手順を解説します。はじめてSMPforSalesforceを操作する場合は、こちらの内容で操作の全体感を掴んでください。そのため、機能ごとの設定項目の詳細については説明を省略している箇所も多いため、「6.機能リファレンス」もあわせてご参照ください。設定のために必要な情報の参照方法サンプルケース項目連携のTips設定のために必要な情報の参照方法データ連携を設定するにあたっては、SMPおよびSFDCのオブジェクトや項目の正確なシステム名称を指定する必要があります。ご利用の環境における具体的な名称は、それぞれ以下をご参照ください。SFDCにおけるオブジェクトおよび項目名の確認方法詳細あるいは最新情報についてはSFDCのヘルプやドキュメントをご参照ください。例:「」ページ等標準オブジェクトの場合SFDCログインします[設定]に進み、[アプリケーションの設定](または[ビルド])の[カスタマイズ]を開きます設定対象のオブジェクト(例:リード、キャンペーン等)の、[項目]を開きます標準項目の一覧にある[項目名]、または、カスタム項目の一覧の[API参照名]に表示されている項目名を確認しますカスタムオブジェクトの場合SFDCログインします[設定]に進み、[ビルド]の[作成]→[オブジェクト]を開きます設定対象のオブジェクトの詳細を開きますオブジェクト名は、カスタムオブジェクトの定義詳細にて、オブジェクト名を確認します項目名は、標準項目の一覧にある[項目名]、または、カスタム項目の一覧の[API参照名]に表示されている内容を確認しますSMPにおけるAPI項目名の確認方法項目表記フォーマットSMPforSalesforceでは、SMPの項目名を以下のフォーマットで指定します。.例:Visitor.Name1Seminar.Attribute12VisitorApplicationSeminar.VisitorIdSeminarFlow.SeminarAPIメソッドと項目名連携対象となる項目を指定するために、SMPのAPIのメソッド名と項目名が必要です。「マーケティングプラットフォームAPI開発者ガイド」ページをご参照ください。追加項目やアンケート項目の項目名SMPでユーザ自身で追加設定される項目は、具体的な項目に含まれるIDがドメインごとで異なります。例えば、「Visitor.Attribute45」といった形式で、数字の部分が環境ごとのIDになっています。APIキー一覧画面([設定][API])の「API定義のダウンロード」ボタンから、WSDLファイルをダウンロードすることでご確認いただけます。画面から確認する場合は各機能のCSV一括登録のベースファイルや、表示項目設定からIDを参照してご確認ください。補足項目名として指定する場合は、Visitor.Attributeといった形式で、APIメソッド名をベースとしたプレフィックスを指定する必要があります。上記「項目表記フォーマット」をご参照ください項目の機能項目のIDを参照可能な箇所の例リード追加項目[リード][基本項目設定][設定エクスポート]キャンペーン追加項目[キャンペーン][一括登録][ベースファイルダウンロード]サブキャンペーン追加項目サブキャンペーン型のキャンペーンの[管理開始]後、[サブキャンペーン][一括登録][ベースファイルダウンロード]アンケート項目[アンケート][アンケートテンプレート][アンケート設問の追加/修正][エクスポート]活動履歴項目[リード][活動履歴一覧][一括登録][ベースファイルダウンロード]サンプルケースサンプルケースは、次のとおりです。・リード情報の連携設定例・リードに結びつく履歴データの連携の例リード情報の連携設定例サンプルケースの連携仕様SMPとSFDCのリード情報を相互に更新を反映する連携モデルを想定します。なお、ここに記述したケースはあくまで連携仕様の1例であり、SMPforSalesforceでできる唯一の方法というわけではありません。更新キー連携済みのデータを識別するための項目を「更新キー」と呼びます。「更新キー」に該当するデータが連携先に存在していればデータを更新し、存在しなければ新規作成します。ここでは「更新キー」を「リードID」とします。つまり、SMP側ではSFDC上でのリードのシステムIDを保持し、SFDC側では逆に、SMPのリードIDを保持して、連携済みデータの識別に利用します。図の例では、SFDCにカスタム項目「SMP_ID」を設定しています。SMPにリードID=17のリードが登録されると、連携実行時にSFDCにSMP_ID=17のリードがいるかどうかを探して、存在しなければリードをSFDCに新規登録し、そのリードにSMP_ID=17をセットします。また、登録されたリードのSFDC上のIDを、SMPの追加項目「SFDC_ID」にセットします。これにより、以後、片方のシステムでデータを更新すると、相手方システムの対応するリード情報が更新されることになります。Q.両システムで同じレコードを同時に更新した場合はどうなりますか?連携バッチ処理が実行されるまでの間にSMP/SFDCそれぞれのデータを更新する場合、先に処理する連携先のデータを更新します。つまり、1.SMP→SFDC2.SFDC→SMPの順序で連携する場合、先にSMPのデータでSFDCを更新するため、SFDCの更新は失われます。連携させるデータの種類と条件SMP/SFDCの両システムに登録・更新されたリード情報をそれぞれ抽出・反映します。実行頻度は、1時間に一度とし、前回実行日時以降に発生したリード情報を更新を連携するようにします。新規登録・更新をそれぞれSMP→SFDC、SFDC→SMPに連携するため、以下の4種類の連携ジョブを設定することになります。連携ジョブの種類連携条件未連携SMPリード→SFDCリードSMPのリードで、以下のもの・「SFDC_ID」が空白・「システム更新日時」が「前回実行日時」よりも新しい未連携SFDCリード→SMPリードSFDCのリードで、・「SMP_ID」が空白・「最終更新日時」が「前回実行日時」よりも新しい連携済みSFDCリード→SMPリードSFDCのリードで、・「SMP_ID」に値がある・「最終更新日時」が「前回実行日時」よりも新しい連携済みSMPリード→SFDCリードSMPのリードで、・「SFDC_ID」に値がある・「システム更新日時」が「前回実行日時」よりも新しいバッチ処理ごとに連携対象となるデータの範囲連携ジョブを実行するたびに、前回のジョブ実行以降に変更があったリード情報のレコードが差分として更新対象になります。図の例では、10時台に登録されたリードA、リードBを11時のバッチ処理で新規レコードとして連携します。次に、11時台にリードAが2回更新され、リードCが新しく登録されています。すると12時に、リードAの最新情報(2回目の更新後の内容)を連携し、リードCを新規レコードとして連携します。最後に、12時台には更新がないので、13時には何も連携対象になりません。設定手順1:システム設定連携設定の前に、システムに対して必要な設定を行います。相互のリードIDを保持するための追加項目・カスタム項目を作成します。SMPの設定SMPにはリードの基本項目設定で、追加項目を追加します。管理側の[リード]→[基本項目設定]→[新規項目追加]から登録します。項目名:SFDC_LEAD_ID表示/非表示:管理者側のみ表示フォーム種別:テキスト必須の可否:必須にしないフィールドサイズ:30最大文字数:30作成された追加項目「SFDC_LEAD_ID」の、IDを確認しておきます。[リード][一括登録]から、[ベースファイルダウンロード]をクリックしてダウンロードしたCSVファイルのカラムで、確認可能です。ここでは、図のように「attribute1」が「SFDC_LEAD_ID」の項目IDであるとします。SFDCの設定SFDCでは、リードオブジェクトへのカスタム項目を追加します。[設定][カスタマイズ][リード][新規]から、「リードカスタム項目&リレーション」から[新規]へ進み、以下の内容で登録します。データ型:テキスト項目の表示ラベル:SMP_ID項目名:SMP_ID文字数:10外部ID:「外部システムの一意のレコード識別子として設定する」にチェック項目レベルセキュリティの設定、ページレイアウトへの追加はデフォルトのまま進めます。図のように、上で作成したカスタム項目の、API参照名は「SMP_ID__c」となります。以下の設定では、このAPI参照名を項目マッピング等で利用します。設定手順2:連携設定その1(新規SMPリードをSFDCリードへ)以降では、SMP接続設定は設定済みで、ひとつの設定が有効となっていることを前提とします。また、Force.comアプリケーションメニューで「SMPforSalesforce」が選択済みであることとします。もし上記設定されていない場合は、「4.セットアップ手順」を参照し、設定を行ってください。連携ジョブの設定SMP/SFDCの両システムに登録・更新されたリード情報をそれぞれ抽出・反映するため、以下の連携ジョブを設定します。まず、SMPからSFDCへ新規登録されたリード情報を反映する連携ジョブを以下の内容で作成します。項目の詳細は、次のとおりです。項目入力内容ジョブ名連携ジョブを表現する、適当な名前を入力します。例えば、「チュートリアル:新規SMPリード→SFDCリード」とします。連携ジョブID連携ジョブを識別するためのIDを入力します。例えば、「job-tutorial1」とします。(半角英数字で入力します)繰り返しタイミング「1時間」を選択します。起動時刻繰り返しタイミングが1時間の場合は指定不要なので、「指定しない」のままにします。条件「前回実行日時から実行」を選択します。前回実行日時適当な過去の日時を指定します。次回実行日時適当な未来の日時を指定します。エラー時制御連携するデータでエラーが発生した場合に処理を継続するかどうかを指定します。ここでは「続行」を選択します。エラー通知先連携ジョブでエラーが発生した場合に通知するメールアドレスを入力します。ご自身のメールアドレスをご入力ください。(半角英数字で入力します)実行順序連携ジョブの中での実行順序を指定します。ここでは「10」と入力します。(半角数字で入力します)オブジェクトマッピングの設定続いて、オブジェクトマッピングを設定します。上で作成した連携ジョブID「job-tutorial1」の詳細から、新規オブジェクトマッピングを作成します。最終的には以下の図のような内容となるように、設定を追加します。以下の内容を入力し、保存をクリックします。項目入力内容オブジェクトマッピング名リード新規SMP→SFDCオブジェクトマッピングIDobj-tutorial1-1実行順序10連携方向SMP→SFDCSMP連携オブジェクト名リードNULLでの上書きNULL項目は上書きしないSFDCオブジェクトLeadSFDC更新キーSMP_ID__cSFDCAPIレスポンスで格納する要素SMP_ID__c項目マッピングの設定上で設定したオブジェクトマッピングに項目マッピングを追加します。オブジェクトマッピングの詳細画面にある、[新規項目マッピング]ボタンから登録画面を開き、以下の表の1行分の設定を入力・保存し、合計5つの項目マッピング設定を追加します。SFDC項目の、「LastName」(姓)と「Company」(会社名)は入力必須項目のため、必ず設定しましょう。項目の詳細は、次のとおりです。項目IDSMP項目または連携先SFDC項目SFDC項目SMP項目の属性item-t1-1-idVisitor.IdSMP_ID__c--なし--item-t1-1-emailVisitor.EmailEmail--なし--item-t1-1-name1Visitor.Name1LastName--なし--item-t1-1-name2Visitor.Name2FirstName--なし--item-t1-1-companynameVisitor.CompanyNameCompany--なし--APIパラメータの設定項目マッピングと同様、上で設定したオブジェクトマッピングの詳細から、APIパラメータも追加していきます。[新規APIパラメータ]ボタンから、以下の設定を追加します。APIパラメータIDAPIパラメータキー検索オペレータAPIパラメータ内容前回実行日・条件日時を指定apiparam-t1-1-1Visitor.Attribute1eq(空白)(チェックしない)apiparam-t1-1-2Visitor.DateUpdatege(空白)☑SFDC_LEAD_ID(Attribute1)が空白である、つまり、まだSFDCリードと対応していないリードを抽出対象とします。また、更新日時(DateUpdate)が前回実行日時以降のものとすることで、前回からの差分レコードを更新対象とします。動作確認(連携ジョブの手動実行と連携ログの確認)ここまでの手順で、SMPに新規登録されたリード情報がSFDCのリードに連携されるようになっているはずです。以下の手順で、動作を確認してみましょう。SMPから、リードを新規登録する管理側[リード]→[新規登録]から、姓、名、会社名、Emailを入力し、登録しますSFDC_LEAD_IDには何も入力しないようにしますSMPforSalesforceの連携を手動実行しますSFDCで、[SMP接続設定一覧]タブをクリックし、[連携ジョブバッチ実行]ボタンをクリックします連携ジョブの実行が開始されると、下の図のように対象の連携ジョブの「ジョブ実行中」フラグがONになります。すべてのジョブの実行が完了すると、自動的にOFFに戻ります。実行が完了したら、連携ジョブの詳細画面から「ログレポート」のリンクをクリックします。レポート画面で、直前に実行した連携ログの内容が表示されます。補足・「詳細のエクスポート」から、Excel形式でログデータをダウンロードして全文を参照します。・「SMP_ログ:No」の条件をクリアし、追加で任意の期間条件を指定することで過去のログを参照することができます。内容を確認し、エラーなどが起きていないことを確認します。もしエラーが発生した場合は、連携ジョブのエラー通知先に設定したメールアドレスに通知メールが送信されます。エラーがある場合は、エラー内容や連携実行時のトラブルシュートを参考に、ここまでの設定内容を見直してください。設定手順3:連携設定その2(新規作成されたSFDCリードのIDをSMPに反映)変数の定義SMPからSFDCに連携して新規作成されたリードには、新しいSFDCのリードIDが振り出されています。これをSMPのリードに戻すことで、以後、SFDC側の更新がSMPにも反映されるようにします。この処理の対象を実際に連携されたリード情報に限定するため、変数を利用します。オブジェクトマッピング1で連携したSMPリードIDを変数に格納同じ連携ジョブの中にオブジェクトマッピングをもうひとつ追加し、変数に格納されたリードIDをSMP_IDにもつSFDCリードを抽出、SFDCのリードIDをSMPリードの「SFDC_LEAD_ID」に反映するまず、1.の手順のため、上で作成したオブジェクトマッピングに変数定義を設定します。オブジェクトマッピングの詳細を開き、[新規変数定義]をクリックし、以下の内容を入力して[保存]をクリックします。変数定義ID変数名変数内容var-tutorial1-1-visitoridvar1Visitor.Id■変数をSFDCからのデータ抽出条件に利用する次に、上で設定した連携ジョブの中で、オブジェクトマッピングをもうひとつ追加します。以下の内容を入力し、保存をクリックします。項目入力内容オブジェクトマッピング名リード新規:SFDCからのリードID戻しオブジェクトマッピングIDobj-tutorial1-2実行順序20連携方向SFDC→SMPSMP連携オブジェクト名リードNULLでの上書きNULL項目は上書きしないSFDCオブジェクトLeadSFDC取得SOQLSELECTId,SMP_ID__cFROMLeadWHERESMP_ID__c=:var1ANDSMP_ID__c!=''ANDLastModifiedDate:LastRunDateTimeデータ取得基準更新日SMP更新キーVisitor.IdSMPAPIレスポンスで格納する要素IdSMP更新方法PUTSMPAPIレスポンスで格納するSFDC項目SMP_ID__c「SFDC取得SOQL」に、先に設定した変数定義を使用しています。SOQLのWHERE句に「SMP_ID__c=:var1」と記述することで、var1に格納されたSMPリードIDをSMP_ID__cに持つSFDCリードを抽出対象に指定できます。さらに、上ではもうひとつの変数を使った条件「LastModifiedDate:LastRunDateTime」を指定しています。「:LastRunDateTime」は、連携ジョブの項目「前回実行日時」の値を保持するシステム変数で、変数設定をしなくても利用可能です。これにより、最終更新日時(LastModifiedDate)が前回の連携以降の日時であるデータを連携対象としています。上のように、SOQLを記述してSFDC取得データを定義した場合は、自動的に前回実行からの差分取得とならないので、更新期間によって連携対象を絞り込む場合はその条件をSOQLに記述する必要があります。その他、SOQLを記述する場合の注意点について、機能リファレンスの「SFDC取得SOQLについて」ページの内容もご参照ください。また、上記オブジェクトマッピングに対して、項目マッピングを以下のとおり追加します。項目IDSMP項目または連携先SFDC項目SFDC項目SMP項目の属性item-t1-2-smpidVisitor.IdSMP_ID__c--なし--item-t1-2-idVisitor.Attribute1Id--なし--これで、この連携ジョブを実行すると、SMPから新規にSFDCリードが連携されるとともに、SMPにはSFDCのリードIDが反映されるようになります。設定手順4:連携設定その3(残りの連携ジョブ設定)続けて、残り3つの連携ジョブ(連携ジョブ2~4)も同様の手順で追加します。ジョブ名、連携ジョブID、実行順序のみ、以下のとおり変更します。ジョブ名連携ジョブID実行順序連携ジョブ1新規SMPリード→SFDCリードjob-tutorial110連携ジョブ2新規SFDCリード→SMPリードjob-tutorial220連携ジョブ3SFDCリードの更新→SMPリードjob-tutorial330連携ジョブ4先に作成した連携ジョブ(上の表の連携ジョブ1)の詳細から、コピーして作成すると簡単です。連携ジョブ2:未連携のSFDCリードをSMPに連携する連携ジョブ2には、以下の内容でオブジェクトマッピングを作成します。項目入力内容オブジェクトマッピング名リード新規:SFDC→SMPリードオブジェクトマッピングIDobj-tutorial2-1実行順序10連携方向SFDC→SMPSMP連携オブジェクト名リードNULLでの上書きNULL項目は上書きしないSFDCオブジェクトLeadSFDC取得SOQLSELECTId,SMP_ID__c,Email,FirstName,LastName,CompanyFROMLeadWHEREIsConverted=FALSEANDSMP_ID__c=nullANDLastModifiedDate:LastRunDateTimeデータ取得基準更新日SMP更新キーVisitor.IdSMPAPIレスポンスで格納する要素IdSMP更新方法PUT・POSTSMPAPIレスポンスで格納するSFDC項目SMP_ID__cSFDC取得SOQLに「IsConverted=FALSE」とすることで、取引先責任者に昇格していないリードに対象を限定しています。また、「SMP_ID__c=null」により、まだ連携していないリードを対象としています。上記オブジェクトマッピングに対して、項目マッピングを以下のとおり追加します。項目IDSMP項目または連携先SFDC項目SFDC項目SMP項目の属性item-t2-1-smpidVisitor.IdSMP_ID__c--なし--item-t2-1-idVisitor.Attribute1Id--なし--item-t2-1-companyVisitor.CompanyNameCompany--なし--item-t2-1-lastnameVisitor.Name1LastName--なし--item-t2-1-firstnameVisitor.Name2FirstName--なし--item-t2-1-emailVisitor.EmailEmail--なし--これ以外にも、SFDCからSMPへ反映したい任意の項目をマッピングに追加してみましょう。その際、対象の項目をSFDC取得SOQLのSELECT句にも記述するよう注意します。連携ジョブ3:SFDCリードの更新をSMPに反映する連携ジョブ3には、以下の内容でオブジェクトマッピングを作成します。項目入力内容オブジェクトマッピング名リード更新:SFDC→SMPリードオブジェクトマッピングIDobj-tutorial3-1実行順序10連携方向SFDC→SMPSMP連携オブジェクト名リードNULLでの上書きNULL項目は上書きしないSFDCオブジェクトLeadSFDC取得SOQLSELECTId,FirstName,LastName,Company,Email,SMP_ID__cFROMLeadWHERELastModifiedById!='005280000018AFK'ANDIsConverted=FALSEANDSMP_ID__c!=nullANDLastModifiedDate:LastRunDateTimeデータ取得基準更新日SMP更新キーVisitor.IdSMPAPIレスポンスで格納する要素IdSMP更新方法PUT・POSTSMPAPIレスポンスで格納するSFDC項目SMP_ID__cここでのポイントは、SFDC取得SOQLのWHERE句にLastModifiedByIdの内容を指定している箇所です。(「LastModifiedById!='005280000018AFK'」)ここで、'005280000018AFK'の部分は実際に連携設定を操作しているシステム管理者のユーザIDに置き換えて記述します。ユーザIDは、[設定]→[ユーザの管理]から、対象ユーザの詳細を表示したときのURL(たとえば、「」)から、確認できます。項目マッピングは、連携ジョブ2で指定した内容と同様の内容を指定してみましょう。連携ジョブ4:SMPリードの更新をSFDCリードに反映する最後に、連携ジョブ4にオブジェクトマッピング等を設定します。以下の内容を入力し、保存をクリックします。項目入力内容オブジェクトマッピング名リード更新SMP→SFDCオブジェクトマッピングIDobj-tutorial4-1実行順序10連携方向SMP→SFDCSMP連携オブジェクト名リードNULLでの上書きNULL項目は上書きしないSFDCオブジェクトLeadSFDC更新キーSMP_ID__cSFDCAPIレスポンスで格納する要素SMP_ID__c上で設定したオブジェクトマッピングに項目マッピングを追加します。項目IDSMP項目または連携先SFDC項目SFDC項目SMP項目の属性item-t4-1-idVisitor.IdSMP_ID__c--なし--item-t4-1-emailVisitor.EmailEmail--なし--item-t4-1-name1Visitor.Name1LastName--なし--APIパラメータも設定しましょう。APIパラメータIDAPIパラメータキー検索オペレータAPIパラメータ内容前回実行日・条件日時を指定apiparam-t4-1-1Visitor.Attribute1ne(空白)(チェックしない)apiparam-t4-1-2Visitor.DateUpdatege(空白)☑SFDC_LEAD_ID(Attribute1)が空白ではない、つまり、既にSFDCリードと対応しているリードを抽出対象とします。また、更新日時(DateUpdate)が前回実行日時以降のものとすることで、前回からの差分レコードを更新対象とします。ひととおり設定が済んだら、あらためて動作確認してみましょう。SMP・SFDC双方からリードを登録・更新して、[SMP接続設定一覧]から、[連携ジョブバッチ実行]ボタンで連携ジョブを手動実行します。エラーが発生した場合は、「9-2.連携実行時のトラブルシュート」も参照しつつ解決を試みてください。リードに結びつく履歴データの連携の例キャンペーン来場履歴の連携例サンプルケース1でリード情報が連携済みであるという前提で、キャンペーン来場履歴を連携してみましょう。ここでは以下のことを説明します。SFDCにカスタムオブジェクトを作成し、SMP履歴データを保存する方法SFDC上でのオブジェクト間の参照関係、つまり、リードと来場履歴の間の結びつきを反映する方法(連携方向SFDC→SFDCの使い方)キャンペーン来場履歴を例に説明しますが、同様の方式で、その他の各種履歴系(メール履歴、トラッキング履歴等)のSMPオブジェクトをSFDCへ連携することが可能です。設定手順1:カスタムオブジェクトを作成新規カスタムオブジェクトの作成SMPからのキャンペーン来場履歴を入れる箱となるカスタムオブジェクトを作成します。[設定]→[作成]の下にある、[オブジェクト]から[新規カスタムオブジェクト]ボタンをクリックして、カスタムオブジェクトを作成します。以下の内容を入力し、オブジェクト作成します。表示ラベル:来場履歴オブジェクト名:TutorialSeminarAttendanceレコード名:来場履歴名データ型:テキストまた、作成したカスタムオブジェクトのレコードをタブから表示できるようにする場合は、[設定]→[作成]の下にある[タブ]からカスタムタブを新規に作成し、上で作成したカスタムオブジェクトを指定してください。カスタム項目の作成オブジェクトが作成されたら、その詳細を表示し、カスタム項目に項目を追加します。「カスタム項目&リレーション」欄にある[新規]ボタンをクリックし、項目を追加していきます。まず、「テキスト」型の項目を4点、以下の内容で作成します。項目の表示ラベル項目名文字数外部ID:「外部システムの一意のレコード識別子として設定する」SMP_IDSMP_ID10チェックするSMPキャンペーンIDSeminarId10チェックするSMPリードIDVisitorId10チェックするSMPキャンペーンタイトルSeminarTitle120(なし)続いて、「参照関係」型の項目を作成し、SFDC上のリードと来場履歴を結びつけられるようにします。カスタム項目の新規作成に進み、データ型で「参照関係」を選択し、次に進みます。続いて、関連先で、「リード」を選択し、次に進みます。項目の表示ラベル等は、以下の表をご参照ください。関連先項目の表示ラベル項目名子リレーション名リードリードLeadTutorialSeminarAttendanceLeadさらに、いつリードが来場したのかわかるように、来場日時を保存する「日付/時間」型の項目を作成します。項目の表示ラベル項目名SMPキャンペーン来場日時SeminarAttendanceDate設定手順2:キャンペーン来場履歴の連携設定連携ジョブの作成キャンペーン来場履歴を連携させる処理を実行する、連携ジョブを新しく作成します。サンプルケース1での手順にならい、タイトルをたとえば「チュートリアル2:来場履歴の連携」として新規連携ジョブを登録します。この連携ジョブの下に、以下の2つのオブジェクトマッピングを作成します。連携内容連携方向説明キャンペーン来場履歴SMP→SFDCSMPのキャンペーン来場履歴レコードを、新しく作成したカスタムオブジェクトに連携しますLeadIdとの参照関係を設定SFDC→SFDCカスタムオブジェクトに入った来場履歴に、SFDCのリードIDとの参照関係を反映します一つ目が、来場履歴のレコードをカスタムオブジェクトに移送するためのマッピングで、ふたつ目のマッピングでそれらのレコードに対して、SFDC上のリードとの参照関係を更新します。これにより、SFDCのリード詳細から、カスタムオブジェクトのキャンペーン来場履歴を参照することが可能となります。オブジェクトマッピング1:「キャンペーン来場履歴」の設定上で作成した連携ジョブの詳細から、新規オブジェクトマッピングを作成します。最終的には以下の図のような内容となるように、設定を追加します。一つ目のオブジェクトマッピングには、以下の内容を入力し、保存をクリックします。項目入力内容オブジェクトマッピング名キャンペーン来場履歴SMP→SFDCオブジェクトマッピングIDobj-tutorial5-1実行順序10連携方向SMP→SFDCSMP連携オブジェクト名キャンペーン来場NULLでの上書きNULL項目は上書きしないSFDCオブジェクトTutorialSeminarAttendance__cSFDC更新キーSMP_ID__cSFDCAPIレスポンスで格納する要素Id項目マッピングを以下のように設定します。SFDC項目に入力する内容は、カスタムオブジェクトに設定したカスタム項目の項目名(API参照名)にあたります。また、必須となる項目マッピングについては、「7.SMP連携オブジェクトリファレンス」のキャンペーン来場履歴の項もご参照ください。項目IDSMP項目または連携先SFDC項目SFDC項目SMP項目の属性item-tut2-1-idVisitorAttendanceSeminar.IdSMP_ID__c--なし--item-tut2-1-seminaridVisitorAttendanceSeminar.SeminarSeminarId__cSMP項目が選択リストitem-tut2-1-visitoridVisitorAttendanceSeminar.VisitorIdVisitorId__c--なし--item-tut2-1-seminarid2Seminar.IdSeminarId__c--なし--item-tut2-1-visitorid2Visitor.IdVisitorId__c--なし--item-tut2-1-seminartitleSeminar.TitleSeminarTitle__c--なし--item-tut2-1-seminarattendancedateVisitorAttendanceSeminar.AttendanceDateSeminarAttendanceDate__c--なし--また、変数定義を以下のように設定します。来場履歴を連携したリードのSMP上のIDを格納し、続くオブジェクトマッピングで連携対象を限定するために利用します。変数定義ID変数名変数内容var-tut2-1-visitoridvar1VisitorAttendanceSeminar.VisitorIdさらに、APIパラメータを以下のように設定します。来場日時が連携ジョブの前回実行日時以降の来場履歴を差分取得します。APIパラメータIDAPIパラメータキー検索オペレータAPIパラメータ内容前回実行日時・条件日時を指定apiparam-tut2-1-attendancedateVisitorAttendanceSeminar.AttendanceDategeチェックするオブジェクトマッピング2:「LeadIdとの参照関係を設定」の設定二つ目のオブジェクトマッピングには、以下の内容を入力し、保存をクリックします。項目入力内容オブジェクトマッピング名キャンペーン来場履歴LeadId参照関係の更新オブジェクトマッピングIDobj-tutorial5-2実行順序20連携方向SFDC→SFDCSMP連携オブジェクト名(なし)NULLでの上書きNULL項目は上書きしないSFDCオブジェクトLeadSFDC取得SOQLSELECTId,SMP_ID__cFROMLeadWHERESMP_ID__c=:var1ANDSMP_ID__c!=''ANDIsConverted=FALSEデータ取得基準更新日連携元SFDCオブジェクトLead連携元更新キーSMP_ID__c連携先SFDCオブジェクトTutorialSeminarAttendance__c連携先更新キーVisitorId__c更新方法UPDATESFDC取得SOQLでは、リードオブジェクトに対して、先のマッピングで連携対象となったSMPリードIDをSMP_IDに持つレコードを限定取得しています(「SMP_ID__c=:var1」)。更新キーについても、SMPリードIDをキーとしています。連携先となる来場履歴に、同じSMPリードIDを持つレコードが複数あった場合も、それらすべてに更新がかかります。来場履歴としてカスタムオブジェクトに登録済みのレコードへの更新のみ実施したいので、更新方法を「UPDATE」としています。また、項目マッピングを以下のように設定します。リードオブジェクトの「Id」を、来場履歴の参照関係「Lead__c」に反映するマッピングになっています。項目IDSMP項目または連携先SFDC項目SFDC項目SMP項目の属性item-tut2-2-leadidLead__cId--なし--動作確認(連携ジョブの手動実行)ここまでの手順で、SMPに新規登録されたキャンペーン来場履歴がSFDCのカスタムオブジェクトに連携された上で、リードから参照可能となっているはずです。実際に、SMPにリードおよび来場履歴を登録し、連携ジョブを手動実行してみましょう。サンプルケース1で設定したリード連携のうち、SMP→SFDCの連携ジョブも有効となっていることが前提です。来場登録の方法については、SMPのユーザーマニュアルをご参照ください。エラーが発生した場合は、「連携実行時のトラブルシュート」ページも参照しつつ解決を試みてください。正しく連携されると、以下のように来場履歴のカスタムオブジェクトにデータが登録されます。SMPの各リードのキャンペーンへの来場日時をSFDC上で確認できるようになっています。また、リード名がリンク表示になっており、リードへの参照関係が登録できていることも確認できます。項目連携のTipsフィルターやテーブル変換の機能を利用すると、たとえば姓名など複数の項目を結合して連携したり、任意の文字列を追加・置換などして連携したりすることができます。SFDCの日時項目をSMPに連携する場合など、フィルターが必ず必要なケースもあります。利用可能なフィルターの種類や具体的な設定例については、機能リファレンスの章の「フィルター」ページや、「フィルターを利用した項目連携のTips」ページをご参照ください。
https://smpdoc.shanon.co.jp/ja/cooperation/apex2/chapter004/