Detección de datos duplicados con la API web

Puede detectar filas de tabla duplicadas de una fila existente para mantener la integridad de los datos. Para obtener información detallada sobre Detección de datos duplicados usando código, consulte Detectar datos duplicados con código

Detectar duplicados durante las operaciones de creación

Utilice el encabezado de solicitud MSCRM.SuppressDuplicateDetection con una solicitud POST para detectar la creación de un registro duplicado de un registro existente. El valor asignado al encabezado MSCRM.SuppressDuplicateDetection determina si se puede completar la operación de crear o actualizar:

  • true: crear o actualizar el registro, si se encuentra un duplicado.
  • false: no crear o actualizar el registro si se encuentra un duplicado.

Use encabezado de preferencia MSCRM.SuppressDuplicateDetection y establezca el valor en false en la solicitud de la API de la Web.

Nota

Asegúrese de que existen reglas de detección de duplicados adecuadas. Dataverse incluye reglas de detección de duplicados predeterminadas para cuentas, contactos y clientes potenciales, pero no para otros tipos de registros. Si desea que el sistema detecte duplicados para otros tipos de registro, deberá crear una nueva regla.
- Para obtener información sobre cómo crear una regla de detección de duplicados usando la interfaz de usuario, consulte Configurar reglas de detección de duplicados para mantener limpios los datos.
- Para obtener información sobre cómo crear una regla de detección de duplicados usando código, consulte Tablas de reglas de duplicados

Ejemplo: Detectar duplicados durante la operación de crear mediante la API web

El ejemplo siguiente muestra cómo detectar duplicados durante las operaciones Create y Update mediante el encabezado MSCRM.SuppressDuplicateDetection de la solicitud de la API web.

Solicitud:

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

Si ya existe un registro de cliente potencial con el mismo atributo emailaddress1, se devuelve la siguiente respuesta.

Respuesta:

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

Asigne el valor true al encabezado MSCRM.SuppressDuplicateDetection para permitir la creación de un registro duplicado.

Detectar duplicados durante las operaciones de actualización

Establezca el valor del encabezado MSCRM.SuppressDuplicateDetection como false en la solicitud PATCH para evitar la creación de un registro duplicado durante la operación de actualizar. De forma predeterminada, se suprime la detección de duplicados cuando se actualizan registros mediante la API web.

Ejemplo: Detectar duplicados durante la operación de actualización mediante la API web

El ejemplo que aparece a continuación intenta actualizar un registro de entidad cliente potencial existente que incluye el mismo valor del atributo emailaddress1 que un registro existente.

Solicitud:

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

Respuesta:

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

Consulte también

Detección de datos duplicados con SDK para .NET

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).