Uploading Lookup Values With or Without Canonical Values
Unmapped block is created when canonical code is not present during Lookup creation. The new trackUnidentifiedLookups parameter in RDM tenant configuration has been introduced. This parameter is boolean. By default it has a false value.
Example of RDM Tenant Configuration
{
"tenantId": "unidentified_lookups",
"label": "Tenant for Demonstrating upload lookups without canonical code",
"trackUnidentifiedLookups": true,
"lookupTypes": [
{
"uri": "rdm/lookupTypes/Country",
"label": "Country",
"enabled": true,
"startDate": 0,
"endDate": 0
},
{
"uri": "rdm/lookupTypes/State",
"label": "State",
"enabled": false,
"startDate": 0,
"endDate": 0
},
{
"uri": "rdm/lookupTypes/Province",
"label": "Province",
"enabled": true,
"startDate": 0,
"endDate": 0
},
{
"uri": "rdm/lookupTypes/City",
"label": "City",
"enabled": true,
"startDate": 0,
"endDate": 0
}
],
"sources": [
{
"uri": "rdm/sources/Reltio",
"abbreviation": "Reltio",
"canonicalValueProvider": true
},
{
"uri": "rdm/sources/AHA",
"abbreviation": "AHA",
"canonicalValueProvider": false
},
{
"uri": "rdm/sources/HMS",
"abbreviation": "HMS",
"canonicalValueProvider": false
},
{
"uri": "rdm/sources/TWITTER",
"abbreviation": "TWITTER",
"canonicalValueProvider": false
}
]
}
Now, in the RDM Tenant Configuration, if the parameter trackUnidentifiedLookups is set to true, then all lookups without canonical code are converted to Unmapped values.
Request to Upload Lookups
POST https://<rdm_service>/lookups/unidentified_lookups
or
POST https://<rdm_service>/lookups/unidentified_lookups/Country
BODY
[
{
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"code": "RU",
"enabled": true,
"sourceMappings": [
{
"source": "Reltio",
"values": [
{
"code": "R1_1",
"value": "Russian Federation",
"enabled": true,
"canonicalValue": true,
"downStreamDefaultValue": true
},
{
"code": "R1_2",
"value": "Russian Federation",
"enabled": true,
"canonicalValue": false,
"downStreamDefaultValue": false
}
]
},
{
"source": "AHA",
"values": [
{
"code": "R2",
"value": "Russia",
"enabled": true,
"canonicalValue": false,
"downStreamDefaultValue": false
}
]
}
]
},
{
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"enabled": false,
"sourceMappings": [
{
"source": "Reltio",
"values": [
{
"code": "F1",
"value": "France",
"enabled": true,
"canonicalValue": true,
"downStreamDefaultValue": true
}
]
},
{
"source": "AHA",
"values": [
{
"code": "F2_1",
"value": "France [AHA 1]",
"enabled": true,
"canonicalValue": false,
"downStreamDefaultValue": true
},
{
"code": "F2_2",
"value": "France [AHA 2]",
"enabled": true,
"canonicalValue": false,
"downStreamDefaultValue": false
}
]
}
]
},
{
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"code": "CZ",
"enabled": true,
"sourceMappings": [
{
"source": "Reltio",
"values": [
{
"code": "CZ1",
"value": "Czech Republic",
"enabled": true,
"canonicalValue": true,
"downStreamDefaultValue": true
}
]
},
{
"source": "AHA",
"values": [
{
"code": "CZ2",
"value": "Czech Republic",
"enabled": false,
"canonicalValue": false,
"downStreamDefaultValue": true
}
]
}
]
},
{
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"enabled": true,
"sourceMappings": [
{
"source": "Reltio",
"values": [
{
"code": "JA1",
"value": "Japan",
"enabled": true,
"canonicalValue": true,
"downStreamDefaultValue": true
}
]
},
{
"source": "AHA",
"values": [
{
"code": "JA2",
"value": "Japan [AHA]",
"enabled": true,
"canonicalValue": false,
"downStreamDefaultValue": true
}
]
}
]
}
]
Response
[
{
"uri": "unidentified_lookups/Country/RU",
"value": {
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"code": "RU",
"enabled": true,
"sourceMappings": [
{
"source": "Reltio",
"values": [
{
"code": "R1_1",
"value": "Russian Federation",
"enabled": true,
"canonicalValue": true,
"downStreamDefaultValue": true
},
{
"code": "R1_2",
"value": "Russian Federation",
"enabled": true,
"canonicalValue": false,
"downStreamDefaultValue": false
}
]
},
{
"source": "AHA",
"values": [
{
"code": "R2",
"value": "Russia",
"enabled": true,
"canonicalValue": false,
"downStreamDefaultValue": true
}
]
}
],
"startDate": 0,
"endDate": 0,
"updatedBy": "test.user@reltio.com",
"updateDate": 1617275480624,
"version": 1
}
},
{
"uri": "unidentified_lookups/Country/RELTIO_UNMAPPED",
"value": {
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"code": "RELTIO_UNMAPPED",
"enabled": false,
"sourceMappings": [
{
"source": "Reltio",
"values": [
{
"code": "F1",
"value": "France",
"enabled": true,
"canonicalValue": true,
"downStreamDefaultValue": true
}
]
},
{
"source": "AHA",
"values": [
{
"code": "F2_1",
"value": "France [AHA 1]",
"enabled": true,
"canonicalValue": false,
"downStreamDefaultValue": true
},
{
"code": "F2_2",
"value": "France [AHA 2]",
"enabled": true,
"canonicalValue": false,
"downStreamDefaultValue": false
}
]
}
],
"startDate": 0,
"endDate": 0,
"updatedBy": "",
"updateDate": 0,
"version": 0
}
},
{
"uri": "unidentified_lookups/Country/CZ",
"value": {
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"code": "CZ",
"enabled": true,
"sourceMappings": [
{
"source": "Reltio",
"values": [
{
"code": "CZ1",
"value": "Czech Republic",
"enabled": true,
"canonicalValue": true,
"downStreamDefaultValue": true
}
]
},
{
"source": "AHA",
"values": [
{
"code": "CZ2",
"value": "Czech Republic",
"enabled": false,
"canonicalValue": false,
"downStreamDefaultValue": false
}
]
}
],
"startDate": 0,
"endDate": 0,
"updatedBy": "test.user@reltio.com",
"updateDate": 1617275480624,
"version": 1
}
},
{
"uri": "unidentified_lookups/Country/RELTIO_UNMAPPED",
"value": {
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"code": "RELTIO_UNMAPPED",
"enabled": true,
"sourceMappings": [
{
"source": "Reltio",
"values": [
{
"code": "JA1",
"value": "Japan",
"enabled": true,
"canonicalValue": true,
"downStreamDefaultValue": true
}
]
},
{
"source": "AHA",
"values": [
{
"code": "JA2",
"value": "Japan [AHA]",
"enabled": true,
"canonicalValue": false,
"downStreamDefaultValue": true
}
]
}
],
"startDate": 0,
"endDate": 0,
"updatedBy": "",
"updateDate": 0,
"version": 0
}
}
]
Generated unmapped values
[
{
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"source": "AHA",
"code": "F2_2",
"value": "France [AHA 2]",
"updatedBy": "test.user@reltio.com",
"updateDate": 1617294999312,
"version": 0
},
{
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"source": "AHA",
"code": "F2_1",
"value": "France [AHA 1]",
"updatedBy": "test.user@reltio.com",
"updateDate": 1617294999312,
"version": 0
},
{
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"source": "AHA",
"code": "JA2",
"value": "Japan [AHA]",
"updatedBy": "test.user@reltio.com",
"updateDate": 1617294999312,
"version": 0
},
{
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"source": "Reltio",
"code": "F1",
"value": "France",
"updatedBy": "test.user@reltio.com",
"updateDate": 1617294999312,
"version": 0
},
{
"tenantId": "unidentified_lookups",
"type": "rdm/lookupTypes/Country",
"source": "Reltio",
"code": "JA1",
"value": "Japan",
"updatedBy": "test.user@reltio.com",
"updateDate": 1617294999312,
"version": 0
}
]
Field | Description | Necessary to Create Lookup Value | ||
---|---|---|---|---|
URI | Full URI of Unmapped value. tenantId/type/sourcesystem/code | No | ||
value | Unmappe value | Yes | ||
tenantid | Name of RDM tenant | Yes | ||
updatedBy | ||||
updatedDate | Date of last update | Yes | ||
type | Type of Lookup code | Yes | ||
source | Type of Source System | Yes | ||
code | Lookup code in certain source | Yes | ||
value | Lookup value in certain source | Yes | ||
attributes | List of attribute values associated with type of Lookup code | Yes | ||
name | Attribute name | Yes | ||
value | Attribute value | Yes |
Unmapped Values API
List lookup values for tenant
GET https://{{rdm-service}}/unmapped/rdm_tenant_name
Authorization: Bearer {{token}}
[
{
"tenantId": "rdm_tenant_name",
"updatedBy": "test.user@reltio.com",
"updateDate": 1488465334673,
"type": "rdm/lookupTypes/Country",
"source": "AHA",
"code": "US",
"value": "USA",
"version": 0,
"attributes": [
{
"name": "Continent",
"value": "North America"
},
{
"name": "Population",
"value": "324947000"
}
]
},
{
"tenantId": "rdm_tenant_name",
"updatedBy": "test.user@reltio.com",
"updateDate": 1488465458384,
"type": "rdm/lookupTypes/State",
"source": "Reltio",
"code": "AR",
"value": "Arkansas",
"version": 0
}
]
List Unmapped Values for Tenant by Type
GET https://{{rdm_uri}}/unmapped/rdm_tenant_name/State
Authorization: Bearer {{token}}
[
{
"tenantId": "rdm_tenant_name",
"updatedBy": "test.user@reltio.com",
"updateDate": 1488465458384,
"type": "rdm/lookupTypes/State",
"source": "Reltio",
"code": "AR",
"value": "Arkansas",
"attributes": [
{
"name": "Population",
"value": "3000942"
}
]
}
]
Create Unmapped Value
POST https://{{rdm-service}}/unmapped/rdm_tenant_name/State
Authorization: Bearer {{token}}
[
{
"tenantId": "rdm_tenant_name",
"type": "rdm/lookupTypes/State",
"source": "Reltio",
"code": "AR",
"value": "Arkansas",
"attributes": [
{
"name": "Population",
"value": "3000942"
}
]
},
...(max 100 values in one request)...
]
POST https://{{rdm-service}}/unmapped/rdm_tenant_name
Authorization: Bearer {{token}}
[
{
"tenantId": "rdm_tenant_name",
"type": "rdm/lookupTypes/State",
"source": "Reltio",
"code": "AR",
"value": "Arkansas",
"attributes": [
{
"name": "Population",
"value": "3000942"
}
]
},
...(max 100 values in one request)...
]
[
{
"uri": "rdm_tenant_name/State/Reltio/AR",
"value": {
"tenantId": "rdm_tenant_name",
"updatedBy": "test.user@reltio.com",
"updateDate": 1488465740166,
"type": "rdm/lookupTypes/State",
"source": "Reltio",
"code": "AR",
"value": "Arkansas",
"attributes": [
{
"name": "Population",
"value": "3000942"
}
]
}
}
],
...
Get Unmapped Value
GET https://{{rdm-service}}/unmapped/rdm_tenant_name/State/Reltio/AR
Authorization: Bearer {{token}}
{
"tenantId": "rdm_tenant_name",
"updatedBy": "test.user@reltio.com",
"updateDate": 1488465740166,
"type": "rdm/lookupTypes/State",
"source": "Reltio",
"code": "AR",
"value": "Arkansas",
"attributes": [
{
"name": "Population",
"value": "3000942"
}
]
}
Search filters
GET https://{{rdm-service}}/unmapped/rdm_tenant_name?filter=equals(type,'State')&sort=code&order=asc
Authorization: Bearer {{token}}
Filter Properties | Description |
---|---|
type | Lookup type name |
source | Source system |
code | Lookup code |
value | value |
updateDate | last lookup update date |
updatedBy |
Sorting
Same properties as for search filter.
Order | Description |
---|---|
asc | A to Z, 0 to 9 |
desc | Z to A, 9 to 0 |
Filter Operators | Description |
---|---|
equals(property, value) | exact match condition ignoring case |
fullText(property, value) | combines results into the overall result. Any entity whose title field contains at least one of the specified terms will match the query. The more terms that match, the more relevant the entity |
startsWith(property, stricted value) | prefix condition; returns entities that have condition property starting with condition value |
contains(property, tokenized value) |
prefix condition; returns entities that have condition property starting with condition value |
lt(property, value) | 'less than' condition |
lte(property, value) | 'less than or equals' condition |
gt(property, value) | 'greater than' condition |
gte(property, value) | 'greater than' or equals condition |
missing(property) | returns entities with fields that have no values for 'property' or 'property' value is empty |
exists(property) |
returns entities having some value for 'property' |
Facet Search
Facet search uses the Google Search Index to calculate the number of searched records. However, it has limitations according to Query and Sorting Options.
GET https://{{rdm_uri}}/unmapped/rdm_tenant_name/_facets?facet=source&filter=equals(type,'State')
Authorization: Bearer {{token}}
Name | Required | Description |
---|---|---|
facet | No |
Comma-separated list of facets to return. If this parameter is not specified than all facets will be returned. Available facets: source, type |
filter | No |
Support all filter functions and operators as described above |
{
"source": {
"Reltio": 1624,
"Salesforce": 379,
"Global": 621,
},
"type": {
"rdm/lookupTypes/Country": 253,
"rdm/lookupTypes/State": 987
}
}
Get Dependencies by URIs
Get dependencies between lookup types by using multiple URIs.
POST https://{{rdm-service}}/dependencies/{{tenantId}}/_byUris
Authorization: Bearer {{token}}
{
"uris" : [
"rdm/lookupTypes/Country/US",
"rdm/lookupTypes/Continent/SouthAmerica",
...
]
}
[
{
"uri": "rdm/lookupTypes/Country/US",
"parents": [
"rdm/lookupTypes/Continent/NorthAmerica"
],
"dependent": [
"rdm/lookupTypes/State/IL",
"rdm/lookupTypes/State/KS",
"rdm/lookupTypes/State/CA",
"rdm/lookupTypes/State/NY"
]
},
{
"uri": "rdm/lookupTypes/Continent/SouthAmerica",
"dependent": [
"rdm/lookupTypes/Country/AR",
"rdm/lookupTypes/Country/BO",
"rdm/lookupTypes/Country/BR",
"rdm/lookupTypes/Country/CL"
]
},
...
]
Delete Unmapped Values by URIs
Use this to delete unmapped values by their URIs (maximum number of URIs that can be deleted is 1000). The response contains an array of results for each URI, where the "success" status indicates that the unmapped values are either deleted successfully or do not exist. In case of an error, an error object is returned.
POST https://{{rdm_uri}}/unmapped/rdm_tenant_name/_delete
Authorization: Bearer {{token}}
{
"uris" : [
"rdm_tenant_name/State/Reltio/AR",
"rdm_tenant_name/State/Reltio/CA",
"rdm_tenant_name/State/Reltio/KA",
...
]
}
[
{
"uri": "rdm_tenant_name/State/Reltio/AR",
"value": {
"status" : "success"
}
},
{
"uri": "rdm_tenant_name/State/Reltio/CA",
"value": {
"status" : "success"
}
},
{
"uri": "rdm_tenant_name/State/Reltio/KA",
"value": {
"status" : "success"
}
},
...
]
Delete Unmapped Value
Use this to delete an unmapped value by its type, source system, and code. The response returns the "success" status if the unmapped value is deleted successfully or it does not exist. In case of an error, an error object is returned.
DELETE https://{{rdm-service}}/unmapped/rdm_tenant_name/State/Reltio/AR
Authorization: Bearer {{token}}
{
"status" : "success"
}