Cloud Elements is proud to support Zendesk's Incremental and Side-Loading functionality:
- Incremental Export allows you to pull all records of a specified resource that have been changed since the provided start time
- Side-loading allows you to load related resources on a given API request
With these two features, you will be able to leverage the Zendesk API to its fullest ability. This article covers more details on how to utilize this functionality.
Incremental Export
To use the incremental export you will have to pass in the incremental parameter, a boolean value, as part of the where clause. This alerts the CE platform that you are conducting an incremental export as opposed to a regular API request. You must also pass along a start_time parameter where the value is an epoch timestamp. The where clause will end up looking like the following:
where=incremental='true' and start_time='1571768014'
Side-Loading
Using the side-loading feature is relatively simple. You pass in an expand query parameter, where the value is a list of related resources you would like to be returned on response. Here's an example:
expand='identities,tickets'
Using the Features
It is possible to use both side-loading and incremental exports together, but is important to note that the expand parameter has to be outside of the where clause. Here's an example:
expand=identities&where=incremental='true' and start_time='1332034771'
Bulk and Events
Both of these features are available to use with our bulk and events framework, although there are some limitations involved that you should be aware of.
Side-loading with bulk is unable to return more than one related record through a CSV file. You can set the response type to JSON if you would like to return more than one related record. While you can maintain the the where clause as part of the bulk query, you will have to send the the expand parameter as part of the metadata object:
{"expand":"identities","fileFormat":"json"}
To use these features with the event polling framework, you need to use a specific URL as your polling URL:
/hubs/helpdesk/users?where=incremental='true'%20and%20start_time='${epoch:s}'%20and%20expand='identities'.
In this example, the URL allows you to poll, using the incremental export endpoint, to retrieve all changed user records with the identities record side-loaded onto the users. A note about the epoch:s configuration value, epoch:s
is calculated by our poller setting it to the last poll timestamp.
For more information, please feel free to check out Zendesk's documentation: