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