Showpad's Content Reporting API service will let you download raw data as a CSV or JSON file so you can use it in your own Business Intelligence (BI) solution, combine it with other data sources, and run custom analysis on it.
The CSV returned by the API service is more granular than the reports you see in the Online Platform (OP) and will return all the raw data.
The structure of Content Reporting is detailed in the image below:
You'll typically use the Events call to return the sharing data you need to relate with other export tables. You'll find more details on each of the tables below.
Explanation of all 22 export tables
|Events||All events of a user or recipient.||Main fact table. All the other tables are lookup tables with more information. See table underneath to see which lookup table is relevant for what event type.|
|Users||List of users.|
|Usergroups||List of user groups.|
|User-usergroups||Many to many relation between users and usergroups.|
|Devices||List of devices used.||Can be the device of the user or the device of the contact depending on relevant event type|
|Shares||List of shares. Every message sent out to prospects is a share.||One share can contain multiple assets.|
|Sharedspaces||All shared spaces created in the account.|
|Sharedspaceparticipants||Participants of a shared space.||All participants are created as users.|
|Sharedspace-items||Asset items located in a shared space.|
|Contacts||The contacts you send to.|
|Divisions||Division the asset belongs to.||Assets belong to a library (which is a division). Instances can have one or more divisions. Personal files of users are also a division that is only accessible by those users.|
|Division_usergroups||Usergroups assigned to a division.||If you want to report by divisions, this is the only correct relation for which users belong to which division.|
|Channels||List of experiences the asset was opened in. In the past an experience was called a channel.||This is only recorded for classic experiences and simple folders (not smart folders).|
|Channel-usergroups||Usergroups assigned to an experience|
|Channel-users||Users assigned to an experience|
|Assets||List of assets.|
|Asset-authors||List of authors for assets.||Authors are also users so the author info is found in the users call.|
|Asset-countries||List of asset countries.|
|Asset-languages||List of languages assigned for an asset.|
|Tags||List of tags.|
|Asset-tags||Many to many relation between assets and tags.|
|Tagcategories||List of tag categories.||Tags can be grouped in one or more categories. Categories can be grouped in other categories.|
|Tagcategory-tags||Many to many relation between tag categories and tags.|
|Collections||List of user collections.|
|Collection-items||List of assets within a collection.|
The events call is the central table for the Content Reporting API service. All content-related actions a user can take are tracked as events in this table. All other (lookup) tables relate to the Events fact table.
|string||Only include events that happened after this date.|
|string||Only include events that happened before this date.|
|string||Only include events that have been logged to Showpad before this date (for offline use, this is when the device comes online).|
|string||Only include events that have been logged to Showpad after this date (for offline use, this is when the device comes online).|
|boolean||Include page-based information in events.|
|string||Only include events for a specified user by user ID.|
|string||Only include events with the specified event type. You can list multiple event types by separating them by a comma.|
|integer||Sets the maximum number of returned items. The maximum limit is set to 1000. For example, if |
An exhaustive overview of all event types can be found here.
Cycle your requests to pull larger batches of data
By default, the maximum number of returned items with the Events call is set to 500. You can use the
to change this to any value between 50 and 1000.
For larger volumes of data, we include a header in the response, called
X-Showpad-Scroll-Id which contains a token. If
you make the same request again but set this header on your second request, the events call will return the second batch
The second reponse will contain another
X-Showpad-Scroll-Id header which you can then use to fetch the third batch of
requests, and so on. The
X-Showpad-Scroll-Id is not changed with every new response but it is valid for a limited
time. We recommend always using the scroll id from your most recent response in your next call.
You can loop your requests this way until all data is fetched. Once the response contains no more events, this indicates that no more data can be fetched.
Lookup Table Relations
All other export calls are related to the central events table. You can find a full overview of all the lookup tables and the fields in this page.
If you are looking for example queries for most common use cases, please check this article out.