BrightTALK provide reporting connectors for some of the largest and most popular CRM and marketing automation products and services, including Salesforce, Eloqua and Marketo. If these connectors don’t meet your needs, then as an owner of a (suitably licensed) Channel you can build your own reporting integration using the same comprehensive set of reporting APIs that are used to power the BrightTALK connectors.
Reporting API Overview
The Channel reporting APIs are a suite of RESTful web APIs for reporting on your owned Channels and the data within them.
API users are authenticated, using Basic Authentication, by supplying a set of API credentials (key and secret).
APIs are provided to seed your system with your Channels, their content and subscribers, and subsequently incrementally report on updates within the Channel, including new subscribers and their activity, on a per Channel, or per webcast basis. The data which can be retrieved includes –
- Channels and Webcasts – Bootstrap your reporting by retrieving the details of all the Channels you own and the webcasts which exist within each of those Channels. Subsequently report on any new or updated webcasts.
- Channel Subscribers – A list of current and past subscribers to an identified channel can be retrieved, which includes the subscriber’s full BrightTALK user profile. A full list of subscribers can be retrieved, or the list can be filtered by various criteria e.g. subscription status, date/time, etc. This reporting function might be used for example to seed or update known leads in a marketing automation or CRM system for marketing and lead nurturing purposes.
- Survey Responses – A Channel may use Channel and webcast surveys to collect additional subscriber or lead data beyond that supported by BrightTALK user registration. Reporting APIs are provided to discover configured surveys and retrieve responses.
- Subscriber Webcast Activity – Obtain aggregated reports on the webcast registration and viewing activity for a subscriber, including total viewings and viewing duration, broken down by webcast status.
- Webcast Attachments – Retrieve a list of all the attachments that exist for webcasts in your Channels, and details of who has accessed them, how many times, and when they last did so.
A Software Development Kit (SDK) exists to support and accelerate the building of reporting integrations. The SDK comprises:
- Reporting API technical specification
- Reporting API client
- Pre-production testing environment
A definitive specification of the reporting APIs, covering both the common API design features (paging, error handling etc) and per API specifications (URLs, resource representations, status codes) is provided in the Channel Owner Reporting APIs Technical Specification.
The reporting API SDK includes a production-ready API client for the Java platform. This substantially reduces the effort involved in building the BrightTALK-side of a reporting integration, by taking care of the lower-level HTTP communications, encapsulating some of the technical complexities of the API (e.g. paging), and generally providing developers with a simpler, higher (object) level programming interface for interacting with the reporting APIs.
The API client is currently only available for the Java development platform. If you use another development platform, the Java client serves as a good example of how to design an API client and provides example code which could be ported.
The latest release of the Java API client, including binaries, source code, javadoc and getting started documentation, can be found on GitHub.
Finally, BrightTALK provide a pre-production (‘staging’) environment to support testing your reporting integration against a real BrightTALK Channel before your project goes live.
Before you start building your custom reporting integration –
1) Familiarise yourself with the reporting APIs by reading over the reporting API technical specification.
2) Download the latest release of the Java API client from GitHub. If you’re using Java for your development, follow the ‘Getting Started’ instructions in the GitHub project’s readme to get the API client integrated into your application. For other development platforms, use the source code for the Java API client as an example.
When you’re ready to do some end-to-end testing in conjunction with BrightTALK, contact firstname.lastname@example.org to get your API credentials for the BrightTALK staging environment.