3Q
Streaming & PlayoutPublished by
Techtriq
3Q
Streaming & PlayoutThis 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.
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).
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 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.
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.
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'
5 months ago