Direct APIs

Reporting API Guide

Introduction

The following documentation reviews the REST API (Application Programming Interface) for authenticating and accessing Reporting data on the Webcast platform.

This API require API credentials to be created for your company. These credentials are used to authenticate your account before you can access Webcast report data. To request an API account, please contact Support for assistance.

Authentication

In order to access Webcast reporting data, you must first authenticate using your Webcast API credentials. Below is an exmaple of a Authentication Request. After successful authentication, you will be provided with Session ID and User ID that will be used to access reporting data.

The bold values in this example need to be updated to include your API Username and Password in the corresponding fields. Refer to the example URL and Parameters below for more details. Contact Support to request an API account.

Sample Authentication Request

https://api.webcasts.com/api/login?username=Username&password=Password&ver=2.0

Parameter Description
username
Authorized API Username
password
Authorized API Password
ver
API Version Number (2.0)


XML Return on Authentication Success

Properly formatted requests will return the following XML like seen in the example below:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<convey_api version="2.0">
<currentDateTime>2019-05-15 14:39:09</currentDateTime>
<currentTimeZone>GMT</currentTimeZone >
<result>
<returnCode>1</returnCode>
<success>
<sessionid>
<description>Authenticated session ID.</description>
<value>00e60096592bdead6feb1cf3112c2f68d988d5ec</value>
</sessionid>
<userid>
<description>Authenticated user ID.</description>
<value>9b21cf03885a7677bdf835d7aa857075dcbf753c</value>
</userid>
</success>
</result>
</convey_api>

Authentication Result Nodes

Node/Node Attribute Description
sessionid
Session ID
userid
User ID
convey_api
Defines the API version. Requests should include "2.0" as this value.
currentDateTime
Timestamp of report creation
currentTimeZone
Selected time zone for all times displayed in this report. If none is defined, it will default to GMT.
returnCode 
Result of the API request. A value of 1 indicates a successful result. Other values indicate failures and correspond to specific error messages defined in the section "XML Return Codes on Failure".
result
Node contains all event data returned.


Time Zone Values Request

To pull a list of all available time zone values, connect to the URL below via https GET or Post. The supported Time Zone value is based on the JVM version being used, which may change periodically.

The bold values in this example need to be updated to include your User ID and Session ID in the corresponding fields. Refer to the example URL and Parameters below for more details.

Sample Time Zone Request

https://reporting.webcasts.com/api/reporting/timezones?ui=USER_ID&si=SESSION_ID

XML Return on Time Zone Request

<convey_api>
<timezone_id>Etc/GMT+12</timezone_id>
<timezone_id>Etc/GMT+11</timezone_id>
<timezone_id>Pacific/Midway</timezone_id>
<timezone_id>Pacific/Niue</timezone_id>
<timezone_id>Pacific/Pago_Pago</timezone_id>
<timezone_id>Pacific/Samoa</timezone_id>
<timezone_id>US/Samoa</timezone_id>
<timezone_id>America/Adak</timezone_id>
<timezone_id>America/Atka</timezone_id>
<timezone_id>Etc/GMT+10</timezone_id>
<timezone_id>HST</timezone_id>
<timezone_id>Pacific/Honolulu</timezone_id>
<timezone_id>Pacific/Johnston</timezone_id>
<timezone_id>Pacific/Rarotonga</timezone_id>
<timezone_id>Pacific/Tahiti</timezone_id>
...
</convey_api>

Event Reporting Request

To access reporting data for a Webcast event, connect to the URL below via https GET or Post. Accounts must have permission to view reporting for the requested Event ID.

The bold values in this example need to be updated to include your User ID, Session ID, Event ID and Data Format in the corresponding fields. A "DATA_FORMAT" can be specified or if the parameter can is removed, reports will default to XML format. Addtional parameters can be added to your request. Refer to the example URL and tables below for more details.

Sample Report Request

https://api.webcasts.com/api/reporting/audience_reports/DATA_FORMAT?ui=USER_ID&si=SESSION_ID&ver=2.0&ei=EVENT_ID

Data Format Options

URL Data Format Parameter Description Content-Type
xml
XML Format (default return type) application/xml;charset=utf-8
json
JSON Format application/json;charset=utf-8
csv
CSV Format text/plain;charset=utf-8

Available Parameters

Parameter Description
ui*
Valid User ID
si*
Valid Session ID
ver*
Defines the API version. Requests should include "2.0" as this value.
ei*
Webcast Event ID
tz
Time Zone for all times displayed in this report. Defaults to GMT if undefined.
date_range_start
Start date of the report date range. Timestamp is automatically set to 12:00:00 AM on the selected start date.
date_range_end
End date of the report date range. Timestamp is automatically set to 11:59:59 PM on the selected end date.
dr_regs**
Restricts results by including only registrants who registered within the selected date range. If undefined, it will default to on.
dr_sessions**
Restricts results by including only registrants who have viewing duration of any type within the selected date range. If undefined, it will default to on.
sti_filter
Restricts results by including only registrants who accessed the event using a URL containing a Campaign Source Tracking Identifier. If undefined, it will default to off. Separate multiple values with pipes.
excl_domain
Restricts results by excluding any registrants with emails on the specified domain. If undefined, it will default to off. Separate multiple values with pipes. Cannot be used with "inclu_domain".
incl_domain
Restricts results by including any registrants with emails on the specified domain. If undefined, it will default to off. Separate multiple values with pipes. Cannot be used with "excl_domain".
users_qa**
Restricts results by including only registrants who asked a question. If undefined, it will default to off.
user_survey**
Restricts results by including only registrants who responded to one or more surveys. If undefined, it will default to off.
no_shows**
Restricts results by including only registrants with no viewing sessions of any type. If undefined, it will default to off.
live_viewers**
Restricts results by including only registrants with one or more live viewing sessions. If undefined, it will default to off.
od_viewers**
Restricts results by including only registrants with one or more On-Demand or Archive viewing sessions. If undefined, it will default to off.
simlive_viewers**
Restricts results by including only registrants with one or more Sim-Live viewing sessions. If undefined, it will default to off.


Notes:


Report Request Examples

Request all user data for a single Webcast Event including registration information, questions and answers, survey responses, usage (viewing) and an overview of event analytics.

Click on a Report format below to view details on each request type.


Use these links to access a sample of a XML Return, a list of XML Nodes and a list of Return Codes for failed requests.

XML Return on Successful Request

<convey_api version="2.0">
<currentTimeZone>Eastern Standard Time</currentTimeZone>
<currentDateTime>12/20/2014 03:30:13 PM</currentDateTime>
<result>
<returnCode>
1</returnCode>
<report_type>Audience Details Report</report_type>
<report_date_range/>
<filters>
<sti_filter/>
<email_domain_exclude_filter/>
<email_domain_include_filter/>
<qa_data_filter>off</qa_data_filter>
<survey_data_filter>off</survey_data_filter>
<no_show_filter>off</no_show_filter>
<live_viewers_filter>off</live_viewers_filter>
<od_viewers_filter>off</od_viewers_filter>
<simlive_viewers_filter>off</simlive_viewers_filter>
</filters>
<report_data>
<eventid>123456</eventid>
<eventtitle>API Report Sample</eventtitle>
<costcenter>Marketing</costcenter>
<event_create_time>11/04/2014 02:39:43 PM</event_create_time>
<live_start_time>11/04/2014 03:04:01 PM</live_start_time>
<live_end_time>11/04/2014 03:08:07 PM</live_end_time>
<od_first_published_time>11/04/2014 03:08:00 PM</od_first_published_time>
<od_expiration_time>05/04/2015 03:03:40 PM</od_expiration_time>
<event_analytics>
<total_sessions>5</total_sessions>
<total_registrants>6</total_registrants>
<no_shows>2</no_shows>
<total_conversion_rate>66.7%</total_conversion_rate>
<live_sessions>1</live_sessions>
<unique_live_viewers>1</unique_live_viewers>
<live_registrants>2</live_registrants>
<live_conversion_rate>50%</live_conversion_rate>
<od_sessions>3</od_sessions>
<unique_od_viewers>2</unique_od_viewers>
<simlive_sessions>1</simlive_sessions>
<unique_simlive_viewers>1</unique_simlive_viewers>
</event_analytics>
<registration_questions>
<rq id="firstname">First Name</rq>
<rq id="lastname">Last Name</rq>
<rq id="company">Company</rq>
<rq id="email">Email</rq>
<rq id="title">Title</rq>
<rq id="country">Country</rq>
<rq id="address1">Address 1</rq>
<rq id="address2">Address 2</rq>
<rq id="city">City</rq>
<rq id="state">State/Province/Region</rq>
<rq id="postalcode">Postal Code</rq>
<rq id="phone">Phone Number</rq>
<rq id="mobile">Mobile Number</rq>
<rq id="fax">Fax Number</rq>
<rq id="source_track_id">Campaign ID</rq>
<rq id="559607bd0f63f65f6892eff0477b5be1c123582d_123456">Department</rq>
<rq id="86cb4cddbaf8762010db311d9e035d59c755ad3a_123456">Have you previously attended one of our webcasts?</rq>
</registration_questions>
<surveys>
<survey id="5458e5c0bef1f4.34548499" name="Halftime Survey" type="In Event">
<sq id="5458e5d1ee0891.61344744" type="Radio Vertical">Are you enjoying this presentation?</sq>
<sq id="5458e5c1451728.31353993" type="Textbox">Is there any topic that you would like us to discuss in a future webcast?</sq>
</survey>
<survey id="5458e5eee7e073.49742677" name="Attendance Check" type="Attendance"/>
<survey id="5458e61d2dca04.58375990" name="Ending Questionaire" type="Post Event">
<sq id="5458e6d05a6341.17478629" type="Checkbox Vertical">Which of the following social media platforms do you use regularly for your business?</sq>
<sq id="5458e61d96b9a3.90404248" type="Radio Vertical">Do you directly manage your company's social media accounts?</sq>
<sq id="5458e62d69a857.50529993" type="Text Area">What is your business's Twitter handle?</sq>
</survey>
</surveys>
<viewers>
<viewer>
<registration_date>11/04/2014 07:53:35 PM</registration_date>
<registration_answers>
<ra id="firstname">Alice</ra>
<ra id="lastname">Williams</ra>
<ra id="company">YourCo</ra>
<ra id="email">awilliams@yourco.com</ra>
<ra id="source_track_id">Linkedin Campaign</ra>
<ra id="559607bd0f63f65f6892eff0477b5be1c123582d_123456">Marketing</ra>
<ra id="86cb4cddbaf8762010db311d9e035d59c755ad3a_123456">Yes</ra>
</registration_answers>
<sessions>
<session>
<type>Live</type>
<start_time>11/04/2014 08:04:01 PM</start_time>
<end_time>11/04/2014 08:08:07 PM</end_time>
<duration>246000</duration>
<media/>
</session>
</sessions>
<qa>
<question>
How do you engage with customers using social media in a meaningful way?
<answer>Great question! We will be addressing this shortly.</answer>
</question>
<question>
Is there a way to more easily follow / unfollow large numbers of users on twitter?
</question>
</qa>
<survey_responses>
<sr survey_id="5458e5c0bef1f4.34548499" question_id="5458e5c1451728.31353993">I'd love to hear more about advertising on social media.</sr>
<sr survey_id="5458e5c0bef1f4.34548499"
question_id="5458e5d1ee0891.61344744">Yes</sr>
<sr survey_id="5458e5eee7e073.49742677">Yes</sr>
<sr survey_id="5458e61d2dca04.58375990"
question_id="5458e61d96b9a3.90404248">No</sr>
<sr survey_id="5458e61d2dca04.58375990"
question_id="5458e62d69a857.50529993">@yourcompany</sr>
<sr survey_id="5458e61d2dca04.58375990"
question_id="5458e6d05a6341.17478629">Twitter | Facebook | Pinterest</sr>
</survey_responses>
</viewer>
<viewer>
<registration_date>11/04/2014 07:54:29 PM</registration_date>
<registration_answers>
<ra id="firstname">Michael</ra>
<ra id="lastname">Scott</ra>
<ra id="company">CompanyX</ra>
<ra id="email">mscott@companyx.com</ra>
</registration_answers>
<sessions>
<session>
<type>On-Demand</type>
<start_time>12/10/2014 11:50:18 PM</start_time>
<end_time>12/10/2014 11:51:30 PM</end_time>
<duration>72000</duration>
<media/>
</session>
<session>
<type>On-Demand</type>
<start_time>12/11/2014 10:20:30 PM</start_time>
<end_time>12/11/2014 10:22:47 PM</end_time>
<duration>137000</duration>
<media/>
</session>
</sessions>
<qa/>
<survey_responses/>
</viewer>
<viewer>
<registration_date>11/04/2014 08:33:47 PM</registration_date>
<registration_answers>
<ra id="firstname">Martin</ra>
<ra id="lastname">Thomas</ra>
<ra id="company">Second City Bank</ra>
<ra id="email">mthomas@secondcitybank.com</ra>
</registration_answers>
<sessions>
<session>
<type>On-Demand</type>
<start_time>11/04/2014 08:33:47 PM</start_time>
<end_time>11/04/2014 08:37:52 PM</end_time>
<duration>245000</duration>
<media/>
</session>
</sessions>
<qa>
<question>
How can I use Twitter to increase sales on my website?
</question>
</qa>
<survey_responses>
<sr survey_id="5458e5c0bef1f4.34548499"
question_id="5458e5c1451728.31353993">ecommerce</sr>
<sr survey_id="5458e5c0bef1f4.34548499"
question_id="5458e5d1ee0891.61344744">Yes</sr>
<sr survey_id="5458e5eee7e073.49742677">Yes</sr>
<sr survey_id="5458e61d2dca04.58375990"
question_id="5458e61d96b9a3.90404248">No</sr>
<sr survey_id="5458e61d2dca04.58375990"
question_id="5458e62d69a857.50529993">@secondcitybank</sr>
<sr survey_id="5458e61d2dca04.58375990"
question_id="5458e6d05a6341.17478629">Twitter</sr>
</survey_responses>
</viewer>
<viewer>
<registration_date>11/04/2014 08:39:09 PM</registration_date>
<registration_answers>
<ra id="firstname">Alexandra</ra>
<ra id="lastname">Graystone</ra>
<ra id="company">Company X</ra>
<ra id="email"agraystone@companyx.com</ra>
<ra id="559607bd0f63f65f6892eff0477b5be1c123582d_123456">Engineering</ra>
<ra id="86cb4cddbaf8762010db311d9e035d59c755ad3a_123456">No</ra>
</registration_answers>
<qa/>
<survey_responses/>
</viewer>
<viewer>
<registration_date>11/04/2014 08:40:41 PM</registration_date>
<registration_answers>
<ra id="firstname">Marie</ra>
<ra id="lastname">Davis</ra>
<ra id="company">Your Co</ra>
<ra id="email">mdavis@yourco.com</ra>
<ra id="559607bd0f63f65f6892eff0477b5be1c123582d_123456">Product Strategy</ra>
<ra id="86cb4cddbaf8762010db311d9e035d59c755ad3a_123456">Yes</ra>
</registration_answers>
<qa/>
<survey_responses/>
</viewer>
<viewer>
<registration_date>11/04/2014 08:41:39 PM</registration_date>
<registration_answers>
<ra id="firstname">Arthur</ra>
<ra id="lastname">Collins</ra>
<ra id="company">2nd City Bank</ra>
<ra id="email">arthur.collins@gmail.com</ra>
<ra id="559607bd0f63f65f6892eff0477b5be1c123582d_123456">Sales</ra>
<ra id="86cb4cddbaf8762010db311d9e035d59c755ad3a_123456">No</ra>
</registration_answers>
<sessions>
<session>
<type>SimLive</type>
<start_time>11/04/2014 08:41:40 PM</start_time>
<end_time>11/04/2014 08:49:08 PM</end_time>
<duration>448000</duration>
<media/>
</session>
</sessions>
<qa/>
<survey_responses>
<sr survey_id="5458e5c0bef1f4.34548499"
question_id="5458e5c1451728.31353993">not sure</sr> <sr survey_id="5458e5c0bef1f4.34548499"
question_id="5458e5d1ee0891.61344744">Yes</sr>
<sr survey_id="5458e5eee7e073.49742677">Yes</sr>
<sr survey_id="5458e61d2dca04.58375990"
question_id="5458e61d96b9a3.90404248">No</sr>
<sr survey_id="5458e61d2dca04.58375990"
question_id="5458e62d69a857.50529993">I don't know</sr>
<sr survey_id="5458e61d2dca04.58375990"
question_id="5458e6d05a6341.17478629">Facebook | Twitter</sr>
</survey_responses>
</viewer>
</viewers>
</report_data>
</result>
</convey_api>

Report Result Nodes

Node/Node Attribute Description Values
answer An answer from a presenter to question represented by the parent Question node xs:string
convey_api Defines the API version. Requests should include "2.0" as this value. xs:complexType elements
costcenter Displays Cost Center(s) for the selected event. Used for enhanced billing tracking. xs:string
currentDateTime Timestamp of report creation xs:date
currentTimeZone Selected time zone for all times displayed in this report. If none is defined, it will default to GMT. xs:date
duration The length of a single viewing session xs:long
email_domain_exclude_filter Restricts results by excluding any registrants with emails on the specified domain. xs:string
email_domain_include_filter Restricts results by including only registrants with emails on the specified domain. xs:string
end End date of the report date range. Timestamp is automatically set to 11:59:59 PM on the selected end date. xs:date
end_time Timestamp at the end of a viewing session xs:date
event_analytics Overview statistics for the presentation xs:complexTypeelements
event_create_time Timestamp of event creation xs:date
eventid Selected event ID xs:string
eventtitle Selected event name xs:string
filters Shows the values of the filters applied to this report xs:complexType elements
live_conversion_rate The percentage of registrants, at the time the Live event concluded, that attended the Live event xs:string
live_end_time Timestamp at the conclusion of the Live event xs:date
live_registrants Number of Registrants at Live Event Conclusion xs:int
live_sessions Number of viewing sessions on the Live event xs:int
live_start_time Timestamp at the start of the Live event xs:date
live_viewers_filter Restricts results by including only registrants with one or more live viewing sessions xs:string
media Type of media player used in a viewing session xs:string
no_show_filter Restricts results by including only registrants with no viewing sessions of any type xs:string
no_shows Number of registrants that did not login to watch the event xs:int
od_expiration_time The date on which the On-Demand or Archive event will expire and no longer be accessible to viewers xs:date
od_first_published_time Timestamp when the event was originally archived or was first published xs:date
od_sessions Number of viewing sessions on the On-Demand or Archived event xs:int
od_viewer_filter Restricts results by including only registrants with one or more On-Demand or Archive viewing sessions xs:string
qa Node containing all Questions asked by the viewer and any Answers to those questions from a Presenter or Moderator. xs:complexType elements
qa_data_filter Restricts results by including only registrants who asked a question xs:string
questoin A question asked by a viewer xs:complexType elements
ra A response to a registration question. xs:string
registration_answers Node containing all responses to registration question for a single registrant xs:complexType elements
registration_date Timestamp when a single registrant submitted the registration form xs:date
registration_date_filter Restricts results by including only registrants who registered within the selected date range xs:string
regisration_questions Node containing a full list of all default and custom registration questions xs:complexType elements
report_data Node containing identifying information about the selected event xs:complexType elements
report_date_range Restricts results by including only activity within a selected date range. If no date range is defined, all data will be included in the report. xs:complexType elements
report_type Defines which type of report data is selected xs:string
result Node contains all event data returned xs:complexType elements
returnCode Result of the API request. A value of 1 indicates a successful result. Other values indicate failures and correspond to specific error messages defined in the section "XML Return Codes on Failure". xs:int
rq A registration question for the selected event xs:string
session A single viewing session xs:complexType elements
sessions Node containing all viewing sessions for an individual viewer xs:complexType elements
simlive_sessions Number of viewing sessions on the Simulated Live event xs:int
simelive_viewers_filter Restricts results by including only registrants with one or more Simulated Live viewing sessions xs:string
sq An survey question for the selected event xs:string
sr A survey response by a single viewer. The survey ID in the viewer's response corresponds to the survey ID found in the "surveys" node. xs:string
start Start date of the report date range. Timestamp is automatically set to 12:00:00 AM on the selected start date. xs:date
start_time Timestamp at the beginning of a viewing session xs:date
sti_filter Restricts results by including only registrants who accessed the event using a URL containing a Campaign Source Tracking Identifier xs:string
survey A single survey containing one or more questions from the selected event xs:complexType elements
survey_data_filter Restricts results by including only registrants who responded to one or more surveys xs:string
survey_responses Node containing survey responses from a single viewer xs:complexType elements
surveys Node containing all survey questions from the selected event xs:complexType elements
total_conversion_rate Percentage of Total Unique Registrants, not including No Shows, that logged in to the event xs:string
total_registrants Total number of registrants for the event xs:int
total_sessions Total number viewing sessions on the event xs:int
type Type of viewing session xs:string
unique_live_viewers Number of unique email addresses that viewed the Live event xs:int
unique_od_viewers Number of unique email addresses that viewed the On-Demand or Archived event xs:int
unique_simlive_viewers Number of unique email addresses that viewed the Simulated Live event xs:int
viewer Node containing data for a single unique registrant xs:complexType elements
viewers Node containing records for all unique registrants xs:complexType elements
viewing_session_date_filter viewing_session_date_filter xs:string

Return Codes for Failed Rquests


Return Code Description
0 General error
1 Success
10 You are not authorized to run a report on this event. Please check you have the correct Event ID.
11 The User ID or Session ID is invalid.
50 The reporting service is not available at this time. Please conact Support for assistance.
51 There was invalid data in the report. Please conact Support for assistance.
60 The reporting service is not available at this time. Please conact Support for assistance.
61 You have reached the maximum number of reports that can be run for an event. Please try again later.
62 You have reached the maximum number of reports that can be run within one hour. Please try again later.
70 Pleaes remove any insecure tages from the input paramters and try again.
71 Please use a valid version number ("2.0").
72 There were missing or invalid input parameters in request.
73 Ambigous platform
74 Could not identify the Reporting Resource requested


Use these links to access a sample of a JSON Return, a list of JSON Nodes and a list of Return Codes for failed requests.

JSON Return on Successful Request

{
"currentTimeZone":"Greenwich Mean Time",
"api_version":"2.0",
"report_run_time":"05/31/2017 02:19:32 PM",
"report_type":"Audience Details Report",
"event_data":{
"event_creation_date":"05/24/2017 03:25:03 PM",
"event_od_last_published_time":"",
"event_od_expiration_time":"11/24/2017 03:43:35 PM",
"event_duration":"00:11:00",
"event_live_start_time":"05/24/2017 03:37:28 PM",
"event_title":"Sample API Event",
"event_analytics":{
"unique_od_viewers":"0",
"total_registrants":"4",
"live_conversion_rate":"100%",
"od_sessions":"0",
"simlive_sessions":"0",
"unique_simlive_viewers":"0",
"total_conversion_rate":"100%",
"live_sessions":"7",
"unique_live_viewers":"4",
"live_registrants":"4",
"total_sessions":"7",
"no_shows":"0"
},
"event_id":"20786",
"event_live_end_time":"05/24/2017 03:48:28 PM",
"event_sim_live_scheduled_time":"",
"event_cost_center":"",
"event_creator":"admin1",
"event_pre_live_scheduled_time":"05/24/2017 04:00:00 PM"
},
"filters":{
"incl_domain":[
],
"od_viewers":false,
"user_survey":false,
"live_viewers":false,
"excl_domain":[

],
"simlive_viewers":false,
"sti_filter":[
],
"users_qa":false,
"no_shows":false
},
"data_headers":[
"Event Id",
"Event Title",
"Cost Center",
"Registered On",
"First Name",
"Last Name",
"Company",
"Email",
"Title",
"Country",
"Address 1",
"Address 2",
"City",
"State/Province/Region",
"Postal Code",
"Phone Number",
"Mobile Number",
"Fax Number",
"Sample Registration Question",
"Campaign ID",
"Live Sessions",
"On-Demand Sessions",
"SimLive Sessions",
"Total Sessions",
"Live Duration",
"On-Demand Duration",
"SimLive Duration",
"Total Duration",
"Referrer",
"Question 1",
"Answer 1",
"Question 2",
"Answer 2",
"Question 3",
"Answer 3",
"Survey: Sample Survey 1: Question 1",
"Survey: Sample Survey 1: Question 2",
"Survey: Sample Survey 2: Question 1",
"Survey: Sample Attendance Survey: ",
"Survey: Post Event Survey: Did you enjoy the webcast ?", "sessions"
],
"data_rows":[
[
"20786",
"Sample API Event",
"",
"05/24/2017 03:30:40 PM",
"",
"",
"",
"user1@company.com",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"3",
"0",
"0",
"3",
"00:33:00",
"00:00:00",
"00:00:00",
"00:33:00",
"",
"greta?",
"answer",
"good morning?",
"yes it is",
"another question",
"another answer",
"Answer 1|Answer 2",
"Answer 2|Answer 1",
"Answer 2|Answer 1",
"Yes|Yes|No",
"No|Yes|Yes",
[
[
"Live",
"05/24/2017 03:37:28 PM",
"05/24/2017 03:48:28 PM",
660000,
"Unknown"
],
[
"Live",
"05/24/2017 03:37:28 PM",
"05/24/2017 03:48:28 PM",
660000,
"Unknown"
],
[
"Live",
"05/24/2017 03:37:28 PM",
"05/24/2017 03:48:28 PM",
660000,
"Unknown"
]
]
],
[
"20786",
"Sample API Event",
"",
"05/24/2017 03:32:36 PM",
"Josh",
"Jones",
"Company",
"user2@company.com",
"Senior",
"United States of America",
"100 John Lane",
"",
"New York",
"New York",
"11111",
"888-888-8888",
"999-999-9999",
"111-111-1111",
"",
"1",
"0",
"0",
"1",
"00:11:00",
"00:00:00",
"00:00:00",
"00:11:00",
"",
"Answer 1",
"Yes",
"Yes",
[
[
"Live",
"05/24/2017 03:37:28 PM",
"05/24/2017 03:48:28 PM",
660000,
"Unknown"
]
]
],
[
"20786",
"Sample API Event",
"",
"05/24/2017 03:33:58 PM",
"Wilber",
"Smith",
"Company 2",
"user3@company.com",
"Jr",
"United States of America",
"2345 API Dr.",
"Apt 3",
"Boston",
"Massachusetts",
"23456",
"123-456-7890",
"098-765-4321",
"",
"",
"2",
"0",
"0",
"2",
"00:10:02",
"00:00:00",
"00:00:00",
"00:10:02",
00:10:02",
"",
"Answer 1",
"Answer 1",
"Answer 1",
"No",
[
[
"Live",
"05/24/2017 03:37:28 PM",
"05/24/2017 03:40:04 PM",
156000,
"Unknown"
],
[
"Live",
"05/24/2017 03:41:02 PM",
"05/24/2017 03:48:28 PM",
446000,
"HTML5 Video"
]
]
],
[
"20786",
"Sample API Event",
"",
"05/24/2017 03:41:33 PM",
"",
"",
"",
"user4@company.com",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"1",
"0",
"0",
"1",
"00:06:54",
"00:00:00",
"00:00:00",
"00:06:54",
"",
"kool?",
"great webcast, very good",
[
[
"Live",
"05/24/2017 03:41:34 PM",
"05/24/2017 03:48:28 PM",
414000,
"Unknown"
]
]
]
]
}

Report Result Nodes

Node/Node Attribute Description Values
report_type Defines which type of report data is selected json:string
api_version Defines the API version. Requests should include "2.0" as this value. json:string
currentTimeZone Selected time zone for all times displayed in this report. If none is defined, it will default to GMT. json:string
event_data JSON object containing all event meta-data json:object
event_data.event_creation_date Formatted date date of event creation json:string
MM/DD/YYYY hh:mm:ss
event_data.last_published_time Formatted date time of last instance event was published On-Demand json:strong
MM/DD/YYYY hh:mm:ss
event_data.event_id Select Event ID json:string
event_data.od_expiration_time Formatted date on which the On-Demand or Archive event will expire and no longer be accessible to viewers json:string
MM/DD/YYYY hh:mm:ss
event_data.event_live_end_time Formatted timestamp of conclusion for the Live event json:string
MM/DD/YYYY hh:mm:ss
event_data.sim_live_scheduled_time Formatted timestamp of the scheduled start time for a Simlive event json:string
MM/DD/YYYY hh:mm:ss
event_data.event_duration Formatted time interval for total event duration json:string
hh:mm:ss
event_data.event_cost_center json:string Displays Cost Center(s) for the selected event. Used for enhanced billing tracking
event_data.event_live_start_time Formatted timestamp of the start time of the Live event json:string
MM/DD/YYYY hh:mm:ss
event_data.event_title Title of selected event json:string
event_data-event_creator Username of admin who created selected event json:string
event_data.event_pre_live_scheduled_time Formatted timestamp of the scheduled time for live event json:string
MM/DD/YYYY hh:mm:ss
event_data.evnet_analytics Object containing overview statistics for the presentation json:object
event_data.even_alaytics.unique_od_viewers json:string
event_data.even_alaytics.total_registrants json:string
event_data.even_alaytics.live_conversion_rate json:string
event_data.even_alaytics.od_sessions json:string
event_data.even_alaytics.simlive_sessions json:string
event_data.even_alaytics.unique_simlive_sessions json:string
event_data.even_alaytics.total_conversion_rate json:string
event_data.even_alaytics.live_sessions json:string
event_data.even_alaytics.unique_live_viewers json:string
event_data.even_alaytics.live_registrants json:string
event_data.even_alaytics.total_sessions json:string
event_data.even_alaytics.no_shows json:string
filters Object containing the values of the filters applied to report json:object
filters.dr_regs Restricts results by including only registrants who registered within the selected date range json:boolean
filters.dr_sessions Restricts results by including only registrants who have viewing duration of any type within the selected date range json:boolean
filters.incl_domain Restricts results by including any registrants with emails on the specified domain. If undefined, it will default to off. json:array[s1,s2,s…]
filters.excl_domain Restricts results by excluding any registrants with emails on the specified domain. If undefined, it will default to off. json:array[s1,s2,s…]
filters.od_viewers Restricts results by including only registrants with one or more On-Demand or Archive viewing sessions json:boolean
filters.live viewers Restricts results by including only registrants with one or more live viewing sessions json:boolean
filters.simliveviewers Restricts results by including only registrants with one or more Sim-Live viewing sessions json:boolean
filters.sti_filters Restricts results by including only registrants who accessed the event using a URL containing a Campaign Source Tracking Identifier json:array[s1,s2,s…]
filters.users_qa Restricts results by including only registrants who asked a question json:boolean
filters.user_survey Restricts results by including only registrants who responded to one or more surveys json:boolean
filters.no_shows Restricts results by including only registrants with no viewing sessions of any type json:boolean
data_headers Array containing ordered header information for data_rows json:array
data_rows Arrays of arrays containing the data. Internal array indexes correspond with data_header indexes. json:array[arr1,arr2,arr…]
sessions The data_rows index corresponding to the data_headers index of the value “sessions” will contain session data for that viewer json:array[arr1,arr2,arr…]
sessions[0] Type: type of viewer session. Live, Simlive, On-Demand, etc. json:string
sessions[1] Sessions Start Time: Formatted datetime of viewing session start time json:string
MM/dd/yyyy hh:mm:ss a
sessions[2] Session End Time: Formatted datetime of viewing session end time json:string
MM/dd/yyyy hh:mm:ss a
sessions[3] Session Duration: Long value for viewing durationZ json:long
sessions[4] Session Media Type: Type of media player used in a viewing session json:string

Return Codes for Failed Rquests


Return Code Description
0 General error
1 Success
10 You are not authorized to run a report on this event. Please check you have the correct Event ID.
11 The User ID or Session ID is invalid.
50 The reporting service is not available at this time. Please conact Support for assistance.
51 There was invalid data in the report. Please conact Support for assistance.
60 The reporting service is not available at this time. Please conact Support for assistance.
61 You have reached the maximum number of reports that can be run for an event. Please try again later.
62 You have reached the maximum number of reports that can be run within one hour. Please try again later.
70 Pleaes remove any insecure tages from the input paramters and try again.
71 Please use a valid version number ("2.0").
72 There were missing or invalid input parameters in request.
73 Ambigous platform
74 Could not identify the Reporting Resource requested


CSV Return on Successful Request

Report data can also be formatted using comma separated values (CSV) and follow RFC 4180 standards. The first row contains the header information and column names, with each following row containing the report data.


CSV Return on Failed Request

In the case that a CSV reporting request cannot be successfully completed, the first column in the header row will have a value of "error". The first row will contain the error header information, with following rows containing error data.




API Limits

The API has the following limitations on the amount of requests that can be made within certain time thresholds.


Event ID List Request

To access a list of Webcast Event IDs, connect to the URL below via https GET or Post. Accounts will only see Event IDs their account has permission to view.

The bold values in this example need to be updated to include your User ID and Session ID in the corresponding fields. Refer to the example URL and table below for more details.

Sample Request

https://api.webcasts.com/api/reporting/eventlist?si=SESSION_ID&ui=USER_ID

Parameter Description
si
Session ID
ui
User ID


XML Return on Event ID List Request

<event_info cost_center="" event_expiry="2019-07-24 15:39:40" id="2227117" is_expired="false" folder_id="4fdc91f0ec60425c502f02f965c72b3abcc5ca71" latest_registration="1554920268000" latest_session="1554920650000" sched_end="" sched_start="">test event</event_info>

Use Case

In most common scenarios, clients and vendors will take the information contained in the successful XML example to produce a master event analytics and/or registration report. The following example shows reports in CSV format.

Sample Event Analytics Report



Report Example


Sample Master Registration Report



Report Example

Password Reset

The password used to authenticate an API account can be reset within the API. To reset your account password, use any of URLs below. The bold values in this example need to be updated to include your Username, current Password and new Password you desire in the corresponding fields. Refer to the example URL and Parameters below for more details.

You will see a "Password change successful" message to indicate the account's password has been changed.

https://api.webcasts.com/api/passwordchange?username=Username&currenttpassword=Current_Password&newpassword=New_Password&ver=2.0

https://api.webcasts.com/api/passwordchange/xml?username=Username&currentpassword=Current_Password&newpassword=New_Password&ver=2.0

https://api.webcasts.com/api/passwordchange/json?username=Username&currentpassword=Current_Password&newpassword=New_Password&ver=2.0