Partager via


Détecter les données en double à l’aide de l’API Web

Vous pouvez détecter les lignes de table en doublon d’une ligne existante afin de maintenir l’intégrité des données. Pour obtenir des informations détaillées sur la détection des données dupliquées à l’aide du code, consultez Détecter les doublons à l’aide de code

Détecter les doublons durant l’opération de création

Utilisez l’en-tête de demande MSCRM.SuppressDuplicateDetection avec une requête POST pour détecter la création d’un doublon d’enregistrement existant. La valeur attribuée à l’en-tête MSCRM.SuppressDuplicateDetection détermine si l’opération de création ou de mise à jour peut être réalisée :

  • true – Créez ou mettez à jour l’enregistrement si un doublon est détecté.
  • false – Ne créez pas ni ne mettez à jour l’enregistrement si un doublon est détecté.

Utilisez l’en-tête par défaut MSCRM.SuppressDuplicateDetection et définissez sa valeur sur false dans la demande d’API Web.

Notes

Assurez-vous qu’il existe des règles de détection des doublons appropriées. Dataverse comprennent des règles de détection des doublons par défaut pour les comptes, les contacts et les prospects, mais pas pour les autres types d’enregistrements. Si vous souhaitez que le système détecte les doublons pour d’autres types d’enregistrements, vous devez créer une règle.
- Pour plus d’informations sur la création d’une règle de détection des doublons dans l’interface utilisateur, consultez Configurer des règles de détection des doublons pour garder vos données propres.
- Pour plus d’informations sur la création de règles de détection des doublons à l’aide de code, voir Tables de règle de détection des doublons.

Exemple : Détecter les doublons pendant l’opération de création à l’aide de l’API Web

Cet exemple montre comment détecter les doublons durant les opérations Create et Update à l’aide de l’en-tête MSCRM.SuppressDuplicateDetection dans la demande de l’API Web.

Demande :

POST [Organization URI]/org1/api/data/v9.2/leads HTTP/1.1
If-None-Match: null
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json
Accept: application/json
MSCRM.SuppressDuplicateDetection: false


{
    "firstname":"Monte",
    "lastname":"Orton",
    "emailaddress1":"monteorton@example.com"
}

Si un enregistrement de prospect avec le même attribut emailaddress1 existe déjà, la réponse suivante est renvoyée.

Réponse :

HTTP/1.1 500 Internal Server Error  
Content-Type: application/json; odata.metadata=minimal  
OData-Version: 4.0

{
    "error": {
        "code": "0x80040333",
        "message": "A record was not created or updated because a duplicate of the current record already exists."
    }
}

Attribuez la valeur true à l’en-tête MSCRM.SuppressDuplicateDetection pour permettre la création d’un doublon d’enregistrement.

Détecter les doublons durant l’opération de mise à jour

Définissez la valeur de l’en-tête MSCRM.SuppressDuplicateDetection sur false dans votre demande PATCH pour éviter la création d’un enregistrement en double lors de l’opération de mise à jour. Par défaut, la détection des doublons est supprimée lorsque vous mettez à jour des enregistrements à l’aide de l’API Web.

Exemple : Détecter les doublons pendant l’opération de mise à jour à l’aide de l’API Web

L’exemple ci-dessous affiche les tentatives de mise à jour d’un enregistrement d’entité Prospect existant, ce qui inclut la même valeur d’attribut emailaddress1 dans un enregistrement existant.

Demande :

PATCH [Organization URI]/api/data/v9.2/leads(c4567bb6-47a3-e711-811b-e0071b6ac1b1) HTTP/1.1
If-None-Match: null
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json
Accept: application/json
MSCRM.SuppressDuplicateDetection: false
If-Match: * 

{
    "firstname":"Monte",
    "lastname":"Orton",
    "emailaddress1":"monteorton@example.com"
}

Réponse :

HTTP/1.1 500 Internal Server Error  
Content-Type: application/json; odata.metadata=minimal  
OData-Version: 4.0

{
    "error": {
        "code": "0x80040333",
        "message": "A record was not created or updated because a duplicate of the current record already exists."
    }
}

Voir aussi

Détecter les données en double à l’aide du SDK pour .NET

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).