List Action を試す
学習の目的
この単元を完了すると、次のことができるようになります。
- List Action を使用してデータをマージする方法を説明する。
- マージリストを並べるための List Action を構成する。
- 高度なマージ機能の使用方法を説明する。
リストを 1 つにまとめる
ClearLight は Robert に新しい要件を送信しました。マーケティングチームは、同じ AccountId を持つ 2 つの異なる顧客リードのリストをカスタマーケアセンターから受け取っています。チームはこれらのリストを、値が特定の順序になった 1 つのリストにマージする必要があります。
Robert はこのソリューションをぜひ作成したいと考えていますが、まず既存の製品で試してみる必要があります。空き時間枠の例を再度使用し、今回はリストマージ要件に取り組みます。
このスクリーンショットでは、担当のかかりつけ医には空いている予約時間枠が 5 つあります。
Robert は Integration Procedure で使用できる Action を調べ、List Action を使用して実験できることを確認しました。
この単元では、List Action をさらに掘り下げて、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)
- 空き時間枠データを取得するための HTTP Action (2)
- 複数のリストをマージするための List Action (3)
- JSON データを切り取るための Response Action (4)
まず HTTP Action から始めましょう。
最初の 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 (高度なリストマージ作成の例) (管理パッケージ用 Omnistudio)
- Salesforce ヘルプ: Omniscript Action Elements (Omniscript Action 要素) (管理パッケージ用 Omnistudio)