The REST API provides programmatic access to Reading and Write replication data. The REST API identifies the replication application and its users using OAUTH ; responses are available in json. We have used SWAGGER editor for the end users to make the API calls so that they can try out APIs exposed by our platform.
The link for accessing the API docs is http://localhost:8080/webapi/api-docs/repl-v4/ReplicationAPIDriver
Checklist Before Getting Started
User should have the release of 4.6.1 or later.
The on-premise instance should have Replication service running.
There is two API Methods list which is exposed for this release, we will be adding more methods in the upcoming releases. The order of the execution of API calls are as follows
Replicate
checkStatus
The Replicate method is the actual API call used to invoke the replication process so that the Salesforce objects gets replicated to the Database. From this call, the process id is generated which is used in the checkStatus method to check the status of the replication process.
The below tables explains the various model schema and attributes which form the model class
Replication params
Salesforce Params
Database Params
Table Params
Log Properties params
Run Properties Params
Below table gives the attribute list of the response class
Example
Curl
Request URL
Response Body
Response Code
Response Headers
The Check status method is used to return the status of the replication process and to invoke this method user must have the process id attribute . The process id can be generated from the first method "Replicate", the check status method has two parts to it one is the request object and the other is the response object.
The below table explains the attributes and their description of this method. The process ID is the mandatory attribute used to invoke this call.
Example
Curl
Request URL
Response Body
Response Code
Response Headers
Parameter
Description
DataType
Salesforce (optional)
The salesforce credentials which are required to connect to the Salesforce instance
Salesforce
Database (optional)
The database credentials which are required to connect to supported databases
Database
Objects (optional)
The salesforce object which a client to replicate
Array Table
Logs (optional)
The parameters related to Log settings and specific to DBSync
Log properties
Run (optional)
The parameters related to run settings and specific to DBSync
Run properties
Parameter
Description
DataType
SoapEndpoint (optional)
The URL to access the Salesforce application
string
bulkApiEnable (optional)
The possible values are True and false which enables and disables the bulkapi calls
boolean
callbackurl (optional)
The DBSync call back URL
string
consumerkey (optional)
Its a consumersecretkey generated from salesforce oauth
string
ConsumerSecret (optional)
It's a consumerSecret generated from the salesforce oauth
string
password (optional)
The password of the Salesforce instance
string
username (optional)
The username of the Salesforce instance from which the user wishes to retrieve information for replication
string
Parameter
Description
DataType
filereplication (optional)
The possible values are true and false to enable and disable the file replication
boolean
s3 (optional)
The possible values are true and false, true if hosted on aws
boolean
awsaccesskey (optional)
awsaccess key if db is hosted on aws, can be retrieved from the aws instance
string
awsBucketName (optional)
awsBucketName if db is hosted on aws, can be retrieved from the aws instance
string
awsRegion (optional)
awsRegion if db is hosted on aws, can be retrieved from the aws instance
string
consumerSecret (optional)
ConsumerSecret if db is hosted on aws, can be retrieved from the aws instance
string
database (optional)
Name of the database Eg: Sqlserver/Oracle/Mysql
string
host (optional)
The location of the database for instance localhost
string
password (optional)
the password of the database if any
string
port (optional)
port number the database instance which uses
string
schema (optional)
The name of the database
string
type (optional)
Specify the database that is being used Eg: Oracle
string
URL (optional)
The URL of the database which is generated by the replication in the connection string
string
username (optional)
The username of the database
string
Parameter
Description
DataType
excludes (optional)
If the user wishes to remove any of the fields from the selected object in salesforce then he can use this parameter
Array[string]
filter (optional)
The filter parameter is used to specify the condition to read data from Salesforce
string
name (optional)
Name of the object that needs to be retrieved from the salesforce
string
Parameter
Description
DataType
emailerror (optional)
The possible values are true and false to enable them and disable the email notification from DBSync replication tool
boolean
database (optional)
The possible values are true and false to enable them and disable the email notification of database from DBSync replication tool
boolean
dir (optional)
The directory name if the database if flat file database
string
emailreceipents (optional)
The email id of the recipient to who the system is intended to send out the logs / notifications
Array[string]
emailsender (optional)
The email id of the sender can be also be passed to identify the from address
string
callbackURL (optional)
The DBSync URL which sends the email notifications
string
Parameter
Description
DataType
command (optional)
The commands which are internal to DBSync replication like Cleancopy, DBtoSF, SFtoDB,db_setup
string
Profile (optional)
The profile name which user used in DBSync replication tool
string
Parameter
Description
Data type
Status
The possible values are True and False which sends out the response value
String
SubmitTime
The API submitted time
Date
CompletionTime
The API Completion Time
Date
ProcessID
The process id which is sent by the API to identify the process
String
callbackURL
The URL is passed from the API
string
curl -X POST --header 'Content-Type: application/json'
--header 'Accept: application/json'
-d '{"salesforce":{"soapEndpoint":"
https://login.salesforce.com/services/Soap/u/32.0","bulkApiEnable":false,"callbackUrl":"https://localhost:8443/DBSync/oauth/_callback","consumerKey":"","consumerSecret":"3Q/190VEz3BnIu6bMGO2sg\\\\=\\\\=","password":"avankia!23","username":"ravindra.g@avankia.com"},"database":{"fileReplication":false,"fileVersion":false,"s3":false,"awsAccessKey":"","awsBucketName":"","awsRegion":"","consumerSecret":"","database":"ORCL","filepath":"","host":"10.0.0.9","password":"Avankia1","port":"1521","schema":"dbsync","type":"Oracle","url":"jdbc:oracle:thin:@10.0.0.9:1521:ORCL","username":"HR"},"objects":[{"excludes":[],"filter":"","name":"Account"}],"log":{"emailError":false,"database":true,"dir":"","emailRecipients":["ravindra.g@avankia.com"],"emailSender":"ravindra.g@avankia.com","callbackURL":"http://posttestserver.com/post.php"},"run":{"command":"cleancopy","profile":""}}'
'
http://localhost:8080/webapi/appcode/repl-v4/ReplicationAPIDriver/replicate'
http://localhost:8080/webapi/appcode/repl-v4/ReplicationAPIDriver/replicate
{ "value": [ { "status": "submitted", "submitTime": "2016-04-21T19:31:37Z", "processId": "ravindra.g@avankia.com-1461267097548/cleancopy", "callbackURL": "
http://posttestserver.com/post.php"
} ] }
h6. 200
{ "date": "Thu, 21 Apr 2016 19:31:37 GMT", "server": "Apache-Coyote/1.1", "content-length": "182", "content-type": "application/json"}
Parameter
Description
Data type
Status
The possible values are True and False which sends out the response value
String
SubmitTime
The API submitted time
Date
CompletionTime
The API Completion Time
Date
ProcessID
The process id which is sent by the API to identify the process
String
callbackURL
The URL is passed from the API
string
curl -X POST --header 'Content-Type: application/json'
--header 'Accept: application/json'
-d '{"processId":"ravindra.g@avankia.com-1461267097548/cleancopy"}'
'
http://localhost:8080/webapi/appcode/repl-v4/ReplicationAPIDriver/checkStatus'
http://localhost:8080/webapi/appcode/repl-v4/ReplicationAPIDriver/checkStatus
{ "value": [ { "status": "completed", "submitTime": "2016-04-21T19:31:37Z", "completionTime": "2016-04-21T19:31:38Z", "processId": "ravindra.g@avankia.com-1461267097548/cleancopy", "callbackURL": "
http://posttestserver.com/post.php"
, "errorMessage": [ null ] } ] }
200
{ "date": "Thu, 21 Apr 2016 19:34:36 GMT", "server": "Apache-Coyote/1.1", "content-length": "244", "content-type": "application/json"}