Data changes in Cinchy (CDC) can be used to trigger a data sync from a REST API data source to a specified target. The attributes of the CDC Event are available to use as parameters within the REST API Data Source Definition to narrow the scope of the request, e.g. a lookup.
Example Use Case: Let's assume an organization wants to use the Dun & Bradstreet API for enriching company information, e.g. # of Employees, Address, etc. When a company record is added or modified in a table called Companies inside of Cinchy, a D&B API should be triggered with the Company Name (a mandatory field on the Companies table) passed in as a parameter, and the Company record should be enriched with the company information from the API response.
The options available to the REST API (Cinchy Event Triggered) connector are identical to the REST API source connector which can be found here.
The following sections in the Source configuration of the Connections experience can reference attributes of the CDC Event as parameters:
Auth Request -> Body
Auth Request -> Request Headers -> Header -> Header Value
Auth Request -> Endpoint URL
Body
Request Headers -> Header -> Header Value
API Endpoint URL
Parameters use the column name or alias as defined in the CDC Event's Listener Config prefixed with an "@", e.g. @CompanyName would be the parameter name for the following Cinchy CDC listener Topic configuration.
Parameter names are case sensitive when used in the Connection configuration. Parameter matching is performed using literal string replacements. Names should not contain spaces (spaces are automatically removed), and should have differing prefixes.
The following set of parameters will be available on every event even if they're not present in the listener config
@Version
@DraftVersion
@CinchyRecordType
@ApprovalState
@ModifiedBy
@Modified
@Deleted
In order to configure a REST API (Cinchy Event Triggered) connection, a listener must be configured with an Event Connector Type of Cinchy CDC.
Set up your listener configuration for your data sync, keeping the following constraints in mind:
Column names in the listener config should not contain spaces. If they do, they will be automatically removed. E.g. a column named Company Name will become the replacement parameter @CompanyName
The replacement parameter names are case sensitive.
Column names in the listener config should not be prefixes of other column names. E.g. if you have a column called "Name", you shouldn't have another called "Name2" as the value of @Name2 may end up being replaced by the value of @Name suffixed with a "2".