Skip to main content

FlexCard の内部データを結合する

学習の目的

この単元を完了すると、次のことができるようになります。

  • FlexCard のデータソースについて説明する。
  • JSON ノードとサブノードについて説明する。
  • JSON 出力で複数のノードを使用した構築を行う。

FlexCard のデータソース

ほとんどの場合、FlexCard も OmniScript と同じ方法で OmniStudio のデータツールと連動させることができます。前述のとおり、Integration Procedure や Data Mapper は OmniStudio の複数のコンポーネントに接続することが可能です。この単元では、こうした OmniStudio のデータツールで 2 つ以上の FlexCard のデータを結合させる方法をご紹介します。

以下は Account FlexCard で、取引先の名前、主取引先責任者、電話番号、Web サイト、郵便番号が表示されています。

Account FlexCard

次は Contact FlexCard で、取引先の取引先責任者の名前、メールアドレス、電話番号が表示されています。

Contacts FlexCard

1 つの Integration Procedure を使用して、この 2 つの FlexCard のデータを取得するにはどうすればよいでしょうか? では、FlexCard で使用できるデータソースから見ていきましょう。FlexCard には数通りのデータ入力オプションがあります。データの入力におけるベストプラクティスは Integration Procedure です。Integration Procedure ではデータの設定が FlexCard の設定と区別されているためです。詳細は、「OmniStudio Integration Procedure」モジュールを参照してください。  

ただし、Integration Procedure の使用が推奨されないシナリオがいくつかあります。

データソース

このデータソースを使用する状況

ストリーミング API

データの変更時の自動更新

Salesforce Object Search Language (SOSL) 

Salesforce オブジェクト全体のテキスト項目の検索

サンプル

静的データの表示またはテスト

取引先ベースの FlexCard がコンソールに表示されると、取引先の RecordId が {recordId} という変数で FlexCard に渡されます。ユーザーがこの ID を AccountId という変数で Integration Procedure に渡します。上記の変数名はすべて任意ですが、データを適切にフローさせるためには変数名が一致している必要があります。 

対応する情報のフロー図

Integration Procedure から Data Mapper Extract に AccountId が渡されます。すると、Data Mapper Extract がこの AccountId を使用して一意の Salesforce レコードを識別し、一連の SOQL (Salesforce Object Query Language) クエリで Salesforce にデータを要求します。このクエリで AccountId と、取引先レコードの他の項目や関連付けられている取引先責任者レコードの他の項目が返されます。 

対応する情報のフロー図

Data Mapper がデータを対応付けて Integration Procedure に返し、Integration Procedure がそのデータを元の FlexCard に渡します。この JSON が FlexCard と子 FlexCard (ある場合) に入力され、コンソールでエンドユーザーにこのデータが表示されます。

対応する情報のフロー図

JSON ノードとサブノードとは?

JSON のデータはノード (と場合によってはサブノード) に分割されます。 

取引先データと取引先責任者データの JSON ノードとサブノード

この JSON データには、取引先データ (1) と取引先責任者データ (2) という 2 つのノードがあります。各ノードは、コロン : と中括弧 { } で区切られます。さらに、取引先責任者ノードには、取引先責任者の各人に対応する 2 つのサブノード (3) があります。サブノードごとに中括弧で囲まれています。

複数の FlexCard の使用を最も効果的にサポートする JSON の構造は、各 FlexCard に親ノードを使用するものです。Result JSON Path を絞り込むと、データがトリミングされ、関連性の高いデータのみが FlexCard に取り込まれます。

取引先責任者と取引先の Result Parent JSON Path によって、各 FlexCard に関連性の高いデータのみが取り込まれる

JSON 出力で複数ノードを使用して構築する

FlexCard のデータソースや JSON ノードとサブノードについて詳しく説明しました。次は、複数のノードを使用して構築する必要がある Data Mapper Extract を見ていきましょう。

Data Mapper の抽出では別の手順のデータを参照するため、この順序で実行することが重要です。この Data Mapper の [Extract (抽出)] タブで、次の手順を実行する必要があります。

  1. 取引先データを取得します。
  2. この取引先に関連する取引先責任者データを取得します。
  3. 取引先の特定の項目 ([Primary Contact (主取引先責任者)] 項目) を使用して絞り込みます。Data Mapper では、前の抽出ステップで使用したオブジェクトの検索条件を使用できます。

[Extract (抽出)] タブに、取引先の 1 つの抽出出力パスと、取引先責任者の 2 つの抽出出力パスが表示される

[Output (出力)] タブで、取引先オブジェクトと取引先責任者オブジェクトと両方の Extract Step JSON から Output JSON への対応付けを作成します。 

サブノードを作成する場合は、Output JSON Path を対応付けるときにコロンを使用します。たとえば、Account:AccountName と Account:AccountWebsite から、AccountName 項目と AccountWebsite 項目をリストする取引先ノードが作成されます。

[Output (出力)] タブに取引先の項目と取引先責任者の項目の対応付けが表示される

次に、Integration Procedure の設定方法を見ていきましょう。

Integration Procedure を作成するときは、Data Mapper Extract Action (1) を [Structure (構造)] パネルに追加します。[Data Mapper Interface (Data Mapper インターフェース)] 項目 (2) を使用して、Integration Procedure と Data Mapper を結び付けます。

この Integration Procedure を Account FlexCard と Contact FlexCard のデータソースに設定すると、1 つの Integration Procedure で Account FlexCard と Contact FlexCard の両方のデータが取得されます。

これで、OmniStudio のデータツールで内部データを処理する方法を習得することができました。こうしたツールで外部ソースのデータを処理する方法を学習したい方は、「OmniStudio のデータツールと外部データ」モジュールに進んでください。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む