Web API を使用してテーブル行をマージする

重複するレコードを見つけた場合は、Merge Action を使用して 1 つに融合できます。

注意

次のエンティティの種類のみをマージできます:

マージ アクション

マージは、4 つのパラメーターを受け入れるバインドされていないアクションです:

名前 タイプ 説明 オプション
Target crmbaseentity マージ操作のターゲット。 いいえ
Subordinate crmbaseentity データのマージ元のエンティティ レコード。 いいえ
UpdateContent crmbaseentity マージ操作中に設定される追加のエンティティ属性。 はい
PerformParentingChecks ブール型 2 つのエンティティ レコードの親情報が異なるかどうかを確認するかどうかを示します。 いいえ

マージすると、Subordinate レコードの有用なデータが Target に移動します。 Target レコード内の既存のデータは上書きされません。 そうすると、Subordinate レコードが非アクティブ化されます。 この操作を実行するには、呼び出し者は、Target および Subordinate と特定する両方のレコードへのアクセスへの特権と許可が必要です。

POST 要求を使用してデータを送信し、レコードをマージします。 この例では、マージ後に残るレコードの accountnumber プロパティを更新するときに、2 つの取引先企業エンティティ レコードをマージします。

要求:

POST [Organization URI]/api/data/v9.0/Merge HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json

{
  "Target": {
    "name": "Account 1",
    "accountid": "bb8055c0-aea6-ea11-a812-000d3a55d474",
    "@odata.type": "Microsoft.Dynamics.CRM.account"
  },
  "Subordinate": {
    "name": "Account 2",
    "accountid": "c38055c0-aea6-ea11-a812-000d3a55d474",
    "@odata.type": "Microsoft.Dynamics.CRM.account"
  },
  "UpdateContent": {
    "accountnumber": "1234",
    "@odata.type": "Microsoft.Dynamics.CRM.account"
  },
  "PerformParentingChecks": false
}

重要

TargetSubordinateUpdateContent プロパティ タイプはパラメータによって明示的に定義されていないため、@odata.type コメントを含めてタイプを指定する必要があります。

応答:

HTTP/1.1 204 No Content
OData-Version: 4.0

インシデントのマージ動作

incident (ケース) テーブルのマージ動作は、accountcontact、または lead テーブルとは異なります。

  • UpdateContent パラメーター データは、使用されていません。

  • マージは、ユーザーのセキュリティ コンテキストで実行されます

    他のテーブルのマージ操作は、システム ユーザーのセキュリティ コンテキストを使用して実行されます。 インシデントのマージ操作はユーザーのセキュリティ コンテキストで実行されるため、ユーザーは、マージ操作によって実行される関連レコードの親を変更するなどのアクションを実行するためのセキュリティ権限を持っている必要があります。

    レコードをマージするユーザーが、マージ操作に含まれるすべてのアクションに対する特権を持っていない場合、マージ操作は失敗し元の状態にロールバックします。

参照

Web API アクションの使用
重複レコードの統合
MergeRequest Class
管理ガイド: データをマージする
Dynamics 365 for Service: ケースの結合

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。