Exporting Guru Cards to a Third-Party App or Website
Learn how to create a customer-facing Help Center by using Guru's API to publish Cards
Overview
A common use case is to sync Card content from Guru to an external system. This can be accomplished using the List Cards endpoint.
The curl
utility will be used to illustrate how to accomplish this. Authentication details are removed for brevity.
General Events
Full Export
First, an initial export is done using a wide open query.
curl "https://api.getguru.com/api/v1/search/query"
This will return an array of all card objects. In most accounts, the results from this call will be paged. See the Paging documentation to see how to process all results.
Filtered Export
Once a full export is done, a filtered export can be performed to capture all changes to card content using the card's lastModified
field, which indicates the last time the card was modified. For this example, assume the initial export was done on January 15th, 2016 at 8am UTC time. In ISO-8601 format, this date is 2016-01-15T08:00:00.000+00:00
. For the first sync of changes, use the lastModified
filter of the List Cards endpoint to make a query lastModified >= 2016-01-15T08:00:00.000+00:00
(this query will be URL encoded in the example below).
curl "https://api.getguru.com/api/v1/search/query?q=lastModified >= 2016-01-15T08:00:00.000+00:00"
This will return an array of all cards that have been modified since January 15th at 8am UTC. Again, results may be paged. Record the date/time of the sync and use that date/time in the next query. For example, if the last sync was performed on January 16th at 10am UTC, that date would be used in the next sync call (lastModified >= 2016-01-16T10:00:00.000+00:00
).
Continuing to do periodic syncs like this will ensure that all changes are properly exported.
NOTE: The filtered export will bring over existing Card IDs. It's on the third-party app to complete an overwrite of that data if you want to avoid creating duplicate Cards.
Updated about 1 year ago