Synchronizing Using Reltio URIs
The Salesforce Synchronization API synchronizes your Reltio Objects by providing a list of URIs.
The synchronization happens in sync
mode and the Reltio Objects
will be added to the Salesforce Connector queue in due request runtime and will be processed
in the future (when the connector processes this particular set of URIs).
Usage Scenarios
byUris
may be used: - If a user has a list of objects which are not in sync with Salesforce, using the synchronization API specified entities helps to synchronize the list of objects.
- A regular synchronization ends with failures due to some issues which were fixed and needs to force the synchronization process without awaiting entities to be updated.
- A user performs a search by SBC service and would like to synchronize the found entity with all the connections it has.
- Tenant metadata configuration or some other changes (which haven’t triggered an event) have happened and resynchronization is required.
Request
POST: {SFDCConnectorUrl}/synchronization/{tenant}/{profile}/byUris
Type | Name | Required | Description | Example |
---|---|---|---|---|
Headers |
Authorization |
true | Authorization header | Barer {oauth_token} |
Path |
tenant |
true | Reltio tenant Id | someTenant |
profile |
true | Profile Id | 000000000000012345 | |
Query |
ignoreSyncUserUpdate |
false | Ignore the condition if Reltio Object already has the last update by Salesforce Connector service user and force synchronization | ignoreSyncUserUpdate=false |
Body |
true | An array of entities or relations for corresponding object Type. Max size of all objects should not be greater than 1000. |
|
Response
The response is in JSON format with parameters.
Name | Description | Example |
---|---|---|
reltioType |
Corresponding Reltio Object Type from Request | configuration/entityTypes/Contact |
{Reltio Object Id}
/state
/reason |
Reltio Object Id with state and reason for adding a particular Object to the synchronization queue |
|
errors |
An array of error messages if an error occurred during an operation execution for the corresponding Reltio Type |
|
Possible Errors
The response is in JSON format with parameters.
Name | Description | Example |
---|---|---|
400 |
The tenant '${tenant}' or profile '${profile}' are not registered. | Tenant or Profile is not
registered. |
400 |
Incoming data should be valid JSON data. | Wrong BODY format - has to be valid JSON data. |
400 |
Incoming data should be an Object. | Wrong BODY format - has to be
Object. |
400 |
Should be array data with size not more than 1000. | Number of all objects in the BODY should be
lesser than 1000 . |
200 |
Reltio type '${type}' does not exist in the mapping. | The defined type does not exist in the mapping for the corresponding tenant and profile. |
200 |
'${uri}' is not valid URI | Invalid URI. |
200 |
Already updated by sync user. Synchronization is not required. | The entity has been already updated by a Connector service
user. Use ignoreSyncUserUpdate option to force the
synchronization. |
200 |
entity ${uri} not found | Entity does not exist. |
200 |
Sync disabled for record{uri} | The entity is filtered out. Verify the mapping filter for the corresponding type. |
Full Response Example
[
{
"reltioType": "configuration/entityTypes/HCP",
"errors": [],
"entities/eeeeee": {
"state": "success"
},
"entities/cccccc": {
"state": "failed",
"reason": "Already updated by sync user. Synchronization is not required"
}
},
{
"reltioType": "configuration/entityTypes/Contact",
"errors": [],
"entities/rrrrrr": {
"state": "failed",
"reason": "Event: ENTITY_CHANGED -> entity entities/rrrrrr not found"
},
"entities/tttttt": {
"state": "failed",
"reason": "Already updated by sync user. Synchronization is not required"
}
}]