Content Reporting
Showpad's Content Reporting API service (also known as the Export API) will let you download raw data as a CSV or JSON file. The downloaded data is more granular than the reports you see in the Online Platform (OP) as it returns all the raw data.
The data you export can be used:
- in your own Business Intelligence (BI) solution
- in combination with other data sources
- for custom analysis
Due to various factors, there can be a difference between the data exported and the Reports in Showpad's Online Platform.
- Showpad Ultimate package
- Access to Showpad's Online Platform
- Showpad API, REST Clients, and command lines are no mystery to you
Data Model
Export Tables
Nearly all exports begin with the Events table. This table is the central table for exporting content data. All content-related actions a user can make are tracked as in this table. All other export tables (lookup) relate to the Events (fact) table.
The following is a description of each of the export tables.
Table | Content | Description | |
---|---|---|---|
A | Assets | List of assets. | |
Asset-authors | List of authors for assets. | Authors are also users, so the author information is found in the users call. | |
Asset-countries | List of asset countries. | ||
Asset-languages | List of languages assigned for an asset. | ||
Asset-tags | Many to many relation between assets and tags. | ||
C | Channels (legacy name for Experiences) | List of Experiences an asset was opened in. | Only recorded for Classic Experiences and simple folders. It does not include Smart Folders. |
Channel-usergroups | Usergroups assigned to an experience | ||
Channel-users | Users assigned to an experience | ||
Collections | List of user collections. | ||
Collection-items | List of assets within a collection. | ||
Contacts | The contacts you send to. | ||
D | Devices | List of devices used. | Can be the device of the user or the device of the contact depending on relevant event type |
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. | |
E | 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. |
S | 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. | ||
T | Tags | List of 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. | ||
U | Users | List of users. | active only? are deactivated users included? |
Usergroups | List of user groups. | ||
User-usergroups | Many to many relation between users and usergroups. |
Requests
Base Endpoint
The base endpoint for event calls is:
GET https://{{subdomain}}.api.showpad.biz/api/v3/exports/events
Every request needs to be prefixed with the base endpoint.
Parameters
Name | Type | Format | Description |
---|---|---|---|
channelIds | string | Only include events with the specified channel IDs. You can list multiple IDs by separating them with a comma. | |
endedAt | string | YYYY-MM-DD | YYYY-MM-DD HH:mm:ss | Only include events that happened before this date. |
eventType | string | Only include events with the specified event type. You can list multiple event types by separating them by a comma. | |
limit | integer | int32 | Sets the maximum number of returned items. The maximum limit is set to 1000. For example, if limit is 50, only 50 items will be retrieved. |
loggedAfter | string | YYYY-MM-DD | YYYY-MM-DD HH:mm:ss | Only include events that have been logged to Showpad after this date (for offline use, this is when the device comes online). |
loggedBefore | string | YYYY-MM-DD | YYYY-MM-DD HH:mm:ss | Only include events that have been logged to Showpad before this date (for offline use, this is when the device comes online). |
pageBased | boolean | true | false | Include page-based information in events. |
startedAt | string | YYYY-MM-DD | YYYY-MM-DD HH:mm:ss | Only include events that happened after this date. |
userId | string | Only include events for a specified user by user ID. |
For an exhaustive overview of all event types, see Event Types.
Control Returned Items
By default, the maximum number of returned items with the Events call is set to 500. You can use the limit
parameter
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
of requests.
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.
Example Queries
If you are looking for example queries for most common use cases, please check this article out.