2022

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Sample Payload

Actual Payload

Salesforce

Salesforce

{

  "salesforce": {

    "soapEndpoint": "string",

    "bulkApiEnable": true,

    "password": "string",

    "username": "string"

  },



{

  "salesforce": {

    "soapEndpoint": "https://login.salesforce.com/services/Soap/u/47.0",

    "bulkApiEnable": false,

    "password": "xxxxxxxx",

    "username": "dbsync.replicationtest@gmail.com"

  },



This will set up the Salesforce instance for the above mentioned Profile and for this specific User Name. The URL for the soap endpoint can be taken from the UI. In this instance we do not want Bulk API so we enter as false. Provide the Username and password for the Salesforce instance

Database

Database

Will split this into 3 parts: 

"database": {

    "fileReplication": true,

    "fileVersion": true,

    "filepath": "string",

    

    "s3": true,

    "awsAccessKey": "string",

    "awsBucketName": "string",

    "awsRegion": "string",

    "consumerSecret": "string",


    "database": "string",

    "host": "string",

    "password": "string",

    "port": "string",

    "schema": "string",

    "type": "string",

    "url": "string",

    "username": "string"

  },



"database": {

    "fileReplication": true,

    "fileVersion": true,

    "filepath": "string",

    

    "s3": true,

    "awsAccessKey": "string",

    "awsBucketName": "string",

    "awsRegion": "string",

    "consumerSecret": "string",


    "database": "xxxxxxxxxx",

    "host": "localhost",

    "password": "xxxxxxxxx",

    "port": "0000",

    "schema": "public",

    "type": "mysql",

    "url": "jdbc:mysql://localhost:3306/performance_schema",

    "username": "xxxx"

  },

PART 1:


"database": {

    "fileReplication": true,

    "fileVersion": true,

    "filepath": "string",

    

"database": {

    "fileReplication": true,

    "fileVersion": true,

    "filepath": "C:/DBSync_CloudCDM/files",

NOTE: This is a file based data type. Salesforce has file based objects. There are attachments, documents and content base. If you want data as a physical file instead of a database use PART 1. You can get the raw data file in your local system.

File replication: true
If you are using attachment as an object mark this as TRUE.
If you want to download a local file


File Path: Enter the details of the file path location of where you want to store the data

File Version: This function enables the user to have the same file name stored multiple times. It will not override. If you want to have this versioning then select true if not false.

In the UI you can see these 3 fields under ADVANCED SETTINGS. Refer image below:
Download as local file: File replication

Download files to Directory: File Path

Keep multiple Version of Files: File Version



PART 2:


  "s3": true,

    "awsAccessKey": "string",

    "awsBucketName": "string",

    "awsRegion": "string",

    "consumerSecret": "string",

  "s3": true,

    "awsAccessKey": "string",

    "awsBucketName": "string",

    "awsRegion": "string",

    "consumerSecret": "string",

NOTE: For databases such as AWS REDSHIFT the transfer of data is slow. Hence S3 bucket is used to  transfer data as it is much faster and easier. Any data from Salesforce would be dumped into the S3 bucket and from there the transfer is done. So ONLY IF THE DATABASE IS AWS REDSHIFT fill these columns:

Provide details of :
AWS Access Key
AWS bucket
AWS region
AWS secret

Also note if you are using AWS S3 then you do not enter details of PART 3.

PART 3:


  "database": "string",

    "host": "string",

    "password": "string",

    "port": "string",

    "schema": "string",

    "type": "string",

    "url": "string",

    "username": "string"

  },

  "database": "xxxxxxx",

    "host": "localhost",

    "password": "xxxxxx",

    "port": "0000",

    "schema": "public",

    "type": "mysql",

    "url": "jdbc:mysql://localhost:3306/performance_schema",

    "username": "xxxx"

  },

NOTE: Enter details of the database in this section
Database: Name of database
Type: Type of the database
URL: Copy it from the UI
Schema: the specific schema for this database can be entered. If nothing specific enter as public

If you are not using AWS S3 enter PART 3

Object

Object

"objects": [

    {

      "excludes": [

        "string"

      ],

      "filter": "string",

      "name": "string"

    }

  ],

"objects": [

    {

      "excludes": [

        "xxx"

      ],

      "filter": "name=’Test_2021’",

      "name": "xxxx"

    }

  ],

NOTE:
The objects section is an Array. Any number of data can be stored. Multiple entries can be passed in this section as required by the user.
Parameters:

Name: the Name of the object you want to store/Sync. For eg: Account
Filter: This can be found in the section Filter Criteria in the UI. Any filter can be applied as required by the user. For eg: If a user wants to display Account object records with name= ‘Test_2021’. All those records in Test 2021 will get synced. This is the filter applied. Enter name=’Test_2021’ in the filter tab.
Exclude: In Salesforce there may be a number of fields. Enter all those fields which you do not want to Sync. You can choose the list from UI as show below:


For eg: If you do not wish to sync FAX then you can enter this in the exclude column.
  "excludes": [

        "Fax"

If you want to add more than one field to exclude For eg: phone number:
"excludes": [

        "Fax", ”Phone”

Also note that this is for one OBJECT.
For Account you have added one filter and excluded 2 fields.

You can repeat the same for any number of objects that you wish to sync: 

{

      "name": "Attachment"

    }

To add another Object named Attachment.

Logs

Logs

"log": {

    "emailError": true,

    "database": true,

    "dir": "string",

    "emailRecipients": [

      "string"

    ],

    "emailSender": "string",

     },

"log": {

    "emailError": true,

    "database": true,

    "dir": "C:/xxx_xxxM/xxxx_logs_dir",

    "emailRecipients": [

      "xxxxxx@gmail.com"

    ],

    "emailSender": "xxxxxxt@gmail.com",

      },

NOTE:

Email Error: If the user wants to get notified only in case of an error during a sync then this can be entered. It is a true/False field

"EmailSender": "string",: User can choose who should be the sender(email ID of sender)

This is an optional field. By default it is DBSync. This is to allow permissions for sending the calls.

"EmailRecipients": [    : User can choose who should be the recipient (email ID of receiver)

      "string"

"dir": "string", : this is alternative directory that the user can create to store the log files in their systme

Database: If the user wishes to store all information in the database and not in any logs files in the system then enter as true. The logs will be stored as a separate table in the database row-wise. 

Callback URL

Callback URL

If you wish to run the Call from the server enter the URL in this section.

"callbackURL": "string"

"callbackURL": "xxxxxxxx@dddd.com"

Run

Run

"run": {

    "command": "string",

    "profile": "string"

  }

"run": {

    "command": "cleancopy",

     }

NOTE:

Profile section : Use this if you want to run a sync from the profile name.
If this option is used the above mentioned section of Salesforce , Database, Objects etc need not be entered., The sync can be run from the profile name itself.
You can enter the desired profile name once configured.

Run: Enter the command or function you wish to do.

For eg: Clean Copy, Update Schema, Source to DB, DB to Source

The below is an example showing how to run Clean Copy functionality for the profile DBSynctest

{

  "run": {

    "command": "cleancopy",

    "profile": "xxxxxx"

  }

}

...