Page tree
Skip to end of metadata
Go to start of metadata

 


Application Information


The Application Info JSON is delivered on a CDN and published through Frequency's publishing tool for Operators. App Info is used to describe the structure, layout, and content sources within an application.

The JSON includes definitions for multiple pages (or screens). Each page is described using rows that can contain different data types, such as videos or channels, and are specified by the contentType field. Each row can be further customized (e.g. using reorderable or pagination) for each application's use cases and desired user experience. The JSON can also be used to specify the source (API endpoint) that the content of each row should come from using the uri field.

Tools will be built by Frequency to facilitate the customization of this JSON, which will translate to changes to an application's UI and/or content without the need to deploy new code. 

Any application that wishes to use this feature will have access to a unique JSON that is managed and customized individually.

JSON File Hosting

The JSON file can be accessed via the following URL and varies depending on account number, language code (ISO-639-1), and app name.

JSON Structure


baseUrl  string

The base URL of the API used to fetch content from the uri.

 


pages  array of page objects

Each page object represents a full page of content that is displayed.

 


pageId  string

The unique page identifier.

 


title  string

The title of the screen, displayed on the navigational tabs at the top of the page.

 


template  string

reserved for Frequency's use

 


content  array of content objects

List of display elements to be rendered on the screen. Each object represents a separate row.

 


rowId string

The unique row identifier.

 


title string

The title of the row.

 


uri  string 

The content source used to populate each content row. This is used together with the baseUrl to form a REST endpoint. All requests are assumed to be GET requests that return application/json.

 


className string

Defines the data type (video, channel, category, etc.) and the UI template to be used. 


reorderable boolean

Boolean field that determines whether if the row is allowed to be reordered.

 


pagination boolean

Boolean field that determines whether if the row should allow pagination

 

App Info JSON
{
	"baseUrl": "https://prd-freq.frequency.com/api/2.0",
	"pages": [{
		"pageId": "Featured-Stacked-Layout",
		"title": "Featured",
		"template": "featured-page",
		"content": [{
			"rowId": "Billboard Channels Row",
			"title": "Billboard Channels",
			"uri": "/collection/?rules=billboard-channels",
			"className": "channel",
			"reorderable": true,
			"pagination": false
		}, {
			"rowId": "Favorite Channels Row",
			"title": "Favorite Channels",
			"uri": null,
			"className": "channel",
			"reorderable": true,
			"pagination": true
		}]
	}, {
		"pageId": "Channels-Layout",
		"title": "Channels",
		"template": "channels-page",
		"content": [{
			"rowId": "Featured Channels Row",
			"title": "Featured Channels",
			"uri": "/featured/channels",
			"className": "channel",
			"reorderable": true,
			"pagination": false
		}, {
			"rowId": "All Channels Row",
			"title": "All Channels",
			"uri": "/channels/all",
			"className": "channel",
			"reorderable": true,
			"pagination": true
		}, {
			"rowId": "Categories Row",
			"title": "Categories",
			"uri": "/categories",
			"className": "category",
			"reorderable": true,
			"pagination": false
		}]
	}]
}

Class Names 


classNameDefinitionExample
channelsBasic className for displaying channels.
videosBasic className for displaying videos.
channels_promotional

className for displaying channels that lead to player with videos. These are displayed with big images.

channels_allclassName for displaying a section consisting of all the available channels. The channels displayed can be filtered by specific categories.
channels_videosclassName for displaying a user's favorite channels and a list of videos from each user favorited channel.
categoriesclassName for displaying categories.
videos_managementclassName for a UI template that allows users to manage their video list.
trending_topicsclassName that defines the data type for trending topics and the display
channels_specialclassName for a unique channel construct that allows the product to build specialized channel art.**confidential**

 

 

App Deeplink Parse


GET /app/deeplink/parse?url={url}

Scope

public

RoleROLE_USER, ROLE_ADMIN

Parses a deeplink into the components necessary to play the deeplinked video.

Parameters

urlThe deep link URLStringRequired

Request

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Response 200

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Body
   {
"channel_id": "4-1234",
"videos":
[
{"video_id": 12345},
  {...}
  ] 
  } 

App Default Channels


GET /app/default/channels

Scope

public

RoleROLE_USER, ROLE_ADMIN

 

Gets the app default channel list. When a user is first created their channel list is empty. This call returns the default set of channels that can be added to the user channel list to kick start their first viewing session.

Request

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Response 200

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   {         
      "channel_id""4-1234"// not defined on post
      "title""ABC Nightly News",
      "short_title""ABC News",
      "shorter_title""ABC",
      "description""A wrap up of the days news, at night.",
      "recommended"true
      "update_frequency": 23,  
      "popularity": 4747, 
      "addable"true
      "reorderable"true
      "parental_rating""TVG",
      "network""ABC",
      "tms_id""asfasdfew2353",
      "date_created""2014-10-01T15:57:25Z",
      "last_updated""2014-07-29T14:18:10Z",
   },
   {...}
]

Add a Default Channel


POST /app/default/channels

Scope

public

RoleROLE_USER, ROLE_ADMIN

 

Adds a channel to the end of the app default channel list. 

Request

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{         
   "channel_id""4-1234"// not defined on post
   "title""ABC Nightly News",
   "short_title""ABC News",
   "shorter_title""ABC",
   "description""A wrap up of the days news, at night.",
   "recommended"true
   "update_frequency": 23,  
   "popularity": 4747, 
   "addable"true
   "reorderable"true
   "parental_rating""TVG",
   "network""ABC",
   "tms_id""asfasdfew2353",
   "date_created""2014-10-01T15:57:25Z",
   "last_updated""2014-07-29T14:18:10Z",
}

Response 200

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{         
   "channel_id""4-1234"// not defined on post
   "title""ABC Nightly News",
   "short_title""ABC News",
   "shorter_title""ABC",
   "description""A wrap up of the days news, at night.",
   "recommended"true
   "update_frequency": 23,  
   "popularity": 4747, 
   "addable"true
   "reorderable"true
   "parental_rating""TVG",
   "network""ABC",
   "tms_id""asfasdfew2353",
   "date_created""2014-10-01T15:57:25Z",
   "last_updated""2014-07-29T14:18:10Z",
}

Reorder the Default Channels


PUT /app/default/channels

Scope

public

RoleROLE_USER, ROLE_ADMIN

Reorders the app default channel list to match the order of the channels in the submitted channels array. 

Request

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Body

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   {         
      "channel_id""4-1234"// not defined on post
      "title""ABC Nightly News",
      "short_title""ABC News",
      "shorter_title""ABC",
      "description""A wrap up of the days news, at night.",
      "recommended"true
      "update_frequency": 23,  
      "popularity": 4747, 
      "addable"true
      "reorderable"true
      "parental_rating""TVG",
      "network""ABC",
      "tms_id""asfasdfew2353",
      "date_created""2014-10-01T15:57:25Z",
      "last_updated""2014-07-29T14:18:10Z",
   },
   {...}
]

 

Response 200

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Body

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   {         
      "channel_id""4-1234"// not defined on post
      "title""ABC Nightly News",
      "short_title""ABC News",
      "shorter_title""ABC",
      "description""A wrap up of the days news, at night.",
      "recommended"true
      "update_frequency": 23,  
      "popularity": 4747, 
      "addable"true
      "reorderable"true
      "parental_rating""TVG",
      "network""ABC",
      "tms_id""asfasdfew2353",
      "date_created""2014-10-01T15:57:25Z",
      "last_updated""2014-07-29T14:18:10Z",
   },
   {...}
] 

 

Delete a Default Channel


DELETE /app/default/channels/{channel_id}

Scope

public

RoleROLE_USER, ROLE_ADMIN

 

Deletes a channel from the app default channel list. 

Request

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Response 200

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Onboarding Channels


GET /onboarding/channels?category_ids={category_id_1,category_id_2,...}

Scope

public

RoleROLE_USER, ROLE_ADMIN

Returns a list of channels based on the selected categories (specified by using category IDs).

Parameters

category_idsComma delimited list of selected category IDs. At least 2 categories must be selected.stringrequired

Request

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

Response 200

Headers

Content-Type: application/json
X-Frequency-DeviceId: <the device id is required.>
X-Frequency-Auth: <the auth token is required.>

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   {         
      "channel_id""4-1234"// not defined on post
      "title""ABC Nightly News",
      "short_title""ABC News",
      "shorter_title""ABC",
      "description""A wrap up of the days news, at night.",
      "recommended"true
      "update_frequency": 23,  
      "popularity": 4747, 
      "addable"true
      "reorderable"true
      "parental_rating""TVG",
      "network""ABC",
      "tms_id""asfasdfew2353",
      "date_created""2014-10-01T15:57:25Z",
      "last_updated""2014-07-29T14:18:10Z",
   },
   {...}
]
  • No labels