Partager via


Fusionner des lignes de table à l’aide de l’API web

Lorsque vous trouvez des enregistrements en double, vous pouvez les combiner en un à l’aide de l’action de fusion.

Note

Seuls les types d’entités suivants peuvent être fusionnés :

Action de fusion

La fusion est une action indépendante qui accepte quatre paramètres :

Nom Type Descriptif Optional
Target crmbaseentity Cible de l’opération de fusion. Non
Subordinate crmbaseentity Enregistrement d’entité à partir duquel fusionner des données. Non
UpdateContent crmbaseentity Plus d’attributs d’entité à définir pendant l’opération de fusion. Oui
PerformParentingChecks Booléen Indique s’il faut vérifier si les informations parentes sont différentes pour les deux enregistrements d’entité. Non

La fusion déplace toutes les données utiles de l’enregistrement Subordinate vers l’enregistrement Target . Les données existantes dans l’enregistrement Target ne sont pas remplacées. Ensuite, l’enregistrement Subordinate est désactivé. Pour effectuer cette opération, l’appelant doit disposer de privilèges et de droits d’accès aux deux enregistrements identifiés comme étant le Target et Subordinate.

Utilisez une requête POST pour envoyer des données pour fusionner des enregistrements. Cet exemple fusionne deux enregistrements d’entité de compte tout en mettant à jour la propriété accountnumber de l’enregistrement qui restera après la fusion.

Requête :

POST [Organization URI]/api/data/v9.2/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
}

Important

Étant donné que les types de propriétés Target, Subordinate, et UpdateContent ne sont pas explicitement définis par le paramètre, vous devez inclure l’annotation @odata.type pour spécifier le type.

Réponse:

HTTP/1.1 204 No Content
OData-Version: 4.0

Comportement de fusion pour l’incident

Le comportement de fusion pour incident table (cas) est différent de celui des tables account, contact ou lead.

  • Les UpdateContent données de paramètre ne sont pas utilisées.

  • La fusion est effectuée dans le contexte de sécurité de l’utilisateur

    Les opérations de fusion pour d’autres tables sont effectuées avec un contexte de sécurité utilisateur système. Étant donné que les opérations de fusion d’incidents sont effectuées dans le contexte de sécurité de l’utilisateur, l’utilisateur doit disposer des privilèges de sécurité nécessaires pour effectuer l’une des actions, telles que la réparentation des enregistrements associés, que l’opération de fusion effectue.

    Si l’utilisateur fusionne les enregistrements n’a pas de privilèges pour toutes les actions contenues dans l’opération de fusion, l’opération de fusion échoue et revient à l’état d’origine.

Voir aussi

Utiliser des actions API Web
Fusionner des enregistrements en double
MergeRequest, classe
Guide d’administration : Fusionner des données
Dynamics 365 for Service : cas de fusion