この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

RecommendationStrategy

おすすめ戦略を表します。おすすめ戦略はデータフローに似たアプリケーションで、データ取得、分岐、および論理演算を使用してクライアントに提供されるおすすめのセットを決定します。

ファイルのサフィックスおよびディレクトリの場所

RecommendationStrategy コンポーネントのサフィックスは .recommendationStrategy で、recommendationStrategies フォルダに保存されます。

バージョン

RecommendationStrategy コンポーネントは、API バージョン 45.0 以降で使用できます。

特別なアクセスルール

RecommendationStrategy 型のメタデータアクセスは、ManageRecommendationStrategies ユーザ権限によって裏付けられます。

項目

項目名 項目の型 説明
actionContext StrategyAction[] 戦略で使用されるアクションコンテキストの配列。
contextRecordType string フローで使用される $record の sObject 型。
description string おすすめ戦略の説明。
filter StrategyNodeFilter[] 検索条件ノードの配列。
if StrategyNodeIf[] if ノードの配列。
invocableAction StrategyNodeInvocableAction[] Apex の呼び出し可能なアクションノードの配列。API バージョン 46.0 以降で利用できます。
label string 必須。フローの表示ラベル。
map StrategyNodeMap[] 地図ノードの配列。API バージョン 46.0 以降で利用できます。
mutuallyExclusive StrategyNodeExclusive[] mutuallyExclusive ノードの配列。
onBehalfOfExpression string おすすめの意図した対象を定義する数式 (つまり、ケースに関連付けられた取引先責任者)。主に反応追跡に使用されます。
recommendationLimit StrategyNodeRecommendationLimit[] おすすめ制限ノードの配列。
recommendationLoad StrategyNodeRecommendationLoad[] おすすめ読み込みノードの配列。
sort StrategyNodeSort[] 並び替えノードの配列。
union StrategyNodeUnion[] 結合ノードの配列。

StrategyNodeBase

すべての戦略ノードの基本クラス。これは抽象クラスです。

項目名 項目の型 説明
childNode string 子ノード名の配列 (実行順)。
description string ノードの説明。
label string ノードの表示ラベル。
name string 必須。ノードの一意の名前。

StrategyAction

戦略から呼び出し可能なアクションへのコールを定義します。結果は、戦略の決定要素で使用されます。

項目名 項目の型 説明
action string 必須。実行する InvocableAction の名前または ID。
argument StrategyActionArg[] 戦略アクション引数のリスト。
description string 戦略の説明。
label string 戦略アクションの表示ラベル。
name string 必須。戦略アクションの一意の名前。戦略の決定要素で参照されます。
type InvocableActionType (string 型の列挙) 必須。呼び出し可能なアクションの種別。InvocableActionType 列挙を参照してください。

StrategyActionArg

戦略アクションに関連付けられている呼び出し可能なアクションに渡される引数を定義します。

項目名 項目の型 説明
name string 必須。呼び出し可能なアクションに渡すパラメータの一意の名前。
value string 必須。評価結果が戦略アクションのパラメータ値として使用される Salesforce 数式。

StrategyNodeUnionBase

子の結合を実行するノードの基本クラス。結合ノードは、子の出力を結合して結合ノード自体への入力を作成します。StrategyNodeUnionBase は StrategyNodeBase を拡張し、その項目のすべてを継承します。これは抽象クラスです。

項目名 項目の型 説明
limit int 出力される結果の最大数。

StrategyNodeFilter

おすすめを絞り込む検索条件要素を定義します。StrategyNodeUnionBase を拡張し、その項目のすべてを継承します。

項目名 項目の型 説明
expression string 必須。ノードの入力に含まれる各おすすめに対して実行される、結果が Boolean 値の数式。結果が true の入力から出力が作成され、結果が false の入力は除外されます。

StrategyNodeIf

除外する特定の子を選択し、その結果を結合します。子ノード式の配列に基づいて実行し、子ノードの結果を返します。StrategyNodeUnionBase を拡張し、その項目のすべてを継承します。

項目名 項目の型 説明
childNodeExpression IfExpression[] if 式の配列。
onlyFirstMatch boolean true の場合、一致する子の結果のみを選択します。false の場合、一致する子すべての結果を選択して結合します。デフォルト値は false です。

IfExpression

StrategyNodeIf で使用される式。

項目名 項目の型 説明
childName string 必須。照合する子の名前。
expression string 必須。true または false を返す数式。

StrategyNodeInvocableAction

おすすめのリストを作成または拡張するために、Apex の呼び出し可能なアクションをコールする要素を定義します。StrategyNodeUnionBase を拡張し、その項目のすべてを継承します。

項目名 項目の型 説明
action string 必須。実行する呼び出し可能なアクションの名前。
argument StrategyNodeInvocableActionArg[] 呼び出し可能なアクションに渡す引数のリスト。
isGenerator boolean 必須。true の場合、UI で作成要素が表示されます。false の場合、UI で拡張要素が表示されます。デフォルトは false です。
type InvocableActionType (string 型の列挙) 必須。呼び出し可能なアクションの種別。InvocableActionType 列挙を参照してください。有効な値は apex です。

StrategyNodeInvocableActionArg

おすすめのリストを作成または拡張する Apex の呼び出し可能なアクションに渡す引数を定義します。

項目名 項目の型 説明
name string 必須。呼び出し可能なアクションに渡すパラメータの一意の名前。この名前は、呼び出し可能なアクションで定義されたパラメータに一致する必要があります。
value string 必須。評価結果がアクションのパラメータ値として使用される Salesforce 数式。

StrategyNodeRecommendationLimit

すでに受諾または拒否されているおすすめを除外します。StrategyNodeUnionBase を拡張し、その項目のすべてを継承します。

項目名 項目の型 説明
filterMode StrategyReactionType (string 型の列挙)

除外する使用可能な反応。有効な値は、次のとおりです。

  • Accepted
  • Rejected
lookbackDuration int 検索でさかのぼる日数。
maxRecommendationCount int おすすめが受諾または拒否されている最大回数。

StrategyNodeRecommendationLoad

おすすめオブジェクトを取得します。StrategyNodeUnionBase を拡張し、その項目のすべてを継承します。

項目名 項目の型 説明
condition RecommendationLoadCondition[] どのおすすめを読み込むかを指定する条件の配列。
conditionLogic string 条件を組み合わせるロジック (AND または OR)。すべての条件が組み合わされます (混合ではない)。たとえば、Cond1 AND Cond2 AND Cond3 などです。

RecommendationLoadCondition

StrategyNodeRecommendationLoad で作成されたクエリの一部として使用される条件を表します。

項目名 項目の型 説明
field string 必須。おすすめ BPO (SOAP) オブジェクトの任意の項目。
operator RecommendationConditionOperator (string 型の列挙) 必須。

有効な値は、次のとおりです。

  • EQUALS
  • GREATER_THAN
  • GREATER_THAN_OR_EQUAL_TO
  • LESS_THAN
  • LESS_THAN_OR_EQUAL_TO
  • NOT_EQUALS
  • LIKE
  • STARTS_WITH
  • ENDS_WITH=
  • CONTAINS
value RecommendationConditionValue 必須。クエリで使用する定数値。

RecommendationConditionValue

RecommendationCondition の一部として使用される値を表します。

項目名 項目の型 説明
type RecommendationConditionValueType (string 型の列挙) 必須。

有効な値は、次のとおりです。

  • TEXT
  • NUMBER
  • BOOLEAN
  • DATE
  • DATE_TIME
  • TIME
value string 必須。定数値。

StrategyNodeSort

おすすめを並び替えます。StrategyNodeUnionBase を拡張し、その項目のすべてを継承します。

項目名 項目の型 説明
field StrategyNodeSortField 必須。並び替える項目。

StrategyNodeSortField

StrategyNodeSort で並び替える項目を定義します。

項目名 項目の型 説明
name string 必須。並び替える項目の名前。
nullsFirst boolean true の場合、null 値はリストの先頭に並び替えられます。デフォルトは false です。
order SortOrder (string 型の列挙)

リストの並び替え順。デフォルトは Asc です。有効な値は、次のとおりです。

  • Asc (昇順)
  • Desc (降順)

StrategyNodeUnion

StrategyNodeUnion は、すべての子ノードの出力を結合します。StrategyNodeUnion は StrategtNodeUnionBase の具象実装であり、その項目のすべてを継承します。

StrategyNodeMap

値を使用しておすすめ項目を設定します。StrategyNodeUnionBase を拡張し、その項目のすべてを継承します。

項目名 項目の型 説明
mapExpression MapExpression[] MaxExpressions のリスト。

StrategyNodeExclusive

最初に結果があった子ノードから結果を返し、それ以降は返しません。StrategyNodeUnionBase を拡張し、その項目のすべてを継承します。

MapExpression

戦略で使用されるおすすめ項目の値を設定します。

項目名 項目の型 説明
expression string 必須。結果が type 項目で指定されたデータ型によってサポートされる有効値の数式。
name string 必須。式が値を設定するおすすめ項目名。
type string 必須。expression 項目の値による値のデータ型。

有効な値は、次のとおりです。

  • BOOLEAN
  • CURRENCY
  • DATE
  • DOUBLE
  • DATE_TIME
  • INTEGER
  • LONG
  • PERCENT
  • TEXT
  • TIME

宣言的なメタデータの定義のサンプル

前の定義を参照する RecommendationStrategy コンポーネントの例を次に示します。

1<?xml version="1.0" encoding="UTF-8"?>
2<RecommendationStrategy xmlns="http://soap.sforce.com/2006/04/metadata">
3    <contextRecordType>Asset</contextRecordType>
4    <description>Hills Brothers Coffee strategy to handle machine down incidents</description>
5    <if>
6        <childNode>IfNoEscaladeOrBetterSupport</childNode>
7        <childNode>IfModel</childNode>
8        <description>If Machine Down</description>
9        <label>RootNode</label>
10        <name>RootNode</name>
11        <childNodeExpression>
12            <childName>IfModel</childName>
13            <expression>ISPICKVAL($Record.Status, &quot;OutOfOrder&quot;)</expression>
14        </childNodeExpression>
15        <childNodeExpression>
16            <childName>IfNoEscaladeOrBetterSupport</childName>
17            <expression>ISPICKVAL($Record.Status, &quot;OutOfOrder&quot;)</expression>
18        </childNodeExpression>
19        <onlyFirstMatch>false</onlyFirstMatch>
20    </if>
21    <if>
22        <childNode>LoadEscalade</childNode>
23        <description>If Customer does not have escalade support plan</description>
24        <label>IfNoEscaladeOrBetterSupport</label>
25        <name>IfNoEscaladeOrBetterSupport</name>
26        <childNodeExpression>
27            <childName>LoadEscalade</childName>
28            <expression>NOT(ISPICKVAL($Record.Account.SLA__c, &quot;Gold&quot;) || ISPICKVAL($Record.Account.SLA__c, &quot;Platinum&quot;))</expression>
29        </childNodeExpression>
30        <onlyFirstMatch>false</onlyFirstMatch>
31    </if>
32    <if>
33        <childNode>LoadMiniDiagnostic</childNode>
34        <childNode>LoadMaxiDiagnostic</childNode>
35        <description>If Machine Model switch node</description>
36        <label>IfModel</label>
37        <name>IfModel</name>
38        <childNodeExpression>
39            <childName>LoadMiniDiagnostic</childName>
40            <expression>$Record.Product2.Name == &quot;Mini Coffee Roaster&quot;</expression>
41        </childNodeExpression>
42        <childNodeExpression>
43            <childName>LoadMaxiDiagnostic</childName>
44            <expression>$Record.Product2.Name == &quot;Maxi Coffee Roaster&quot;</expression>
45        </childNodeExpression>
46        <onlyFirstMatch>false</onlyFirstMatch>
47    </if>
48    <label>HillsBrothersCoffee</label>
49    <recommendationLoad>
50        <description>Load upgrade to escalade support plan</description>
51        <label>LoadEscalade</label>
52        <name>LoadEscalade</name>
53        <condition>
54            <field>Name</field>
55            <operator>EQUALS</operator>
56            <value>
57                <type>TEXT</type>
58                <value>Upgrade your Maintenance Package</value>
59            </value>
60        </condition>
61        <conditionLogic>and</conditionLogic>
62    </recommendationLoad>
63    <recommendationLoad>
64        <description>Load Mini Coffee Roaster Diagnostic Troubleshooting proposition</description>
65        <label>LoadMiniDiagnostic</label>
66        <name>LoadMiniDiagnostic</name>
67        <condition>
68            <field>Name</field>
69            <operator>EQUALS</operator>
70            <value>
71                <type>TEXT</type>
72                <value>Mini Coffee Roaster Diagnostic Troubleshooting</value>
73            </value>
74        </condition>
75        <conditionLogic>and</conditionLogic>
76    </recommendationLoad>
77    <recommendationLoad>
78        <description>Load Maxi Coffee Roaster Diagnostic Troubleshooting proposition</description>
79        <label>LoadMaxiDiagnostic</label>
80        <name>LoadMaxiDiagnostic</name>
81        <condition>
82            <field>Name</field>
83            <operator>EQUALS</operator>
84            <value>
85                <type>TEXT</type>
86                <value>Maxi Coffee Roaster Diagnostic Troubleshooting</value>
87            </value>
88        </condition>
89        <conditionLogic>and</conditionLogic>
90    </recommendationLoad>
91    <union>
92        <childNode>RootNode</childNode>
93        <label>Output</label>
94        <name>Output</name>
95    </union>
96    <invocableAction>
97        <action>MyInvocableApexClass</action>
98        <isGenerator>true</isGenerator>
99        <type>apex</type>
100        <argument>
101            <name>MyNameParam</name>
102            <value>$User.FirstName</value>
103        </argument>
104        <argument>
105            <name>MyIdParam</name>
106            <value>$Record.Id</value>
107        </argument>
108    </invocableAction>
109    <map>
110        <expression>
111            <name>Name</name>
112            <expression>'Hello' & $User.FirstName</expression>
113            <type>TEXT</type>
114        </expression>
115        <expression>
116            <name>MyDynamicField</name>
117            <expression>Id == $Record.Id</expression>
118            <type>BOOLEAN</type>
119        </expression>
120    </map>
121</RecommendationStrategy>