Description

3Q Core Streaming Platform

This node integrates the 3Q SDN API which can be used to automate your publishing workflows. Upload, edit and distribute your videos automatically and freely manage your media assets.

  • Content Protection: Protect your content from unauthorised access.
  • Flexible Pricing: Scaled prices apt to your company budget
  • Secure & GDPR Compliant: Our solutions and infrastructure adhere to the legal requirements of the GDPR.
  • Global and Reliable Distribution: With the help of our multi-CDN solution, your assets can be viewed worldwide
  • Streaming at Scale: Make your content available for large-scale events

Automatic processing

3Q will make it easy on you. We’ll automatically process your content into various codecs, resolutions, and formats so that it can be played on any device or platform. Your content can then be played back with our video player or with the streaming protocols HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH).

Manage your podcasts & generate text-to-speech

Video streaming is great. With 3Q you can also manage and create webcast and audio podcasts. Have our text-to-speech engine turn your articles into audio content.

Analyze your viewership

Analyze the distribution and viewing of your content. By accurately assessing usage, you can analyze exactly how successful your offering is. We’ll help you identify trends and evaluate your videos by performance.

Maximize reach with third-party platforms

Push your livestreams permanently or selectively over third-party CDNs or social media portals such as Facebook Live or YouTube to generate an even wider reach. With our single platform solution you can manage your streams on any device from everywhere and anywhere.

Supported Operations

3Q SDN API Documentation

Returns a list with the amount of ad plays for every hour|day|week ... (resolution) for every project

Returns overview with total data for ads

Returns a analytics data-list for one or more event-types

Returns a list of referrers with analytics-data for every referrer

Returns a list of videos with analytics-data for every video

Returns overview data for selected videos

Returns a list with analytics-data by day for a specific file

Returns device data for a specific video (devicetypes,operatingsystems,browsers)

Returns location data for a specific video (countries,cities,providers)

Returns analytics-data for a specific file

Statistics data for a video contains: - Count data (loads, starts, users, completed), - Time data (totaltime, watchtime, ...), - Timeline data (view count for every 1% of video-duration for the video)

Returns referrer data for a specific video (uniqueusers from referrer)

Returns total data for a period + total data for previous period (to compare) and a list with values for date or time.

Returns a list of DeviceTypes data - every device type contains a list with all dates/times within the defined period for given resolution

Returns a list of used browsers with analytics-data for every browser

Returns a list of used brands with analytics-data for every brand

Returns a list of used operatingSystems with analytics-data for every operatingSystem

Returns total DeviceType data (overview) for a specific project or projects + previous to compare

Returns a list of countries with analytics-data for every country

Returns a list of cities with analytics-data for every city

Returns a list of providers with analytics-data for every provider

Returns a overview list of all customUsers

You can get the Authentication Key (APIKEY) for a given user by Username / Password with this function

If no ApiKey exists a new one is created for the authenticated user and returned Set header X-AUTH-USERNAME and X-AUTH-PASSWD to authenticate

You can delete the Authentication Key (APIKEY) for a given user by Username / Password with this function

Set header X-AUTH-USERNAME and X-AUTH-PASSWD to authenticate

Return a collection of available Categories

Create a Category

Return a Category

Change proprties of Category

Put a Category Picture

For testing, it is easier to use curl instead of the sandbox: PNG - File: ``` curl -H "Accept:application/json"-H "Content-type:image/png"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/categories/{CategoryId}/picture --upload-file{path-to-png} ``` JPG - File: ``` curl -H "Accept:application/json"-H "Content-type:image/jpeg"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/categories/{CategoryId}/picture --upload-file{path-to-jpg} ``` You can also send the image data base64 encoded in [Data URI scheme](https://en.wikipedia.org/wiki/Data_URI_scheme): e.g. take the response from [toDataURL](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL) and PUT it in the message body with the right content-type header (image/png | image/jpeg). ``` The "Try it out"does not work here! ```

Return a collection of available Channels

Return enabled Channel Distributions

Return available IngestPoints

Return enabled Channel Recorder

Return a Channel

Create a new ChannelDistribution

ChannelDistributions created by API is always using the source Stream If you wont to use a Transcoder as Source please create the ChannelDistribution in UserInterface under "3rd Party Publishing"- Module

Return a ChannelDistribution by Id

Edit a ChannelDistribution

Delete a ChannelDistribution by Id

Starts or stops a ChannelDistribution

Return the Embed Codes of a Channel

Return the Playout State of Channels Embed Code

Change Playout State of Channels Embed Code

Return all events of a Channel

Create a new Channel Event

Set auto-creation of events

Return a specific event by id

Edit an existing event

Delete a specific event by id

Return available Channel Transcoder Formats

Add (link) a ChannelFormat to a Channel and create a new Transcoder

``` This endpoint is still also usable, with the http method:LINK ```

Remove (unlink) a ChannelFormat from a Channel and remove the Transcoder

``` This endpoint is still also usable, with the http method:UNLINK ```

Set TranscoderFormatSetting of a ChannelTranscoder

Return Ingest of a Channel.

Connection Details for Input are in the StreamInConnection Array

Change Channel Ingest

| StreamInType| Description| Audio / Video | StreamInURI required | ----------------- | ---------------------------- | ------------- | --------------------- | rtmp-push | RTMP PUSH| Video | no | rtmp-push-low | RTMP PUSH with Low Latency | Video | no | srt | SRT PUSH | Video | no | srt-low | SRT PUSH with Low Latency| Video | no

Returns the selected Ingest-points of a Channel.

Return the primary Ingest-point of a Channel.

Set IngestPoint to primary

Add (link) IngestPoint to Channel

``` This endpoint is still also usable, with the http method:LINK ```

Remove (unlink) IngestPoint from Channel

``` This endpoint is still also usable, with the http method:UNLINK ```

Return the status of Channel IngestPoints

Return Metadata of a Channel

Change Channel Metadata

Put a ChannelMetadata BoardPicture

For testing, it is easier to use curl instead of the 'Try it out': PNG - File: ``` curl -H "Accept:application/json"-H "Content-type:image/png"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/channels/{ChannelId}/metadata/boardpicture --upload-file{path-to-png} ``` JPG - File: ``` curl -H "Accept:application/json"-H "Content-type:image/jpeg"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/channels/{ChannelId}/metadata/boardpicture --upload-file{path-to-jpg} ``` You can also send the image data base64 encoded in [Data URI scheme](https://en.wikipedia.org/wiki/Data_URI_scheme): e.g. take the response from [toDataURL](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL) and PUT it in the message body with the right content-type header (image/png | image/jpeg). ``` The "Try it out"does not work here! ```

Return Output URIs of a Channel

Return Channel Picture

Put a Channel Picture

Note:If you upload a Channel Picture UseOnlinePicture is automatically set to true For testing, it is easier to use curl instead of the 'Try it out': PNG - File: ``` curl -H "Accept:application/json"-H "Content-type:image/png"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/channels/{ChannelId}/picture --upload-file{path-to-png} ``` JPG - File: ``` curl -H "Accept:application/json"-H "Content-type:image/jpeg"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/channels/{ChannelId}/picture --upload-file{path-to-jpg} ``` You can also send the image data base64 encoded in [Data URI scheme](https://en.wikipedia.org/wiki/Data_URI_scheme): e.g. take the response from [toDataURL](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL) and PUT it in the message body with the right content-type header (image/png | image/jpeg). ``` The "Try it out"does not work here! ```

Return a ChannelRecorder by Id

Edit a ChannelRecorder

Delete a ChannelRecorder by Id

Starts or stops a ChannelRecorder

Add (link) Category to Channel Recorder

``` This endpoint is still also usable, with the http method:LINK ```

Remove (unlink) Category from Channel Recorder

``` This endpoint is still also usable, with the http method:UNLINK ```

Create a new ChannelRecorder

Creates an Job to Purge Timeshift

Return Timeshift Window Dimension

this function returns an array with the current dimensions of the Timeshift Window ``` "TimeshiftWindowDimensions":{ "StartDateTime":"2020-01-22T10:38:07+00:00", "EndDateTime":"2020-01-22T11:38:07+00:00", "FirstSegment":670, "LastSegment":2469 } ```

Return Timeshift Window History Dimension

this function returns an array with previous timeshifts

Create a Timeshift2VoD Job

This function create a Timeshift2VoD Job from the Source Channel defined by ChannelId to the Destination VoD Project defined by DstProjectId. It returns the FileId of the File that will be created in the VoD Project.

Create a Timeshift2VoD Job to export the entire timeshift buffer

This function create a Timeshift2VoD Job from the Source Channel defined by ChannelId to the Destination VoD Project defined by DstProjectId. It returns the FileId of the File that will be created in the VoD Project.

Return enabled Channel Transcoders

Return all Messengers from type Webhooks for Projects where the user have access rights

Create a new Messenger (Webhook)

MessengerRequirement is the id of the event that fired the webhook | Id | Event | Description | ------ | --------------------- | ----------------------------- | 1| file.new| New File in Project | 2| channel.faultsignal | Channel online status changed | 3| file.pipeline.new | New File in Pipeline | 4| file.meta.changed | Metadata of File changed

Return a Messengers by Id

Edit a Messenger (Webhook)

MessengerRequirement is the id of the event that fired the webhook | Id | Event | Description | ------ | --------------------- | ----------------------------- | 1| file.new| New File in Project | 2| channel.faultsignal | Channel online status changed | 3| file.pipeline.new | New File in Pipeline | 4| file.meta.changed | Metadata of File changed

Delete a Messenger (Webhook)

Return all Multi Channel Livestreams

Create a new Multi Channel Livestream

Return a Multi Channel Livestream by Id

Delete a Multi Channel Livestream by Id

Return all Channels of Multi Channel Livestream

Add a Channel to Multi Channel Livestream

Remove a Channel from Multi Channel Livestream

Return Playout Id's of a Multi Channel Livestream

Return the Embed Codes of the default Playout of a Multi Channel Livestream

Return the Embed Codes of the Playout of a Multi Channel Livestream

Return a collection of available Playlists

Return a Playlist with all Items

Return a collection of available Projects

Create a new Project

POST the Label and StreamTypeId ``` 1 = Video Platform 2 = Video Livestream ``` to create a new Project. ```json { "ProjectId":1111 } ``` ```json { "ChannelId":1111, "ProjectId":1111 } ```

Return Project

Change properties of Project

Delete a Project by Id

Get bandwidth usage by project

Get bandwidth usage per file by project

Get the bandwidth usage for a specific file

Return Channel(s) of Project if Live Project

Return the global Settings for FileEncoding in a Video on Demand Project

Set the global Settings for FileEncoding in a Video on Demand Project

Add (link) FileFormat to FileEncoderSettings

``` This endpoint is still also usable, with the http method:LINK ```

Remove (unlink) FileFormat from FileEncoderSettings

``` This endpoint is still also usable, with the http method:UNLINK ```

Put a WatermarkPicture

Return all global FileFormatSettings of a Video on Demand Project

Return a FileFormatSetting of a Video on Demand Project

To add a new FileFormat get the FileFormatId from fileformatsettings and PATCH (Link) it to fileencodersettings To remove a FileFormat DELETE (Unlink) it from fileformatsettings

Set a FileFormatSetting of a Video on Demand Project

Return a collection of Files in Project.

The properties of return object depends on the input parameters.

Create a new File Entity and return the File Upload URI in the Location Header

The returned Response Body contains the FileId and a list of FilePlayouts (if there exists at least one playout), with the Id (data-id) and the Label for every existing playout For more Details and an example look at <https://github.com/3QSDN/fileupload>

Create a merge files job

This function create a Merge Job for Merging files from VoD Project to the Destination VoD Project defined by DstProjectId. It returns the FileId of the File that will be created in the VoD Project. Data must be posted containing the following JSON request body:[{FileId:x, start:10.0, end:15.0},{FileId:y, start:120.0, end:150.0}]

Return Files list of most viewed videos

Return Collection of Files

Create a new File Entity and return the Id to generate a Text2Speech file

Return a File by Id

Sets the release-status for a specific file

Delete a File by Id

Returns outputs from our Video intelligence engine

Return Metadata of a File

Change Metadata of a File

If you want to set custom Metadata use "cf_"as prefix e.g. if you want to set custom Metadata foo=bar use cf_foo=bar The custom Metadata must exist in Project Properties

Add (link) Category to File Metadata

``` This endpoint is still also usable, with the http method:LINK ```

Remove (unlink) Category from File Metadata

``` This endpoint is still also usable, with the http method:UNLINK ```

Put a Metadata Picture

For testing, it is easier to use curl instead of the sandbox: PNG - File: ``` curl -H "Accept:application/json"-H "Content-type:image/png"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/projects/{ProjectId}/files/{FileId}/metadata/picture --upload-file{path-to-png} ``` JPG - File: ``` curl -H "Accept:application/json"-H "Content-type:image/jpeg"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/projects/{ProjectId}/files/{FileId}/metadata/picture --upload-file{path-to-jpg} ``` You can also send the image data base64 encoded in [Data URI scheme](https://en.wikipedia.org/wiki/Data_URI_scheme): e.g. take the response from [toDataURL](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL) and PUT it in the message body with the right content-type header (image/png | image/jpeg). ``` The "Try it out"does not work here! ```

Add (link) Videotype to File Metadata

``` This endpoint is still also usable, with the http method:LINK ```

Remove (unlink) Videotype from File Metadata

``` This endpoint is still also usable, with the http method:UNLINK ```

Return Output URIs of a file

Here is an example for file download <https://github.com/3QSDN/filedownload>

Return Pictures of a file

Upload a source for a new File Picture.

Note:Before the Job is finished URI and ThumbURI have placeholders and IsStandard is false. For testing, it is easier to use curl instead of the sandbox: PNG - File: ``` curl -X POST -H "Accept:application/json"-H "Content-type:image/png"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/projects/{ProjectId}/files/{FileId}/pictures --upload-file{path-to-png} ``` JPG - File: ``` curl -X POST -H "Accept:application/json"-H "Content-type:image/jpeg"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/projects/{ProjectId}/files/{FileId}/pictures --upload-file{path-to-jpg} ``` You can also send the image data base64 encoded in [Data URI scheme](https://en.wikipedia.org/wiki/Data_URI_scheme): e.g. take the response from [toDataURL](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL) and POST it in the message body with the right content-type header (image/png | image/jpeg). ``` The "Try it out"does not work here! ```

Create a new FilePicture based on video time

Return the standard (default) Picture of a file

Delete this FilePicture

Set this as Standard (default) FilePicture

Return Playout Id's of a file

Return the Embed Codes of the default Playout of a File

Return the Embed Codes of the Playout of a File

Return the Progress of File Processing

Response description: - Status:string that represents the status (inpipeline | inprogress | cdnupload | packaging | finished), - SourceIsStored:the source (uploaded) file is stored in cdn - SourceIsAnalyzed:the source file has been analyzed, encoding is started or the file is pushed into the pipeline - SourceEncoderDownloadProgress:the progress of downloading the source file to the encoder engine - EncodingJobs:details of encoding jobs during the encoding process: ```json { "Id":2676676, "Format":"MP4 480p", "FPS":66, "RealTime":2, "EncodingProgress":30, "UploadProgress":0, "HasErrors":false, "IsFinished":false, "IsStored":false }, ``` - EncodingJobsProgressAVG:average progress of the encoding jobs

Triggers reencoding of a file

Return the File Upload URI in the Location Header to replace the source Video File

For more Details and an example look at <https://github.com/3QSDN/fileupload>

Delete Source File of a File by Id

Return SubTitles of a file

Delete this FileSubTitle

Create a new FileSubTitle

For testing, it is easier to use curl instead of the sandbox: ``` curl -X POST -H "Accept:application/json"-H "Content-type:text/srt"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/projects/{ProjectId}/files/{FileId}/subtitles/{ISOLanguageCode} --upload-file{path-to-srt} ``` You can also send the file data base64 encoded in [Data URI scheme](https://en.wikipedia.org/wiki/Data_URI_scheme): take "data:text/srt;base64,{BASE64-ENCODED-CONTENT}"and POST it in the message body with the right content-type header (text/srt). ``` The "Try it out"does not work here! ```

Return the FileSubTitle

Put a text to a File and encode it. This replaces the encoded source.

Put a text to a File and encode it. This replaces the encoded source.

Return the custom metadata definitions for a specific project

Return the Assets in the Encoding Pipeline of a Video on Demand Project.

Return the Pipeline Asset of the File (specified by FileId) of a Video on Demand Project.

To add a new FileFormat get the FileFormatId from fileformatsettings and Link it to the Pipeline Asset. To remove a FileFormat Unlink it from the Pipeline Asset.

Set the Pipeline Asset Settings for Encoding of the File (specified by FileId) of a Video on Demand Project

Add (link) FileFormat to Pipeline Asset

Link FileFormatId from FileFormatSettings to the Pipeline asset ``` This endpoint is still also usable, with the http method:LINK ```

Remove (unlink) FileFormat from Pipeline Asset

Get FileFormatId from FileFormatSettings ``` This endpoint is still also usable, with the http method:UNLINK ```

Put a WatermarkPicture to Pipeline Asset

For testing, it is easier to use curl instead of the sandbox: PNG - File: ``` curl -H "Accept:application/json"-H "Content-type:image/png"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/projects/{ProjectId}/pipeline/{FileId}/watermarkpicture --upload-file{path-to-png} ``` JPG - File: ``` curl -H "Accept:application/json"-H "Content-type:image/jpeg"-H "X-AUTH-APIKEY:{Your-API-KEY}"https://sdn.3qsdn.com/api/v2/projects/{ProjectId}/pipeline/{FileId}/watermarkpicture --upload-file{path-to-jpg} ``` You can also send the image data base64 encoded in [Data URI scheme](https://en.wikipedia.org/wiki/Data_URI_scheme): e.g. take the response from [toDataURL](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL) and PUT it in the message body with the right content-type header (image/png | image/jpeg). ``` The "Try it out"does not work here! ```

Return a collection of Podcasts in Project.

The properties of return object depends on the input parameters.

Create a new Podcast Entity and return the created Podcast

Return a Podcast by Id

Returns a list of episodes for a specific podcast

Return Resource usage from a Project

Data for projects has been available since 2020-10 Bandwidth and Storage are in bytes ```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"day"}, "Data":[ { "Day":"2017-06-01", "Bandwidth":"29539808328", "Storage":"798443448992", "EncodingMinutes":"164", "TranscodingMinutes":"1084", "VideoAIMinutes":"120", "DRMLicenses":"10200", "Users":"14" }, ... { "Day":"2017-06-15", "Bandwidth":"29539808328", "Storage":"798443448992", "EncodingMinutes":"164", "TranscodingMinutes":"1084", "VideoAIMinutes":"120", "DRMLicenses":"10200", "Users":"14" }, ] } ```

Return Reportings about Views from Countries for a Project

```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"day"}, "Data":[ { "Day":"2017-06-01", "Views":"364", "Duration":"3751", "CountryCode":"DE", "CountryName":"Germany" }, ... { "Day":"2017-06-15", "Views":"364", "Duration":"3751", "CountryCode":"US", "CountryName":"United States" }, ] } ``` ```json { "Parameters":{ "Start":"2016-06-01", "End":"2017-06-30", "Resolution":"month"}, "Data":[ { "Month":"2016-06", "Views":"364", "Duration":"3751" "CountryCode":"DE", "CountryName":"Germany" }, ... { "Month":"2017-06", "Views":"364", "Duration":"3751" "CountryCode":"US", "CountryName":"United States" }, ] } ```

Return Reportings about Views from Countries for a Project

```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"day"}, "Data":[ { "Day":"2017-06-01", "Views":"585", "Flash":"2", "HTML5":"583", "Desktop":"462", "iOS":"32", "Android":"89", "Others":"2" }, ... { "Day":"2017-06-15", "Views":"585", "Flash":"2", "HTML5":"583", "Desktop":"462", "iOS":"32", "Android":"89", "Others":"2" }, ] } ``` ```json { "Parameters":{ "Start":"2016-06-01", "End":"2017-06-30", "Resolution":"month"}, "Data":[ { "Month":"2016-06", "Views":"585", "Flash":"2", "HTML5":"583", "Desktop":"462", "iOS":"32", "Android":"89", "Others":"2" }, ... { "Month":"2017-06", "Views":"585", "Flash":"2", "HTML5":"583", "Desktop":"462", "iOS":"32", "Android":"89", "Others":"2" }, ] } ```

Return FileView Reportings from Users for a Vod Project

```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"hour"}, "Data":[ { "UserToken":"user0001", "FileId":"545755", "Hour":"2017-06-01 00:00:00", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "UserToken":"user9999", "FileId":"753798", "Hour":"2017-06-15 23:00:00", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ``` ```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"day"}, "Data":[ { "UserToken":"user0001", "FileId":"545755", "Day":"2017-06-01", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "UserToken":"user9999", "FileId":"753798", "Day":"2017-06-15", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ``` ```json { "Parameters":{ "Start":"2016-06-01", "End":"2017-06-30", "Resolution":"month"}, "Data":[ { "UserToken":"user0001", "FileId":"545755", "Month":"2016-06", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "UserToken":"user9999", "FileId":"753798", "Month":"2017-06", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ```

Return FileView Reportings from a User identified by UserToken of a Vod Project

```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"hour"}, "Data":[ { "UserToken":"user0108", "FileId":"545755", "Hour":"2017-06-01 00:00:00", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "UserToken":"user0108", "FileId":"753798", "Hour":"2017-06-15 23:00:00", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ``` ```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"day"}, "Data":[ { "UserToken":"user0108", "FileId":"545755", "Day":"2017-06-01", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "UserToken":"user0108", "FileId":"753798", "Day":"2017-06-15", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ``` ```json { "Parameters":{ "Start":"2016-06-01", "End":"2017-06-30", "Resolution":"month"}, "Data":[ { "UserToken":"user0108", "FileId":"545755", "Month":"2016-06", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "UserToken":"user0108", "FileId":"753798", "Month":"2017-06", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ```

/api/v2/reporting/projects/{ProjectId}/fileviewreport/{FileId}

Return FileView Reportings for a Vod Project

```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"hour"}, "Data":[ { "FileId":"545755", "Hour":"2017-06-01 00:00:00", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "FileId":"753798", "Hour":"2017-06-15 23:00:00", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ``` ```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"day"}, "Data":[ { "FileId":"545755", "Day":"2017-06-01", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "FileId":"753798", "Day":"2017-06-15", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ``` ```json { "Parameters":{ "Start":"2016-06-01", "End":"2017-06-30", "Resolution":"month"}, "Data":[ { "FileId":"545755", "Month":"2016-06", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "FileId":"753798", "Month":"2017-06", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ```

Return FileView Reportings for a File of a Vod Project

```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"hour"}, "Data":[ { "FileId":"545755", "Hour":"2017-06-01 00:00:00", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "FileId":"545755", "Hour":"2017-06-15 23:00:00", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ``` ```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"day"}, "Data":[ { "FileId":"545755", "Day":"2017-06-01", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "FileId":"545755", "Day":"2017-06-15", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ``` ```json { "Parameters":{ "Start":"2016-06-01", "End":"2017-06-30", "Resolution":"month"}, "Data":[ { "FileId":"545755", "Month":"2016-06", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ... { "FileId":"545755", "Month":"2017-06", "Views":"36", "Duration":"3751", "ViewAt1Percent":"24", "ViewAt25Percent":"20", "ViewAt50Percent":"16", "ViewAt75Percent":"14", "ViewAt100Percent":"10" }, ] } ```

Return Reportings for a Project

```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"hour"}, "Data":[ { "Hour":"2017-06-01 00:00:00", "Views":"364", "Duration":"3751" }, ... { "Hour":"2017-06-15 23:00:00", "Views":"364", "Duration":"3751" }, ] } ``` ```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"day"}, "Data":[ { "Day":"2017-06-01", "Views":"364", "Duration":"3751" }, ... { "Day":"2017-06-15", "Views":"364", "Duration":"3751" }, ] } ``` ```json { "Parameters":{ "Start":"2016-06-01", "End":"2017-06-30", "Resolution":"month"}, "Data":[ { "Month":"2016-06", "Views":"364", "Duration":"3751" }, ... { "Month":"2017-06", "Views":"364", "Duration":"3751" }, ] } ```

Request a configurations-list

Request a configuration

Create a new configuration with a specific name

Update a existing configuration

Delete a existing configuration

Request a user-playlist

Create a new playlist for a user

Update a existing user-playlist

Delete a existing user-playlist

Return Resource usage

Bandwidth and Storage are in bytes ```json { "Parameters":{ "Start":"2017-06-01", "End":"2017-06-15", "Resolution":"day"}, "Data":[ { "Day":"2017-06-01", "Bandwidth":"29539808328", "Storage":"798443448992", "EncodingMinutes":"164", "TranscodingMinutes":"1084", "VideoAIMinutes":"120", "DRMLicenses":"10200", "Users":"14" }, ... { "Day":"2017-06-15", "Bandwidth":"29539808328", "Storage":"798443448992", "EncodingMinutes":"164", "TranscodingMinutes":"1084", "VideoAIMinutes":"120", "DRMLicenses":"10200", "Users":"14" }, ] } ```

You can test Authentication with this function

Set header X-AUTH-APIKEY={Your-API-KEY} for all API calls, except the functions under "1.1 ApiKey" For the Sandbox paste your API Key top right If Authentication successful returns the message 'Welcome to SDN API 2.0'

Details
Last Update

4 months ago

Includes
x-3q-sdn-client