V1 to V2 Reporting API Migration

PURPOSE OF THIS DOCUMENT

Provide information regarding the introduction of the V2 reporting APIs and describe the additions and changes relative to the V1 APIs

END OF LIFE NOTICE

❗️

V1 API end of life June 30th, 2020

The V1 Reporting APIs will be disabled on June 30th, 2020 so you must migrate to the V2 APIs before that time, but we encourage to migrate much sooner than that as there are many performance and data benefits in the V2 APIs. We have attempted to make the migration is seamless as possible with most endpoints being a superset of their V1 counterparts.

CHANGE SUMMARY

📘

Removed Continuation Support

Remove the need (and support for) for continuation based pagination. Now data is streamed and can support an unlimited stream, which means you can get any amount of data in a single API request. Continuation tokens will not be provided by the V2 apis.

📘

Removed Nested Arrays

Remove all nested arrays and objects from tables, all tables now purely 2-dimensional relational tables

📘

Changed Query Params

We removed the startTime and endTime filter params and have replaced them with more targeted createdAtStartTime, createdAtEndTime,occuredAtStartTime, occuredAtEndTime, modifiedAtStartTime, modifiedAtEndTime.
For ETL jobs, you should always be using modifiedAtStartTime, modifiedAtEndTime if it exists. If it does not exist, you need to do full table re-sync on a periodic basis.

Other than this, most of the V2 endpoints are similar to the V1 endpoints, just replacing v1 for v2 in the request path.
The general convention remains the same such as https://api.seismic.com/reporting/<version>/<table> for example for the v1 users endpoint https://api.seismic.com/reporting/v1/users, the corresponding v2 endpoint is now https://api.seismic.com/reporting/v2/users

ENDPOINT CHANGES

The table below documents the changes to the responses of the APIs which existed in v1. Unless otherwise noted, the response of the v2 API matches the response of the v1 API. All V1 Endpoints begin with https://api.seismic.com/reporting/v1 all V2 endpoints begin with https://api.seismic.com/reporting/v2.

EndpointChange Summary
usersRemoved fields:
- groups (see new groupMembers table)
- properties (see new userPropertyAssignments table)
libraryContentsRemoved fields:
- properties (see new contentPropertyAssignments table)
- assignedToProfiles (contentProfileAssignments table is planned for future release)
workspaceContentsNo change
contentUsageHistoryNew fields:
- contextId, contextName, contextType: these represent record ids for actions taken in context such as from a record in CRM.
- contentId: this represents a global content id which will map to a global contents table which is a union of library, workspace, and generated livedocs
contentViewHistoryNo change
searchHistoryNo change
livesendLinksNo change
livesendLinkContentsNo change
livesendLinkMembersNo change
livesendPageViewsNo change

NEW ENDPOINTS

With this release, we are also introducing the following new endpoints, V2 endpoints begin with https://api.seismic.com/reporting/v2.

EndpointDescription
userPropertyAssignmentsProvides a list of properties and their values assigned to each user. These correspond to the custom properties assigned to each of your users as defined in System Administration > User Profile Settings.
contentPropertyAssignmentsProvides a list of properties and their values for each library content. There will be one row in this table for each property value on a piece of content. A library content tagged with 2 single value properties and 1 multi-value property with 3 values would produce 2 + 3 = 5 rows in this table. A library content with no property values assigned will not be present in this table.
groupMembersProvides a list of groups for each user. A user in N groups would produce N rows in this table. A user in no groups would not be present in this table.
generatedLiveDocsProvides the list of LiveDoc generations that have occurred. This includes generations from all applications (Web, Salesforce, iOS, etc..) and all product areas DocCenter, NewsCenter, WorkSpace, ContentManager, PPT Plugin, etc...
generatedLiveDocComponentsThe list of components included in a generated livedoc including external content, dynamic content, slide references, and any livedoc component such as a table or chart.
generatedLiveDocSlidesA list of slides in each livedoc generation including the slide's global pageShortId.
generatedLiveDocFieldsProvides all of the tracked fields from each livedoc generation
generatedLiveDocOutputFormatsA list of output formats/files generated for a given generated livedoc