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 two cases only:
- the
changeRequestId
parameter was used with the requests above, for example:POST {TenantURL}/entities?changeRequestId=0006Yjs;
- there are no
CREATE
andUPDATE
privileges for ALL incoming objects, but there areREAD
andINITIATE_CHANGE_REQUEST
for ALL of them.
In the first case, the existing DCR is updated; in the second case, 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"
}