DuplicateRule
ファイルのサフィックスおよびディレクトリの場所
DuplicateRule コンポーネントのサフィックスは .duplicateRule で、duplicateRules/ ディレクトリに保存されます。コンポーネントのファイルの名前は、ルールに関連付けられているオブジェクトの名前に基づきます。たとえば、コンポーネントファイル名 duplicateRules/Account.Standard_Account_Duplicate_Rule.duplicateRule は、取引先オブジェクトに関連付けられている重複ルールコンポーネントを表します。
バージョン
DuplicateRule コンポーネントは、API バージョン 50.0 以降で使用できます。
項目
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| actionOnInsert | DupeActionType (string 型の列挙) | 必須。ユーザまたは DuplicateRule API が、重複するレコードを挿入しようとしたとき、重複ルールで何を実行するかを決めます。有効な値は、次のとおりです。
|
| actionOnUpdate | DupeActionType (string 型の列挙) | 必須。ユーザまたは DuplicateRule API がレコードを更新しようとして、結果が重複するとき、重複ルールで何を実行するかを決めます。有効な値は、次のとおりです。
|
| alertText | string | 重複ルールがトリガされたときに送信されるテキスト。テキストが送信されるのは、isActive が true である場合のみです。UI では、テキストがメッセージとして表示されます。DuplicateRule API は、その応答でメッセージを返します。 alertText の値を設定できるのは、actionOnInsert か actionOnUpdate、またはその両方を Allow に設定したときのみです。このように設定していないと、このコンポーネントの追加または更新を行うときに入力規則エラーが発生します。 |
| description | string | 必須。重複ルールを説明するテキストです。値はお客様が指定しますが、UI には表示されません。 |
| duplicateRuleFilter | DuplicateRuleFilter | 必須。重複を探すときに考慮するレコードの検索方法を定義する条件。たとえば、duplicateRuleFilter を使用して、重複を探すときに照合からレコードを除外します。 |
| duplicateRuleMatchRules | DuplicateRuleMatchRule[] | 必須。DuplicateRule の 1 つ以上の MatchingRule コンポーネント。MatchingRule では、レコード間の一致を何によって判定するかを制御します。 |
| isActive | boolean | 必須。true にすると、DuplicateRule によって重複レコードが検出されます。その他の場合、ルールは無効です。 |
| masterLabel | string | 必須。この DuplicateRule のマスタ表示ラベル。この値は、ルールの内部ラベルです。 |
| operationsOnInsert | string[] | 必須。actionOnInsert が Allow に設定されていて、重複ルールがトリガされたときに実行するアクションを制御します。次のいずれか���値または両方の値を配列に設定できます。
|
| operationsOnUpdate | string[] | 必須。actionOnUpdate が Allow に設定されていて、重複ルールがトリガされたときに実行するアクションを制御します。次のいずれかの値または両方の値を配列に設定できます。
|
| securityOption | DupeSecurityOptionType (string 型の列挙) | 必須。レコード共有ルールが重複管理にどのように影響するかを決めます。有効な値は、次のとおりです。
|
| sortOrder | int | 必須。重複ルールを適用する順序を決めます。 |
DuplicateRuleMatchRule
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| matchRuleSObjectType | string | 必須。一致ルールの対象オブジェクトの名前。たとえば、取引先責任者レコードの重複ルールを定義し、リードレコードと照合する場合は、matchRuleSObjectType の値をリードにします。 |
| matchingRule | string | 必須。この重複ルールの MatchingRule で developerName の値に対応する値。 |
| objectMapping | ObjectMapping | 必須。ObjectMapping の外部キーであり、重複ルールのオブジェクトの項目を matchRuleSObjectType によって指定される対象オブジェクトの項目に対応付けます。 |
DuplicateRuleFilter
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| booleanFilter | string | 必須。duplicateRuleFilterItems に指定されている条件設定項目に検索条件ロジックを設定する、Boolean 演算子の文字列。 |
| duplicateRuleFilterItems | DuplicateRuleFilterItem[] | 必須。DuplicateRuleFilterItem コンポーネントのリスト。 |
DuplicateRuleFilterItem
このタイプによって FilterItem タイプが拡張され、すべての項目が継承されます。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| sortOrder | int | 必須。重複ルール条件でのこの項目の順序。 |
| table | string | 必須。DuplicateRuleFilterItem の field 項目に指定されている項目があるオブジェクト。field の定義については、FilterItem のドキュメントを参照してください。 |
ObjectMapping
たとえば、取引先責任者オブジェクトとリードオブジェクトとの間で重複を探す DuplicateRule があるとします。この場合、入力オブジェクトは取引先���任者であり、出力オブジェクトはリードです。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| inputObject | string | 必須。重複ルールの入力オブジェクト。DuplicateRule はこのオブジェクトに関連付けられます。たとえば、取引先責任者レコードの重複ルールを定義し、リードレコードと照合する場合は、inputObject の値を取引先責任者にします。 |
| mappingFields | ObjectMappingField[] | 必須。重複ルールの参照元オブジェクト項目と参照先オブジェクト項目の対応付け。 |
| outputObject | string | 必須。重複ルールの出力オブジェクト。この値は、DuplicateRuleMatchRule の matchRuleSObjectType 項目の値と同じです。DuplicateRule API で ObjectMapping が使用されるとき、このオブジェクトに含まれる重複ルールは無視されます。 |
ObjectMappingField
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| inputField | string | 必須。ObjectMapping の inputObject 項目によって指定されるオブジェクトの項目。この項目は outputField の項目に対応付けられ、ObjectMapping の outputObject 項目によって指定されるオブジェクトの項目であると想定されます。 |
| outputField | string | 必須。ObjectMapping の outputObject 項目によって指定されるオブジェクトの項目。この項目は inputField の項目名に対応付けられ、ObjectMapping の inputObject によって指定されるオブジェクトの項目であると想定されます。 |
宣言的なメタデータの定義のサンプル
DuplicateRule コンポーネントの例を次に示します。
1<?xml version="1.0" encoding="UTF-8"?>
2<DuplicateRule xmlns="http://soap.sforce.com/2006/04/metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
3 <actionOnInsert>Allow</actionOnInsert>
4 <actionOnUpdate>Allow</actionOnUpdate>
5 <alertText>You are creating a duplicate record. Use an existing record instead.</alertText>
6 <description>Detects a contact that duplicates a Lead</description>
7 <duplicateRuleFilter>
8 <booleanFilter xsi:nil="true"/>
9 <duplicateRuleFilterItems>
10 <field>Username</field>
11 <operation>equals</operation>
12 <value>user@example.com</value>
13 <sortOrder>1</sortOrder>
14 <table>User</table>
15 </duplicateRuleFilterItems>
16 </duplicateRuleFilter>
17 <duplicateRuleMatchRules>
18 <matchRuleSObjectType>Lead</matchRuleSObjectType>
19 <matchingRule>ContactToLeadDuplicate_matching_rule</matchingRule>
20 <objectMapping>
21 <inputObject>Contact</inputObject>
22 <mappingFields>
23 <inputField>FirstName</inputField>
24 <outputField>FirstName</outputField>
25 </mappingFields>
26 <mappingFields>
27 <inputField>LastName</inputField>
28 <outputField>LastName</outputField>
29 </mappingFields>
30 <outputObject>Lead</outputObject>
31 </objectMapping>
32 </duplicateRuleMatchRules>
33 <isActive>true</isActive>
34 <masterLabel>ContactToLeadDuplicate</masterLabel>
35 <operationsOnInsert>Alert</operationsOnInsert>
36 <operationsOnInsert>Report</operationsOnInsert>
37 <operationsOnUpdate>Alert</operationsOnUpdate>
38 <operationsOnUpdate>Report</operationsOnUpdate>
39 <securityOption>EnforceSharingRules</securityOption>
40 <sortOrder>1</sortOrder>
41</DuplicateRule>前の定義を参照する package.xml の例を次に示します。
1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>ContactToLeadDuplicate</members>
5 <name>DuplicateRule</name>
6 </types>
7 <version>38.0</version>
8</Package>マニフェストファイル内のワイルドカードのサポート
このメタデータ型では、package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) がサポートされます。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。