Create or Update Data Change Request Through Override
It is possible to create or update data change requests by using the override functionality. It is supported for entities and relations only.
To create or update a data change request (DCR):
POST {TenantURL}/entities or POST {TenantURL}/relations requests can be
used as described in Create entities.
DCR's are created in three cases only:
- the
changeRequestIdparameter was used with the requests above, for example:POST {TenantURL}/entities?changeRequestId=0006Yjs; - the
alwaysCreateDCRparameter was used with the requests above, for example:POST {TenantURL}/entities?alwaysCreateDCR=true; - there are no
CREATEandUPDATEprivileges for ALL incoming objects, but there areREADandINITIATE_CHANGE_REQUESTfor ALL of them.
In the first case, the existing DCR is updated; in the other cases, a new change request is created automatically. API processes each incoming object in the following way:
- if the object already exists in the database (match found by crosswalk or automatic match rule), then the delta between the new and existing objects is calculated and all differences found are added to the DCRs as requested object changes;
- if the object does not exist in the database, then the request for creating a new object is added to the DCR.
Response
JSON Object representing the DCR.
POST {TenantURL}/entities?changeRequestId=0000OVV [
{
"type":"configuration/entityTypes/Address",
"attributes":{
"AddressRank":[
{
"value":"1234"
}
],
"DEA":[
{
"value":{
"Status":[
{
"value":"r1_1Ed"
}
]
}
}
]
},
"crosswalks":[
{
"type":"configuration/sources/Veeva",
"value":"r1_1"
}
]
},
{
"type":"configuration/entityTypes/Address",
"attributes":{
"AddressRank":[
{
"value":"1555"
}
]
},
"crosswalks":[
{
"type":"configuration/sources/Reltio",
"value":"reltioValue1"
}
]
},
{
"type":"configuration/entityTypes/Address",
"attributes":{
"AddressRank":[
{
"value":"98765"
}
],
"DEA":[
{
"value":{
"Status":[
{
"value":"newR2DeA"
}
]
}
}
]
},
"crosswalks":[
{
"type":"configuration/sources/Veeva",
"value":"r2_2"
}
]
},
{
"type":"configuration/entityTypes/Address",
"attributes":{
"AddressRank":[
{
"value":"7789"
}
]
},
"crosswalks":[
{
"type":"configuration/sources/SHS",
"value":"r3_shs"
}
]
}
]
Response:
{
"URI":"changeRequests/0000OVV",
"createdBy":"User",
"createdTime":1449140739950,
"updatedBy":"User",
"updatedTime":1449140741737,
"changes":{
"entities/0000NRR":[
{
"id":"0001Uhd",
"type":"UPDATE_ATTRIBUTE",
"createdTime":1449140741737,
"createdBy":"User",
"attributePath":"AddressRank/50",
"oldValue":{
"value":"2222222222"
},
"newValue":{
"value":"98765"
},
"crosswalk":{
"type":"configuration/sources/Veeva",
"value":"r2_2",
"dataProvider":true
},
"attributeType":"configuration/entityTypes/Address/attributes/AddressRank"
},
{
"id":"0001Yxt",
"type":"INSERT_ATTRIBUTE",
"createdTime":1449140741737,
"createdBy":"User",
"attributePath":"DEA",
"newValue":{
"value":{
"Status":[
{
"value":"newR2DeA"
}
]
}
},
"crosswalk":{
"type":"configuration/sources/Veeva",
"value":"r2_2",
"dataProvider":true
},
"attributeType":"configuration/entityTypes/Address/attributes/DEA"
}
],
"relations/0000JBB":[
{
"id":"0001dE9",
"type":"UPDATE_ATTRIBUTE",
"createdTime":1449140741737,
"createdBy":"User",
"attributePath":"AddressRank/37",
"oldValue":{
"value":"1"
},
"newValue":{
"value":"1234"
},
"crosswalk":{
"type":"configuration/sources/Veeva",
"value":"r1_1",
"dataProvider":true
},
"attributeType":"configuration/entityTypes/Address/attributes/AddressRank"
},
{
"id":"0001hUP",
"type":"UPDATE_ATTRIBUTE",
"createdTime":1449140741737,
"createdBy":"User",
"attributePath":"DEA/35",
"oldValue":{
"value":{
"Status":[
{
"value":"r1_1"
}
]
}
},
"newValue":{
"value":{
"Status":[
{
"value":"r1_1Ed"
}
]
}
},
"crosswalk":{
"type":"configuration/sources/Veeva",
"value":"r1_1",
"dataProvider":true
},
"attributeType":"configuration/entityTypes/Address/attributes/DEA"
},
{
"id":"0001lkf",
"type":"INSERT_ATTRIBUTE",
"createdTime":1449140741737,
"createdBy":"User",
"attributePath":"AddressRank",
"newValue":{
"value":"1555"
},
"crosswalk":{
"type":"configuration/sources/Reltio",
"value":"0000JBB",
"dataProvider":true
},
"attributeType":"configuration/entityTypes/Address/attributes/AddressRank"
}
],
"relations/0000znl":[
{
"id":"0001q0v",
"type":"CREATE_ENTITY",
"createdTime":1449140741737,
"createdBy":"User",
"newValue":{
"URI":"entities/0000znl",
"type":"configuration/entityTypes/Address",
"createdBy":null,
"createdTime":1449140741737,
"updatedBy":null,
"updatedTime":1449140741737,
"crosswalks":[
{
"type":"configuration/sources/SHS",
"value":"r3_shs",
"dataProvider":true
}
],
}
}
]
},
"state":"AWAITING_REVIEW"
}