Territory2Rule
Territory Management 2.0 で Account などのオブジェクトに関連付けられているテリトリー割り当てルールに関連付けられているメタデータを表します。Metadata メタデータ型を拡張し、その fullName 項目を継承します。Salesforce 組織で Territory Management 2.0 が有効化されている場合にのみ使用できます。
ファイルのサフィックスおよびディレクトリの場所
Territory2Rule コンポーネントのサフィックスは territory2Rule で、対応する Territory2Model のフォルダの下位にある rules フォルダに保存されます。
バージョン
Territory2Rule コンポーネントは、API バージョン 32.0 以降で使用できます。
特別なアクセス
Territory2Model オブジェクトは、SOAP API に State 項目があります。状態は計画中、有効、アーカイブ済みのほか、コピー中などプロセスが進行中であることを示すものも多数あります。「テリトリーの管理」権限がないユーザは、有効状態のモデルに属するルールのみにアクセスできます。すべてのテリトリー管理エンティティに対する deploy() コールには、メタデータ API で必要な「すべてのデータの編集」権限のほかに「テリトリーの管理」権限が必要です。「テリトリーの管理」権限のないユーザが retrieve() を実行すると、有効状態の Territory2Model に属するエンティティのみが返されます。「テリトリーの管理」権限なしにコールを実行してもデータの一部しか取得されないためお勧めしません。SOAP API とユーザインターフェースでは、ルールを作成または編集するユーザに、ルール項目で参照される項目に対する項目レベルセキュリティのアクセス権が必要です。メタデータ API deploy() 操作では、「すべてのデータの編集」および「テリトリーの管理」権限が必要とされるため、この制限は緩和されます。「すべてのデータの編集」はメタデータ API 操作の基本の権限要件です。
項目
| 項目名 | データ型 | 説明 |
|---|---|---|
| active | boolean | 必須。ルールが有効か (true)、無効か (false) を示します。API を使用して、有効なルールは、オブジェクトレコードの作成時および編集時に自動的に実行されます。オブジェクトレコードの IsExcludedFromRealign 項目の値が true の場合は例外で、レコード割り当てルールによってそのレコードを評価することができません。 |
| booleanFilter | string | 高度な検索条件。たとえば、(1 AND 2) OR 3 です。番号は 1 で始まり、連続している必要があります。 |
| name | string | 必須。ルールのユーザインターフェース表示ラベル。 |
| objectType | string | 必須。ルールの定義対象であるオブジェクト。API バージョン 32.0 の場合、使用できるオブジェクトは取引先のみです。 |
| ruleItems | Territory2RuleItem | ルールの選択基準を定義する項目 ([都道府県(請求先)] equals [カリフォルニア] など)。 |
Territory2RuleItem
ルールへのルール項目の関連付けを表します。API バージョン 32.0 以降で使用できます。
| 項目名 | データ型 | 説明 |
|---|---|---|
| field | string | ルール項目の操作対象である標準またはカスタムオブジェクト項目。 |
| operation | FilterOperation (string 型の列挙) | ルール項目に適用する条件。たとえば、「次の文字列と一致する」や「次の文字列で始まる」などです。 |
| value | string | 評価する項目値。たとえば、項目が [郵便番号(請求先)] の場合、値は 94105 などです。 |
宣言的なメタデータの定義のサンプル
次の例は、Territory2RuleItem コンポーネントの定義を示します。
1<?xml version="1.0" encoding="UTF-8"?>
2<Territory2Rule xmlns="http://soap.sforce.com/2006/04/metadata">
3 <label>Northern CA</label>
4 <description>To capture northern CA based accounts</description>
5 <objectType>Account</objectType>
6 <active>True</active>
7 <ruleItems>
8 <field>BillingZip</field>
9 <operation>contains</operation>
10 <value><94105,94404,94536/value>
11 </ruleItems>
12 <ruleItems>
13 <field>Industry</field>
14 <operation>equals</operation>
15 <value>IT</value>
16 </ruleItems>
17 <ruleItems>
18 <field>someCustomField__c</field>
19 <operation>greater_than</operation>
20 <value>50000</value>
21 </ruleItems>
22 <booleanFilter>(1 OR 2) AND 3</booleanFilter>
23</Territory2Rule>package.xml のサンプルを次に示します。FY13 および FY14 は、テリトリーモデルの名前を表し、異なるモデル内でルールに同一の開発者名を指定できることを示しています。モデル名の代わりにワイルドカード記号 (*) を使用すると、組織内のすべてのモデルの全ルールが取得されます。
1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>FY13</members>
5 <members>FY14</members>
6 <name>Territory2Model</name>
7 </types>
8
9 <types>
10 <members>FY13.AccRule1</members>
11 <members>FY14.AccRule1</members>
12 <name>Territory2Rule</name>
13 </types>
14
15 <version>43.0</version>
16</Package>使用方法
- テリトリールールには、最大 10 個のルール項目を設定できます。
- ルール項目の並び替え順は、XML のルール項目の位置から暗黙的に導出されます。
- ルールはメタデータ API 経由で実行できません。
- Territory Management 2.0 のコンポーネントは、パッケージ化や変更セットをサポートしておらず、CRUD コールでサポートされていません。