Creating an editorial channel
Request
To create an editorial channel, send a POST request to:
https://<host>:<port>/metadata/content/v1/editorialChannels
Headers
Content-Type: application/json
Mandatory arguments
All of the following arguments are part of the request body:
Either:
id– the ID of the editorial channel (which can include the following special characters:. + $ _ - ! *, but not parentheses( )), orBoth
providerIdandproviderResourceId
name– the channel name
Other arguments
The following arguments (all in the request body) are all optional.
However, they may be required by OpenTV ION (if you are using it). These are indicated with an asterisk (*).
start– resource start date in ISO 8601 formatend– resource end date in ISO 8601 formatmetadataSet* – a set of locale-specificmetadatablocks, each of which has:locale* – the locale for themetadataelement. If locale is set to none, themetadatablock that it applies to is the default – it is the one that is used if there is nometadatablock for the user's locale.metadata* – a block containing one or more key/value pairs in the following form:CODE[{ "key": "<key_name>", "value": "<value>" }]You can add whatever keys you require. However, the following values have significance in OpenTV Platform:
Title– the channel titleDescription– description of the channelRating* – channel ratingChannelNumber* – channel numberShortName– short name for the channel
guardTimeStart– schedule event start accuracy given as an offset. It will be used for any record order to specify the capture start (event.start - start). The format is based on ISO 8601 with a restricted allowed pattern:PnDTnHnMnS. Ifstartis not specified, capture start will equal event start.guardTimeEnd– schedule event end accuracy given as an offset. It will be used for any record order to specify the capture end (event.end + end). The format is based on ISO 8601 with a restricted allowed pattern:PnDTnHnMnS. Ifendis not specified, capture end will equal event end.timeShifting* – enables or disables timeshifting for the channel. The following can be enabled/disabled individually.
Note: if one of these flags is set totruefor both an editorial channel and a corresponding technical channel, a setting offalseon an event will override the setting for that event only. See Setting active status for catch-up, start-over and NPVR for more information.shortTermCatchUpSupport* – enables/disables short-term catchup (true or false)shortTermCatchUpParameters– contains aneventDefaultFlagelement that specifies the default value ofshortTermCatchUpSupportfor new events created in the channel after the channel has been created.longTermCatchUpSupport* – enables/disables long-term catch-up (true or false)longTermCatchUpParameters– contains aneventDefaultFlagelement that specifies the default value oflongTermCatchUpSupportfor new events created in the channel after the channel has been created.startOverSupport– enables/disabled start-over (true or false)startOverParameters– contains aneventDefaultFlagelement that specifies the default value ofstartOverSupportfor new events created in the channel after the channel has been created.networkPvrSupport– enables/disables network PVR (true or false)networkPvrParameters– contains aneventDefaultFlagelement that specifies the default value ofnetworkPvrSupportfor new events created in the channel after the channel has been created.
parentalRatings* – one or more blocks specifying parental ratings for the content. Each block contains:ratingBodyName* – the name of the rating bodycontentRatingCode* – the rating codecountryCode* – the country code
clientControls– specifies the capability products that are enabled/disabled for the channel (for example, catch-up or start-over). This is a block containing one or more key/value pairs in the following form:CODE[{ "key": "<key_name>", "value": true|false }]Here:
key_nameis the name of a capability that has been defined in Platform.valueistrueorfalse.truemeans that the product is enabled for the channel.falsemeans it is disabled.
dvbinfo– specifies the DVB triplet information for the channel. This consists of:onid– original network IDtsid– transport stream IDsid– service IDnid– network ID
This information allows client devices to match broadcast channels to the corresponding metadata provided by MDS and thus enhance the information about the channel that is presented to the user.
regionalSettings– specifies location-specific metadata (including a region-specific source preference):location– the locationlocationType– the location typechannelName– the channel namelcn– the Logical Channel Number (LCN)sourcePreference– the source preference for this location. Must be eitherOTTorDVB.dvbinfo– specifies the specific DVB triplet information for the channel for this location. If not specified, the channel-leveldvbinfo(above) is used.
Note: providing DVB information per location/area allows you to ensure that:The correct version of the channel is used for each location.
Channels that should not be available in a particular location/area are not made available for viewing.
This consists of:
onid– original network IDtsid– transport stream IDsid– service IDnid– network ID
sourcePreference– the source preference for the channel. Must be eitherOTTorDVB. This can be overridden on a per-region basis by setting asourcePreferencein aregionalSettingssection.distribution– the distribution for the channelnetwork– the channel's network typealiases– array of aliases for the channel. Aliases allow client applications to search by alias as well as by channel name. This is particularly useful for voice channel selection.rights– a set of properties describing the consumption capabilities of a content:storageAllowed– specifies whether download is permitted for content captured from the channel (true or false).
csaiEnabled– whether ads (client-side ad insertion) are enabled for the channel. (See Enabling ads using Google Ad Manager.)
Example
A POST request with this payload creates the specified editorial channel:
{
"id": "BE2",
"providerId": "OPERATOR",
"providerResourceId": "BE2",
"name": "BE2"
}
Response
A successful request returns an HTTP 201 status. The response contains the URI of the newly-created editorial channel.
A bad request returns an HTTP 400 status.
See also
For full details of this API, see Content and Product Manager (CPM) API documentation: content v1.