Table of Contents
As part of continuous enhancements, Wurl has released a 2.0 version of the Entry Type JSON EPG format which includes the largest set of metadata available for Wurl channels. This document describes the newly released Entry Type EPG 2.0 Format.
Entry Type EPG 2.0 Overview
Entry Type EPG 2.0 lists the channel metadata first, followed by program and then schedule metadata. It organizes the content by entry types and provides required metadata depending on the entry type.
-
Authentication:
-
No authentication is required for Entry Type EPG; JSON EPG endpoints for each channel are provided as part of Wurl channel hand-off.
-
-
Time Zone Offsets:
-
Entry Type EPG can be offset by Wurl, so that stream and EPG will always match for any channel, and Streamers do not need to offset the EPG.
-
-
Daily Update Time:
- Entry Type EPG can be updated once daily at a daily time of the Streamer’s choosing.
-
Days of Data:
- The Entry Type API endpoint provides 7 days of data forward from yesterday.
-
JSON Output Structure:
-
Entry Type EPG delivers Channel, Program and Schedule metadata.
Program metadata is listed first, organized by entry types ShortForm, Series, TV Special and Movie. A unique identifier is provided per program.
Schedule data is provided after the program metadata. The unique identifier is provided to allow for metadata mapping between program and schedule.
-
-
Backup Metadata:
-
For certain program fields such as program thumbnails, the EPG sends backup metadata derived from the channel if a Content Company doesn’t provide metadata at the program level.
-
Entry Type EPG 2.0 Sample
https://epg-prod.wurlintegrationsrdf.wurl.com/wurl20_wurlintegrationsrdf_wurl_integrationchannel_1_us_cf.json |
Entry Type EPG 2.0 Metadata Fields
Data Type |
Field |
Description |
Example |
Feed |
ProviderName |
Channel provider (Wurl) |
Wurl |
LastUpdated |
The date that the feed was last modified in ISO 8601 format: {YYYY}-{MM}-{DD}T{hh}:{mm}:{ss}+{TZ}. |
2022-11-08T20:23:13+0000 |
|
Version |
Wurl spec version number. |
2.0 |
|
Channel
|
ID |
Channel Key: unique Wurl ID for the Channel and Streamer combination |
Wurl20-aenetworks_ae_1 |
Name |
Channel Title |
Home.Made.Nation |
|
wurlChannelReference |
Channel Slug: unique Wurl ID for the channel |
aenetworks_ae_1 |
|
description |
Channel Description |
"description": { "value": "The channel of all things DIY." |
|
dateAdded |
Date of Channel creation within the Wurl platform |
2019-08-01 |
|
Thumbnails |
Url: Thumbnail URL |
"url": "https://dki01q1l7yn3y.cloudfront.net/thumbnails-platform-prod/assets/cs::content::channels/0-2048/285-Roku-Thumbnail_v3.jpg", "width": 1920, "height": 1080, "imageFormat": "jpeg", "aspectRatio": "16:9", "imageType": "Poster" |
|
width |
|||
height |
|||
imageFormat: File format |
|||
aspectRatio |
|||
imageType: Image title as input by the Content Company |
|||
ratings |
List of all channel Parental Rating types and value for the Channel. |
"rating": { "value": "TVPG", "source": "USA_PR", |
|
genres |
Channel Genre list, set as the default by the Content Company. |
"genres": [{ "source": "Nielsen" or “IAB” "description": "Reality" |
|
license |
type: Whether DRM encryption is applied to the channel. Values are “DRM” or “Free.” If the channel is Free (no DRM applied), the subsequent “drm” object will not be present in the JSON. |
"drmType": "widevine", "licenseUrl": "https://drm-license.widevinedrmprovider.tv/license", "customAuthHeaderName": "AuthorizationToken","customAuthHeaderValue": "eyJkcm1fdHsIn….", "expiry": "2023-01-15T00:00:00.000Z" |
|
drmType: DRM encryption type; widevine, fairplay, or playready. In the case of multi-DRM channels, two “drm” sections will be listed providing unique Widevine and Fairplay tokens. |
|||
licenseURL: Wurl License Server URL |
|||
customAuthHeaderName: Always set to “AuthenticationToken” |
|||
customAuthHeaderValue: DRM token value |
|||
expiry: DRM token expiry date |
|||
playback stream_url |
HLS Stream URL for the channel. |
"playback": { "stream_url": "https://(cdn_partner)/playlist.m3u8", |
|
Program
|
Program types |
Type of Program |
movies, series, shortFormVideos, tvSpecials |
Series id |
Unique Wurl ID for the Series |
US-11401746 |
|
Series title |
Series Title |
"title": { "value": "Tiny House World" |
|
Series description |
Series Description |
"description": { "value": "Tiny House World" |
|
Series releaseDate |
The original air date of the Series in ISO 8601 format: {YYYY}-{MM}-{DD}T{hh}:{mm}:{ss}+{TZ}. If not set by the Content Company, the Series creation date will be sent. |
2021-04-30T14:58:15.432Z |
|
Series thumbnails |
Url: Thumbnail URL |
"url": "https://dki01q1l7yn3y.cloudfront.net/thumbnails-platform-prod/assets/cs::content::channels/0-2048/285-Roku-Thumbnail_v3.jpg", "width": 1920, "height": 1080, "imageFormat": "jpeg", "aspectRatio": "16:9", "imageType": "Poster" |
|
width |
|||
height |
|||
imageFormat: File format |
|||
aspectRatio |
|||
imageType: Image title as input by the Content Company |
|||
SeasonNumber |
Season Number |
1 |
|
Episode id |
Unique Wurl ID for the Program |
US-11401746 |
|
Episode title |
Program Title |
"title": { "value": "Tiny House World" |
|
Episode description |
Program Description (long) If only a shortDescription is available for the episode, it will be posted in both description fields. |
"description": { |
|
Episode shortDescription |
Program Description (short) If only a long Description is available for the episode, it will be posted in both description fields. |
"shortDescription": { |
|
Episode releaseDate |
The original air date of the Program in ISO 8601 format: {YYYY}-{MM}-{DD}T{hh}:{mm}:{ss}+{TZ}.
If not set by the Content Company, the program creation date will be sent. |
2021-04-30T14:58:15.432Z |
|
Episode thumbnails |
Url: Thumbnail URL |
"url": "https://dki01q1l7yn3y.cloudfront.net/thumbnails-platform-prod/assets/cs::content::channels/0-2048/285-Roku-Thumbnail_v3.jpg", "width": 1920, "height": 1080, "imageFormat": "jpeg", "aspectRatio": "16:9", "imageType": "Poster", |
|
width |
|||
height |
|||
imageFormat: File format |
|||
aspectRatio |
|||
imageType: Image title as input by the Content Company |
|||
If not available for an Episode, Wurl will send the Series thumbnails. If none are available at the Series level, Wurl will send the Channel thumbnails. |
|||
Episode ratings |
List of Program Parental Ratings bodies and values. If not set at the program level, the Channel level Ratings will be sent. |
"rating": { "value": "TVPG", "source": "USA_PR" |
|
Episode genres |
Program Genres, set as the default by the Content Company.
Current Sources: IAB or Nielsen |
"genres": [{ "source": "110", "description": "Reality" |
|
Episode externalIDs |
List of External IDs available for the Episode.
Current idTypes: TMS or GUID |
"externalIds": [{ "id": "EP016429750004","idType": "TMS" |
|
Episode durationInSecs |
Duration of the program including scheduled ad break time, in seconds. |
"durationInSecs": 3600, |
|
Episode categories |
Program categories |
"categories": [{ "name": "Recommended A01" |
|
closedCaptions |
Whether the Content Company has added closed captions for this program in the Wurl Platform. Note: This only applies to channels which originate in Wurl. Restream channels do not populate the closedCaptions field (will be set to false, regardless of whether the channel has CCs) |
"closedCaptions": true or false |
|
Schedule |
id |
Unique ID used to map a Program to the Schedule |
US-11246766-1425224-1417359 |
durSecs |
Schedule episode duration in seconds |
1800 |
|
liveEvent |
Whether the scheduled event is live or not |
"liveEvent": false or true |
|
startDateTime |
Schedule datetime in ISO 8601 format: {YYYY}-{MM}-{DD}T{hh}:{mm}:{ss}+{TZ} |
2022-11-30T14:58:15.432Z |