Erkennen von doppelten Daten mit der Web-API

Sie können doppelte Tabellenzeilen einer bestehenden Zeile zu erkennen, um die Integrität der Daten zu erhalten. Ausführliche Informationen zum Erkennen von doppelten Daten mithilfe des Codes, finden Sie unter Erkennen von doppelten Daten mit Code

Erkennen von Duplikaten beim Vorgang "Erstellen"

Verwenden Sie den MSCRM.SuppressDuplicateDetection-Anforderungsheader mit POST, um während der Erstellung einen doppelten Datensatz eines vorhandenen Datensatzes zu erkennen. Der Wert, der zur Kopfzeile MSCRM.SuppressDuplicateDetection zugewiesen wird, bestimmt, ob der Erstellten- oder der Aktualisierungsvorgang abgeschlossen werden kann:

  • true – Den Datensatz erstellen oder aktualisieren, wenn ein Duplikat gefunden wird.
  • false – Den Datensatz nicht erstellen oder aktualisieren, wenn ein Duplikat gefunden wird.

Verwenden Sie die Voreinstellungskopfzeile MSCRM.SuppressDuplicateDetection, und legen Sie deren Wert in der Internet API-Anforderung auf false fest.

Hinweis

Stellen Sie sicher, dass entsprechende Duplikaterkennungsregeln vorhanden sind. Dataverse-Apps enthält standardmäßige Duplikaterkennungsregeln für Firmen, Kontakte und Leads, jedoch nicht für andere Datensatztypen. Wenn das System Duplikate für andere Datensatztypen erkennen soll, müssen Sie eine neue Regel erstellen.
- Informationen darüber, wie Sie eine Duplikaterkennungsregel mithilfe der Benutzeroberfläche erstellen, finden Sie unter Einrichten einer Duplikaterkennungsregel, um Ihre Daten sauber zu halten.
- Informationen zum Erstellen von Regeln zur Erkennung von Duplikaten mithilfe von Code finden Sie unter Tabellen für Duplikatregeln

Beispiel: Erkennen Sie Duplikate beim Erstellen-Vorgang mit Internet-API

Im folgenden Beispiel wird veranschaulicht, wie Duplikate während und Create und Update Vorgängen mithilfe der Kopfzeile MSCRM.SuppressDuplicateDetection in der Internet API-Anforderung festgestellt werden.

Anforderung:

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

Wenn ein Leaddatensatz mit demselben emailaddress1-Attribut vorhanden ist, wird die folgende Antwort zurückgegeben.

Antwort:

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."
    }
}

Weisen Sie einen Wert true zur MSCRM.SuppressDuplicateDetection-Kopfzeile zu, um die Erstellung eines doppelten Datensatzes zu erlauben.

Erkennen von Duplikaten beim Vorgang "Update"

Legen Sie den Wert der MSCRM.SuppressDuplicateDetection-Kopfzeile zu false in Ihrer PATCH-Anforderung fest, um die Erstellung eines doppelten Datensatzes während des Aktualisierungsvorgangs zu vermeiden. Standardmäßig wird die Duplikaterkennung unterdrückt, wenn Sie Datensätze mithilfe der Internet API aktualisieren.

Beispiel: Erkennen Sie Duplikate beim Update-Vorgang mit der Web-API

Das Beispiel, das angezeigt wird unten, versucht, einen Entitätsdatensatz des vorhandenen Leads zu aktualisieren, das denselben Wert des Attributs emailaddress1 (beispielsweise ein bestehender Datensatz) enthält.

Anforderung:

PATCH [Organization URI]/api/data/v9.0/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"
}

Antwort:

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."
    }
}

Siehe auch

Erkennen von doppelten Daten mit dem SDK für .NET

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).