Calem Integration Part IV: How to Subscribe to and Receive Data Changes via REST API in Calem
Data change events and subscription are available in Calem Enterprise R2019b. Administrators can register 3rd-party applications as listeners in Calem. These listeners are notified when records are changed in Calem.
Step 0. What is a Data Change Event
A data change event is a user action to update data including creation, editing, and deletion.
Data change subscription and Calem REST API enable customers to build two-way integration with Calem. This blog discusses the steps to set up event listeners in Calem.
Step 1. Data Change Event Setup
A data change event can be created for Calem to generate data change stream for a table.
- Menu path: Admin module | Open | Data Change Event
- Table name defines the table that the data change events should be generated.
- Track Attributes: use this flag to track changes of category attributes
- Track Selected: use this flag to track changes of selected base and custom fields defined in the "Field" tab.
- Optionally track edit, create and delete events.
- The Sync checkbox will send data change events as part of the data change transaction.
- This option is useful if you are building a real-time integration and want the user changes to fail if another application reject the changes.
- Otherwise, the data change events are placed in a queue and will be sent to other applications later as a cron job.
Step 2. Event Listeners
Event listeners are 3rd-party REST web services.
- Menu path: Admin module | Open | Data Change Listeners
- Client Id and Secret are used in the invocation of the REST web service that listens to Calem data change events.
- Client URL is the web service address.
- See Calem Enterprise API Guide for more information about authentication and JSON data encoding in building web service listeners.
- Listeners are then assigned to subscribe to events.
Step 3. Events and Notification
Once events and listeners are configured the notification process is executed periodically to send events to listeners.
- Menu path: Admin module | Open | Event Queue
- Data change events are queued for notification
- Data field can be searched by list search row
- Menu path: Admin module | Open | Event Notification
- Event notification statuses are recorded in this list for one to review what events are notified or there are errors in the notification.