Skip to main content

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
info

Due to various factors, there can be a difference between the data exported and the Reports in Showpad's Online Platform.

Prerequisites
  • Showpad Ultimate package
  • Access to Showpad's Online Platform
  • Showpad API, REST Clients, and command lines are no mystery to you

Data Model

Content Reporting Diagram

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.

A - C - D - E - S - T - U

TableContentDescription
AAssetsList of assets.
Asset-authorsList of authors for assets.Authors are also users, so the author information is found in the users call.
Asset-countriesList of asset countries.
Asset-languagesList of languages assigned for an asset.
Asset-tagsMany to many relation between assets and tags.
CChannels
(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-usergroupsUsergroups assigned to an experience
Channel-usersUsers assigned to an experience
CollectionsList of user collections.
Collection-itemsList of assets within a collection.
ContactsThe contacts you send to.
DDevicesList of devices used.Can be the device of the user or the device of the contact depending on relevant event type
DivisionsDivision 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_usergroupsUsergroups assigned to a division.If you want to report by divisions, this is the only correct relation for which users belong to which division.
EEventsAll 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.
SSharesList of shares. Every message sent out to prospects is a share.One share can contain multiple assets.
SharedspacesAll shared spaces created in the account.
SharedspaceparticipantsParticipants of a shared space.All participants are created as users.
Sharedspace-itemsAsset items located in a shared space.
TTagsList of tags.
TagcategoriesList of tag categories.Tags can be grouped in one or more categories. Categories can be grouped in other categories.
Tagcategory-tagsMany to many relation between tag categories and tags.
UUsersList of users.active only? are deactivated users included?
UsergroupsList of user groups.
User-usergroupsMany 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

NameTypeFormatDescription
channelIdsstringOnly include events with the specified channel IDs. You can list multiple IDs by separating them with a comma.
endedAtstringYYYY-MM-DD | YYYY-MM-DD HH:mm:ssOnly include events that happened before this date.
eventTypestringOnly include events with the specified event type. You can list multiple event types by separating them by a comma.
limitintegerint32Sets 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.
loggedAfterstringYYYY-MM-DD | YYYY-MM-DD HH:mm:ssOnly include events that have been logged to Showpad after this date (for offline use, this is when the device comes online).
loggedBeforestringYYYY-MM-DD | YYYY-MM-DD HH:mm:ssOnly include events that have been logged to Showpad before this date (for offline use, this is when the device comes online).
pageBasedbooleantrue | falseInclude page-based information in events.
startedAtstringYYYY-MM-DD | YYYY-MM-DD HH:mm:ssOnly include events that happened after this date.
userIdstringOnly include events for a specified user by user ID.
info

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.