Common fields
The following fields must be included in every request body:
accountId
– the account ID
userId
– must be an empty string
deviceId
– the device ID
key
– must be an empty string
name
– the activity name
timestamp
– the activity timestamp in <YYYY>-<MM>-<DD>T<hh>:<mm>:<ss>Z
format
These fields are not included in the examples in the following table.
Activity name | Trigger | Description | Required data fields | Notes | Examples |
---|
playback_metrics
| To be reported back at a consistent interval, this can be configured by clients. We recommend recording this activity every 300 seconds. | Metrics as supplied by the player and reported back via the client. | appSessionId
sessionId
contentSource
editorialId
playbackSessionId
playbackProgress
selectedBitrate
contentType
availableBitrates
bytesDownloaded
downloadBitRate
downloadBitrateAverage
bufferedDuration
streamBitrate
droppedVideoFrames
totalVideoFrames
uri
| | Request:
CODE
POST https://<server>/useractivityvault/v1/useractivity/playback_metrics
|
Content type: live-event
JSON
{
...
"metadata": {
"appSessionId": "<UUID>|<GUID>",
"playbackSessionId": "<UUID>|<GUID>",
"contentSource": ["IPTV"|"OTT"|"Blend"],
"contentType": "live-event",
"editorialId": "<editorial_channel_ID>",
"technicalId": "<technical_channel_ID>",
"programmeId": "<programme_ID>",
"playbackProgress": <seconds_from_start_of_event>,
<list_of_metrics_from_player>
}
...
}
Note that for the live-event content type, you need to specify: editorialId – the editorial channel ID
technicalId – the technical channel ID
programmeId – the programme ID
|
Content type: live-stcu-event
JSON
{
...
"metadata": {
"appSessionId": "<UUID>|<GUID>",
"playbackSessionId": "<UUID>|<GUID>",
"contentSource": ["IPTV"|"OTT"|"Blend"],
"contentType": "live-stcu-event",
"editorialId": "<editorial_ID_of_the_event>",
"playbackProgress": <seconds_from_start_of_event>,
<list_of_metrics_from_player>
}
...
}
Note that for the live-stcu-event content type, you need to specify:
|
Content type: start-over
JSON
{
...
"metadata": {
"appSessionId": "<UUID>|<GUID>",
"playbackSessionId": "<UUID>|<GUID>",
"contentSource": ["IPTV"|"OTT"|"Blend"],
"contentType": "start-over",
"editorialId": "<editorial_ID_of_the_event>",
"playbackProgress": <seconds_from_start_of_event>,
<list_of_metrics_from_player>
}
...
}
Note that for the start-over content type, you need to specify:
|
Content type: ltcu
JSON
{
...
"metadata": {
"appSessionId": "<UUID>|<GUID>",
"playbackSessionId": "<UUID>|<GUID>",
"contentSource": ["IPTV"|"OTT"|"Blend"],
"contentType": "vod-ed",
"editorialId": "<editorial_content_ID>",
"playbackProgress": <seconds_from_start_of_event>,
<list_of_metrics_from_player>
}
...
}
Note that for the ltcu content type, you need to specify:
|
Content type: npvr-event
JSON
{
...
"metadata": {
"appSessionId": "<UUID>|<GUID>",
"playbackSessionId": "<UUID>|<GUID>",
"contentSource": ["IPTV"|"OTT"|"Blend"],
"contentType": "npvr-event",
"editorialId": "<content_ID>",
"playbackProgress": <seconds_from_start_of_event>,
<list_of_metrics_from_player>
}
...
}
Note that for the npvr-event content type, you need to specify:
|
Content type: vod-ed
JSON
{
...
"metadata": {
"appSessionId": "<UUID>|<GUID>",
"playbackSessionId": "<UUID>|<GUID>",
"contentSource": ["IPTV"|"OTT"|"Blend"],
"contentType": "vod-ed",
"editorialId": "<editorial_content_ID>",
"playbackProgress": <seconds_from_start_of_event>,
<list_of_metrics_from_player>
}
...
}
Note that for the vod-ed content type, you need to specify:
|