List Action を試す
学習の目的
この単元を完了すると、次のことができるようになります。
- List Action を使用してデータをマージする方法を説明する。
- マージリストを並べるための List Action を構成する。
- 高度なマージ機能の使用方法を説明する。
はじめに
ClearLight は Robert に新しい要件を送信しました。マーケティングチームは、同じ AccountId を持つ 2 つの異なる顧客リードのリストをカスタマーケアセンターから受け取っています。チームはこれらのリストを、値が特定の順序になった 1 つのリストにマージする必要があります。
Robert はこのソリューションをぜひ作成したいと考えていますが、まず既存の製品で試してみる必要があります。空き時間枠の例を再度使用し、今回はリストマージ要件に取り組みます。
Tom Johnson が担当のかかりつけ医で、5 つの予約時間枠が空いています。
Robert は Integration Procedure で使用できる Action を調べ、List Action を使用して実験できることを確認しました。List Action の詳細を見ながら、Robert がうまく顧客の要件を実現できることを確認しましょう。
Robert にはまた疑問が湧いています。「List Action とは何か? どう構成するのか?」
List Action
List Action は指定されたリスト項目 JSON ノードの値をマッチングして、複数のリストをマージします。プロジェクト要件に応じて、基本的なマージと高度なマージのいずれかを使用できます。
- 基本的なマージでは、ノード名を正確にマッチングします。
- 高度なマージでは、受け取るリストにある異なる名前のノードや、異なるレベルのノードをマッチングします。
名前やレベルが異なるノードをマッチングするには、[Advanced Merge (高度なマージ)] をクリックします。
ノードをマッチングするための設定を次のように指定します。
- List Key (リストキー): マッチングするデータが含まれる JSON リストノードの名前を入力します。
- Matching Path (マッチングパス): マッチングするデータへのパスを入力します。
- Matching Group (マッチンググループ): マッチングするすべての値に同じ番号を指定します。
List Action のプロパティを設定する
この単元で後ほど List Action の構成に使用する主要なプロパティを見てみましょう。
List Action はリスト項目 JSON ノードの値をマッチングして、複数のリストをマージします。List Actionを使用してリストの並び替え、絞り込み、値の追加もできます。[List Merge (リストマージ)] セクションの構成オプションを確認しましょう。
プロパティ |
説明 |
---|---|
Merge Lists Order (リストのマージ順序) (1) |
リストがマージされる順序。リストに以前のリストで入力されたキーの値が含まれる場合、後のエントリで以前のエントリが上書きされます。 |
Advanced Merge (高度なマージ) (2) |
受け取るリスト内の名前やレベルが異なるノードをマッチングします。 |
Merge Fields (マージ項目) (3) |
エントリをマージするためにマッチする必要がある JSON ノードの名前。 JSON 構造の最上位より下にあるノードを指定するには、コロン区切りのパスを使用します。 デフォルトでは、両方のリストのノードは同じ名前で同じレベルにあると想定されています。 マージ項目を指定しないと、リストは 1 つのリストにマージされますが、キーがマッチしていてもノードはマージされません。 |
NULL をマージ時の有効なマッチング値にする (4) |
マージ項目が null の場合、マッチした項目として扱うかどうかを指定します。 |
Has Primary (主リストあり) (5) |
アウトプット内のリスト要素を指定します。主リストの要素とマッチしない他のリストの要素は無視されます。 |
List Action を構成する
Robert は意欲満々でプロジェクトを先に進めようとしています。Robert が正しい方向に進めるように、List Action を使用する Integration Procedure の例を見ていきましょう。
Robert が強固な Integration Procedure を作成するために必要なビルディングブロックは何でしょうか? 医療サービス提供者に関連するデータを取得するための HTTP Action (1) と空き時間枠データを取得するためにもう 1 つ他の HTTP Action (2) が必要です。さらに、複数のリストをマージするための List Action (3) と JSON データを切り取るための Response Action (4) が必要です。
最初の HTTP Action (1) は [HTTP Path (HTTP パス)] から医療サービス提供者に関するデータを取得します。目的の URL を [HTTP Path (HTTP パス)] (2) に入力し、[HTTP Method (HTTP メソッド)] (3) に「GET」を設定します。
空き時間枠データを取得する次の HTTP Action (1) では、[HTTP Path (HTTP パス)] (2) に外部システムの URL、[HTTP Method (HTTP メソッド)] (3) に目的のアクションを入力します。
次は List Action の詳細を構成します。
List Action はノード値をマッチングして複数のリストをマージするのに適しています。[List Action (リストアクション)] (1) を [Structure (構造)] パネルにドラッグします。[Merge Lists Order (リストのマージ順序)] (2) を構成します。医療サービス提供者の値を「HTTPActionGetCareProviders:careProviders」に設定します。各医療サービス提供者の空き時間枠リストを作成するには、値「HTTPActionGetTimeSlotsArray:slots」を追加します。[Merge Fields (マージ項目)] (3) に JSON ノードの名前を入力します。ノードの名前はマージするエントリとマッチする必要があります。
最後に Response Action (1) を [Structure (構造)] パネルにドラッグします。Response Action の [Response Format (レスポンスフォーマット)] 項目 (2) に目的のフォーマットを入力します。この場合、目的のフォーマットは「JSON」です。次に、構成した List Action をプレビューし、[Response (レスポンス)] セクションで結果を確認します。
[Input Parameters (インプットパラメーター)] (1) ペインで、[Execute (実行)] (2) をクリックします。[Response (レスポンス)] ペイン (3) にリストフォーマットで並んだデータと医療サービス提供者 ID が表示されます。
これで Robert は自信を持って List Action を使用してリストをマージできます。次は、Integration Procedure の高度な機能について詳細を学習します。
リソース
-
Salesforce ヘルプ: Create an Advanced List Merge Example (高度なリストマージ作成の例)
-
Salesforce ヘルプ: Common Action Element Properties (共通するアクション要素のプロパティ)