Accelerate the Value of Data

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

The following are some of the scenarios where the synchronization endpoint 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
Table 1. Parameters
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.
{
  "configuration/entityTypes/HCP": [
    "entities/eeeeee", 
    "entities/cccccc"
  ],
  "configuration/entityTypes/Contact": [
    "entities/rrrrrr", 
    "entities/tttttt"
  ]
}                                    

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
"entities/rrrrrr": {
   "state": "failed",
   "reason": "Event: ENTITY_CHANGED -> entity entities/rrrrrr not found"
},
"entities/eeeeee": {
   "state": "failed",
   "reason": "Already updated by sync user. Synchronization is not required"
}
errors An array of error messages if an error occurred during an operation execution for the corresponding Reltio Type
"errors": [
  "No uri found for type: 'configuration/entityTypes/HCP1'."
]

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"
        }
    }]