User Tools

Site Tools


en:tvip_json_middleware_api:2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:tvip_json_middleware_api:2 [2018/04/17 08:53]
Egor Danilenko
en:tvip_json_middleware_api:2 [2025/04/30 15:59] (current)
Варвара Синицкая
Line 239: Line 239:
 | **enabled** ​    | Boolean | Yes | True if subscribrictions are active. ​             | | **enabled** ​    | Boolean | Yes | True if subscribrictions are active. ​             |
 | **contract** ​   | String ​ | No  | Contract information ​                             | | **contract** ​   | String ​ | No  | Contract information ​                             |
-\\ + 
-\\+=====  Feeds ===== 
 + 
 +Get information about feeds on home srceen. 
 + 
 +Request: 
 +<​code>​GET ${TVIPAPI_BASE_URL}/​tvipapi/​json/​feeds/​{device-class}.json</​code>​ 
 + 
 +Response: 
 +<code javascript>​ 
 +
 +  "​method"​ : "​feeds",​ 
 +  "​status"​ : 200, 
 +  "​response"​ : { 
 +  "​feeds":​ [ 
 +      { 
 +   ​ "​id":​ 1,  
 +   ​ "​type":​ DEFAULT, 
 +   ​ "​subtype":​ PROVISIONING_BANNER,​ 
 +   ​ "​focusable":​ true, 
 +   ​ "​title":​ "",​ 
 +   ​ "​card_size":​ {"​width":​ 1920, "​height":​ 180}, 
 +   ​ "​mark_position":​ TOP_LEFT, 
 + ​ },​ 
 +      { 
 +   ​ "​id":​ 2,  
 +   ​ "​type":​ DEFAULT, 
 +   ​ "​subtype":​ APPS, 
 +   ​ "​focusable":​ true, 
 +   ​ "​title":​ "​Apps",​ 
 +   ​ "​card_size":​ {"​width":​ 240, "​height":​ 135}, 
 +   ​ "​mark_position":​ TOP_LEFT, 
 + ​ },​ 
 +
 +   ​ "​id":​ 3,  
 +   ​ "​type":​ DEFAULT, 
 +   ​ "​subtype":​ CHANNELS, 
 +   ​ "​focusable":​ true, 
 +   ​ "​title":​ "​Channels",​ 
 +   ​ "​card_size":​ {"​width":​ 416, "​height":​ 234}, 
 +   ​ "​mark_position":​ TOP_LEFT, 
 + ​ },​ 
 +
 +   ​ "​id":​ 4,  
 +   ​ "​type":​ DEFAULT, 
 +   ​ "​subtype":​ CCTV, 
 +   ​ "​focusable":​ true, 
 +   ​ "​title":​ "​CCTV",​ 
 +   ​ "​card_size":​ {"​width":​ 416, "​height":​ 234}, 
 +   ​ "​mark_position":​ TOP_LEFT, 
 + ​ },​ 
 +
 +   ​ "​id":​ 5,  
 +   ​ "​type":​ DEFAULT, 
 +  "​subtype":​ Continue, 
 +   ​ "​focusable":​ true, 
 +   ​ "​title":​ "​Continue watching",​ 
 +   ​ "​card_size":​ {"​width":​ 416, "​height":​ 234}, 
 +   ​ "​mark_position":​ BOTTOM_LEFT,​ 
 +  } 
 +        ] 
 +      } 
 +  ] 
 +
 + 
 +
 +</​code>​ 
 + 
 +Feed structure:​ 
 +^Field: ^Type ^Req. ^Description | 
 +| **id** | Int  | Yes | Unique id.  | 
 +| **type** | String | Yes | [enum] default or additional feed, "​DEFAULT"​ by default ​  | 
 +| **subtype** | String ​ | Yes  | [enum] Type of the feed, defaults are: "​PROVISIONING_BANNER",​ "​APPS",​ "​CHANNELS",​ "​CCTV",​ "​CONTINUE" ​    | 
 +| **focusable** | Boolean | Yes | If user can focus on the feed - true by default | 
 +| **title** | String | Yes | The title of the feed | 
 +| **card_size** | Size | Yes | The width and height of item image card - under the table watch more info | 
 +| **mark_position** | String | Yes | [enum] Position of the mark on the card, available values: "​TOP_LEFT",​ "​TOP_RIGHT",​ "​BOTTOM_LEFT",​ "​BOTTOM_RIGHT", ​ "​TOP_LEFT"​ by default | 
 + 
 +Size structure:​ 
 +^Field: ^Type ^Req. ^Description | 
 +| **width** | Int  | Yes | Image card width  | 
 +| **height** | Int | Yes | Image card height ​  | 
 + 
 +card size available (can choose only from these ones): 
 + 
 +  * landscape_poster:​ 416 x 234 - default for "​CHANNELS",​ "​CCTV",​ "​CONTINUE"​  
 +  * portrait_poster:​ 240 x 360 
 +  * big_portrait_poster:​ 460 x 700 
 +  * app_logo: 240 x 135 - default for  "​APPS"​ 
 +  * default_banner:​ 1920 x 180 - default for "​PROVISIONING_BANNER"​ 
 +  * wide_banner:​ 1800 x 340  
 + 
 +for "​PROVISIONING_BANNER"​ client overrides the size taking it from provisioning
for "​APPS"​ let choose between app_logo and landscape_poster
 
 + 
 +=====  Feed items ===== 
 +Get items of the feed. 
 + 
 +Request: 
 +<​code>​GET ${TVIPAPI_BASE_URL}/​tvipapi/​json/​feeds/​{feed_id}/​items.json</​code>​ 
 + 
 +Response: 
 +<code javascript>​ 
 +
 +  "​method"​ : "​feeds",​ 
 +  "​status"​ : 200, 
 +  "​response"​ : { 
 +  "​feed_id":​ 1, 
 +    "​items":​ [ 
 +        { 
 +  "​title":​ "​Card",​ 
 +  "​subtitle":​ "​info",​ 
 +  "​deeplink":​ "​vod/?​movie=1",​ 
 +  "​progress":​ {"​total":​ 7200, "​elapsed":​ 3000}, 
 +  "​mark":​ "​hit",​ 
 +  "​background_image":​ "​url1",​ 
 +  "​background_video":​ "​url2",​ 
 +  "​image":​ "​url3",​ 
 + }, 
 +
 +  "​title":​ "​Title",​ 
 +  "​subtitle":​ null, 
 +  "​deeplink":​ "​vod/?​movie=2",​ 
 +  "​progress":​ null, 
 +  "​mark":​ null, 
 +  "​background_image":​ null, 
 +  "​background_video":​ null, 
 +  "​image":​ "​url3",​ 
 + }, 
 +    ] 
 +   } 
 +
 +</​code>​ 
 + 
 +Item structure:​ 
 +^Field: ^Type ^Req. ^Description | 
 +| **title** ​   | String ​ | Yes | Item title | 
 +| **subtitle** ​    | String | No | Item subtitle | 
 +| **deeplink** ​   | String ​ | Yes  | The deeplink with action (system uri / url) | 
 +| **progress** | Progress | No | Only fo continue feed. Shows total and elapsed time of the video | 
 +| **mark** | String | No | The one word showing above item card | 
 +| **background_image** | String | No | The image url to show on the background when item is focused | 
 +| **background_video** | String | No | The video url to play on the background when item is focused | 
 +| **image** | String | Yes | The image url for the item card |
 
 + 
 +Progress structure:​ 
 +^Field: ^Type ^Req. ^Description | 
 +| **total** ​   | Int  | Yes | Item (video) duration in seconds | 
 +| **elapsed** ​    | Int | Yes | The seconds elapsed from start to pause |
  
 ====== Content requests ====== ====== Content requests ======
Line 303: Line 449:
 </​code>​ </​code>​
  
-**channels_version** defines version or timestamp ​or current channel list. If this value is the same as on previous request, playlist will be updated on the device.\\+**channels_version** defines version or timestamp ​of current channel list. If this value is the same as on previous request, playlist will not be updated on the device.\\
 **channels_hash** unique hash of available channels, used in short epg\\ **channels_hash** unique hash of available channels, used in short epg\\
 **epg_version** defines version or timestamp or current EPG data. If this value is the same as on previous request, EPG will be considered the same.\\ **epg_version** defines version or timestamp or current EPG data. If this value is the same as on previous request, EPG will be considered the same.\\
Line 577: Line 723:
  
  
-This command loads vod tags for requested places. Now boxies load **'​primary'** and **'​secondary'** tag lists.+This command loads vod tags for requested places. Now boxies load only **'​primary'​** tag list.
  
 Request: Request:
Line 657: Line 803:
  
  
-This command loads vod сategories for requested places. Now boxies load **'​primary'​** ​and **'​secondary'​** category lists.+This command loads vod сategories for requested places. Now boxies load only **'​primary'​** ​list.
  
 Request: Request:
en/tvip_json_middleware_api/2.1523944433.txt.gz · Last modified: 2018/04/17 08:53 by Egor Danilenko