Accelerate the Value of Data

Resolve Mapping Errors API

Learn how to resolve mapping errors with an API.

After the data is loaded to MDM, you may encounter mapping errors due to unresolved lookups. For example, the transcoded value from RDM for the Gender attribute is Male. If an entity with the value M is loaded, the entity is loaded with an invalid value. This results in a mapping error that must be resolved in RDM. This API enables you to search for all such mapping errors in the MDM tenant.

Note: To enable this Search option in MDM UI, contact Reltio Customer Support. To learn more about Search using MDM UI, see Working with Advanced Search Filter Options. You may configure the Filter options and the attributes may vary between tenants.

Make sure you execute the Reindex Data Task to enable the tenant to store invalid RDM lookups data. This way, using Hub, you can search for entities with mapping errors.

POST {ApplicationURL}/reindex?tenantId={tenantId}

Or

POST {ApplicationURL}/retio/api/{tenantId}/reindex

Similar to filtering entities, you can search for unresolved lookups as follows:

Request

GET {TenantURL}/entities?filter=equals(rdmLookups.resolved,false)
Response
 [
   {  
      "uri":"entities/1CVEdeVp",
      "type":"configuration/entityTypes/HCA",
      "createdBy":"test.user@reltio.com",
      "createdTime":1552457685430,
      "updatedBy":"test.user@reltio.com",
      "updatedTime":1555319017117,
      "attributes":{  
         "Name":[  
            {  
               "type":"configuration/entityTypes/HCA/attributes/Name",
               "ov":true,
               "value":"Name",
               "uri":"entities/1CVEdeVp/attributes/Name/2xqdgtdUt"
            }
         ],
         "TypeCode":[  
            {  
               "type":"configuration/entityTypes/HCA/attributes/TypeCode",
               "ov":true,
               "value":"InvalidCode",
               "lookupError":"1003: RDM canonical value mapping not found in tenant [rdm]",
               "uri":"entities/1CVEdeVp/attributes/TypeCode/2Bvzcr1eH"
            }
         ],
         "CountryCode":[  
            {  
               "type":"configuration/entityTypes/HCA/attributes/CountryCode",
               "ov":true,
               "value":"1",
               "lookupCode":"AF",
               "lookupRawValue":"AF",
               "uri":"entities/1CVEdeVp/attributes/CountryCode/2xqdgthl9"
            }
         ]
      },
      "isFavorite":false,
      "crosswalks":[  
         {  
            "uri":"entities/1CVEdeVp/crosswalks/2Bvzcr5uX",
            "type":"configuration/sources/Reltio",
            "value":"1CVEdeVp",
            "reltioLoadDate":"2019-04-15T09:03:37.117Z",
            "createDate":"2019-03-13T06:14:45.430Z",
            "updateDate":"2019-03-13T06:14:45.430Z",
            "attributes":[  
               "entities/1CVEdeVp/attributes/TypeCode/2Bvzcr1eH",
               "entities/1CVEdeVp/attributes/Name/2xqdgtdUt",
               "entities/1CVEdeVp/attributes/CountryCode/2xqdgthl9"
            ],
            "singleAttributeUpdateDates":{  
           "entities/1CVEdeVp/attributes/Name/2xqdgtdUt":"2019-04-15T09:03:37.117Z",
           "entities/1CVEdeVp/attributes/CountryCode/2xqdgthl9":"2019-04-15T09:03:37.117Z"
            }
         }
      ],
      "analyticsAttributes":{  

      },
      "label":"Label",
      "secondaryLabel":""
   }
]

Search Entities with Transcode Errors

You can search entities with transcode errors on attribute type and attribute value. You can find entities that have attribute values with unresolved lookups.

To search for entities with transcode mapping errors by attribute type and attribute value use:

  • equals(rdmLookups.attributes.Country, 'CA') - Enables you to find the entities, which have transcode error for value CA in the attribute Country.
  • equals(rdmLookups.attributes.Education.Degree, 'PhD') - Enables you to find all the entities, which have transcode error for value PhD in sub-attribute Degree of the nested attribute Education.
  • exists(rdmLookups.attributes.Education.Degree) - Enables you to find all the entities, which have at least one value with transcode error in sub-attribute Degree of the nested attribute Education.

Examples for Transcode Errors for a Specific Attribute Type or Value

To find the entities with mapping transcode errors in any values of State attribute (part of nested attribute called address) use:

GET {TenantURL}/entities?filter=exists(rdmLookups.attributes.Address.State)

To find the entities with mapping transcode errors in State attribute (part of nested attribute called address) where the value of the attribute is IL, use:

GET {TenantURL}/entities?filter=equals(rdmLookups.attributes.Address.State,'IL')

Examples for Transcode Errors at Entity Level (for Any Attribute Type or Value )

You can find entities in either of the following ways:
  • To search entities that have attribute values linked with RDM lookups and all of them are transcoded without any error:

    GET {TenantURL}/entities?filter=equals(rdmLookups.resolved,true)

  • To search entities that have at least one attribute value with transcode error of any attribute type that is linked with RDM lookup:

    GET {TenantURL}/entities?filter=equals(rdmLookups.resolved,false)

Fix Unresolved Lookups in MDM

When the mapping is resolved in the RDM tenant, execute reindex entities to resolve unresolved RDM lookups in the MDM and ensure that resolved entities don’t display when you search in the Reltio UI.
Note: The reindexUnresolvedRdmLookups task must update the list of problem entities. If you change MDM entities, the MDM API automatically fills all the necessary tables that includes the table including the table that keeps UnresolvedRdmLookups data.
POST {ApplicationURL}/reindexUnresolvedRdmLookups?tenantId={tenantId}

Body (optional):

JSON Array of entity URIs to reindex. Only these entities will be reindexed in this case.

Or

POST {ApplicationURL}/reltio/api/{tenantId}/reindexUnresolvedRdmLookups

Body (optional):

JSON Array of entity URIs to reindex. Only these entities are reindexed in this case.