An Ooyala Analytics extractor for Keboola Connection is a component that extracts data from Ooyala Analytics (v3) backend. Written in Node.js with utilization of Babel/ES6/ES7 functionality.
The main purpose of this extractor is to download data from v3 Analytics (Ooyala IQ) API. You can specify several dimensions which produce results for the all metrics that are available in Ooyala analytical system.
In the current version of the extractor you can't modify these metrics as well as apply any special filter on data. All you can currently do is to specify parameters startDate, endDate and dimensions and let the extractor download everything within that period and dimension.
General syntax of Reporting GET which is implemented in this extractor:
[GET] /v3/analytics/reports/?
report_type='performance'
&dimensions=dimensions
&start_date=date
&end_date=date
&other_params
&api_key=your_api_key
You can specify up to 3 dimensions. The allowed values are: asset, country, region, dma, state, device_type, domain, url, os, browser, pcode, player_id. Check out the documentation for more information.
There are two date parameters, startDate and endDate. They help you to download aggregated data within specified date period. Keep in mind, that the date mask YYYY-MM-DD must be specified, otherwise the Ooyala API won't recognize the date values and fail. The extractor always download full extract based on these two parameters. There are optionals and if you don't specify them, some default values will be used. For the startDate the value is going to be set to 2016-01-01 and for endDate the default settings is today() - 1.
The current version of the extractor is set to store output to a default bucket name based on the Keboola configuration. The filename is going to be called performance.
You can specify the grain of the data result. There is a special parameter for that called timeSegment. The valid values are: month, week, day, hour or 15min. If you don't specify this parameter, the month value is used.
There is also a parameter pageSize. This parameter is optional and you can ignore it (I implemented that for potential benchmark in future). There is a default value in place set to 1000. But in general, the bigger the number is, the lower amount of records is going to be made.
A possible configuration in Keboola Connection might look like following:
{
"#apiKey": "Ooyala Api Key",
"#apiSecret": "Ooyala Api Secret",
"dimensions": [ "asset", "country" ],
"timeSegment": "month",
"startDate": "2016-09-25",
"endDate": "2016-09-25",
"pageSize": 500
}