api:iptv:app:recording_list
Table of Contents
API : IPTV : App : Recording list
Introduction
This request is used by the iOS/Android apps and web clients to list the programs recorded by the user.
Request
| URL | https://api.telecomx.dk/iptv/app/recording | ||
|---|---|---|---|
| Method | GET | ||
| Query | token | String | Session token. |
| channel | String | [optional] Id of the channel the program was shown on. |
|
| date | String | [optional] Date the programs was originally broadcasted. |
|
| title | String | [optional] Filter that searches the title and sub-title of programs. |
|
| genre | String | [optional] Genre of programs to list. |
|
| offset | Number | [optional] Index of first program to return, default 0. |
|
| limit | Number | [optional] Number of programs to return, default 50. |
|
| sort | String | [optional] Sort result by TIME (default) or TITLE. |
|
| condensed | Boolean | [optional] True to show programs without all the details (default false). |
|
| noimages | Boolean | [optional] True to not include images (default false). |
|
| profile | ObjectId | [optional] ID of the profile to view recordings for, else show all for the given customer. |
|
Query examples
https://api.telecomx.dk/iptv/app/recording?token=12345678901234567890ABCD https://api.telecomx.dk/iptv/app/recording?token=12345678901234567890ABCD&profile=1234567890ABCD1234567890 https://api.telecomx.dk/iptv/app/recording?token=12345678901234567890ABCD&channel=12345678901234567890AAAA&date=2017-01-18&title=spectre&genre=film
Response
| JSON object | ||
|---|---|---|
| offset | Number | Index of the first program returned. |
| limit | Number | Number of programs to return. Note that the actual number of programs may be lower. |
| total | Number | Number of programs that can be returned when offset and limit is not considered. This is to be used for paging through the programs. |
| prev | String | URL to request the previous limit number of items - if possible. |
| next | String | URL to request the next limit number of items - if possible. |
| used | Number | Number of minutes recorded. |
| storage | Number | Number of hours customer(s) may record. |
| autoExpireDays | Number | Number of days before recordings are automatically deleted. |
| autoExpireOverride | Boolean | True if customer(s) can reset the age of a recording to keep it past the autoExpireDays period. |
| epg | Array | List of programs, see definition below. |
| Program object - normal (JSON) | ||
|---|---|---|
| _id | String | EPG ID |
| programId | ObjectId | Unique program ID (if known) |
| channelId | Number | Id of the TV channel carrying this show. |
| start | Date | Date and time the program starts. |
| end | Date | Date and time the program ends. |
| duration | Number | Length of the program in minutes. |
| title | String | Title of the program. |
| subTitle | String | Teaser/sub title - short description or episode title for a series episode. |
| description | String | Long description for the program. |
| genres | Array | List of genres. |
| series | Object | Episode data - only available for series. |
| series.episode | Number | Episode number in the season, if available. |
| series.episodesInSeason | Number | Number of episodes in the season, if available. |
| series.season | Number | Season number, if available. |
| series.id | String | Unique id of the series, if available. |
| date | Date | Date program/movie/series was released/first shown, if available. |
| country | string | Country of origin (ISO3166-2 country code). If multiple countries, comma separated string, if available. |
| credits | Array | List of credited persons for this program. |
| credits[].type | String | What the person is credited for: ACTOR, DIRECTOR, PRODUCER etc. |
| credits[].role | String | Name of the role played, if type is ACTOR. |
| credits[].name | String | Name of person. |
| images | Array | List of poster images available for the program. |
| images[].type | String | Image version data, usually WIDTHxHEIGHT. |
| images[].url | String | URL to retrieve the image. |
| channelName | String | Name of the channel the program was broadcasted on. |
| channel | String | Id of the channel. |
| channelLogo | String | URL for logo for the channel. |
| favorite | Boolean | True if program is marked as favourite and exempt from auto-deletion. |
| watchList | Boolean | If true, then this profile has this program in their watchlist. Only relevant for IPTV private, using profiles |
| expire | Date | If not favorite, this is the date that the recording will be auto-deleted. Otherwise null. |
| position | Number | If previously played, then this is the position in seconds where playback stopped. |
| availableUntil | Date | Date of when the program is no longer available in archive. |
| streams | Array | Properties used, if the program is available on streaming services |
| streams[].streamingService | String (enum) | Which streaming service this stream is from. |
| streams[].logo | String | URL to logo of the streaming service |
| streams[].logoId | ObjectId | ID of logo |
| streams[].name | String | Display name of streaming service |
| streams[].url | String | URL/deeplink to content |
| Program object - condensed=true (JSON) | ||
|---|---|---|
| _id | String | Unique ID of the program. |
| programId | ObjectId | Unique program ID (if known) |
| start | Date | Date and time the program starts. |
| duration | Number | Length of the program in minutes. |
| title | String | Title of the program. |
| subTitle | String | Teaser/sub title - short description or episode title for a series episode. |
| channelName | String | Name of the channel the program was broadcasted on. |
| channel | String | Id of the channel. |
| channelLogo | String | URL for logo for the channel. |
| favorite | Boolean | True if program is marked as favourite and exempt from auto-deletion. |
| expire | Date | If not favorite, this is the date that the recording will be auto-deleted. Otherwise null. |
Note that properties holding no value may be omitted from the object.
Example - normal
{ offset: 0, limit: 50, total: 243, prev: null, next: 'https://api.telecomx.dk/iptv/app/recording?token=12345678901234567890ABCD&channel=12345678901234567890AAAA&date=2017-01-18&title=spectre&genre=film&offset=50&limit=50', used: 400, capacity: 50, epg: [ { _id: '7_1484358000', start: '2017-01-14T01:40:00.000Z', programId: '1234567890ABCD1234567890' end: '2017-01-14T02:30:00.000Z', duration: 50, title: 'Cold Case', subTitle: 'Frank\'s Best', description: 'Krimiserie. Rush og Valens genåbner en sag fra 2001 om en vellidt lokal viktualieforretningsejer, Frank Dicenzio, som tilsyneladende blev banket ihjel af en ansat. Valens kontaktes af broderen til en dømt morder og overbevises om at genåbne sagen. Alle elskede Frank, og ingen kunne forestille sig, at nogen ville slå ham ihjel. Alle beviser peger mod Fransk bedste medarbejder - indtil en person endelig står frem og fortæller sandheden.', favorite: false, watchList: true, expire: '2019-01-01T00:00:00.000Z', position: 102, genres: [ 'Drama', 'Krimi' ], series: { episode: 10, episodesInSeason: 23, id: '237655889', season: 3 }, availableUntil: '2022-12-21T15:00:00.000Z', credits: [ { type: 'ACTOR', name: 'Kathryn Morris', role: 'Lilly Rush' }, { type: 'ACTOR', name: 'Danny Pino', role: 'Scotty Valens' }, { type: 'ACTOR', name: 'John Finn', role: 'John Stillman' }, { type: 'ACTOR', name: 'Jeremy Ratchford', role: 'Nick Vera' }, { type: 'ACTOR', name: 'Thom Barry', role: 'Will Jeffries' }, { type: 'ACTOR', name: 'Tracie Thoms', role: 'Kat Miller' }, { type: 'ACTOR', name: 'Bahni Turpin', role: 'Lindsey Dunlay' }, { type: 'ACTOR', name: 'Ramon Franco', role: 'Ricardo Munoz' }, { type: 'ACTOR', name: 'James DiStefano', role: 'Frank Dicenzio' }, { type: 'ACTOR', name: 'Sandra Purpuro', role: 'Antonia Difara' }, { type: 'ACTOR', name: 'Eduardo Yanez', role: 'Felix Darosa' }, { type: 'DIRECTOR', name: 'Michael Schultz' } ], images : [ { type: '95x54', width: 95, height: 54, url: 'https://img.powernet.tv/95x54/30/1490/821800.jpg' }, { type: '177x100', width: 177, height: 100, url: 'https://img.powernet.tv/177x100/30/1490/821800.jpg' }, { type: '250x140', width: 250, height: 140, url: 'https://img.powernet.tv/250x140/30/1490/821800.jpg' }, { type: '270x152', width: 270, height: 152, url: 'https://img.powernet.tv/270x152/30/1490/821800.jpg' }, { type: '360x203', width: 360, height: 203, url: 'https://img.powernet.tv/360x203/30/1490/821800.jpg' }, { type: '400x225', width: 400, height: 225, url: 'https://img.powernet.tv/400x225/30/1490/821800.jpg' }, { type: '460x260', width: 460, height: 260, url: 'https://img.powernet.tv/460x260/30/1490/821800.jpg' }, { type: '750x420', width: 750, height: 420, url: 'https://img.powernet.tv/750x420/30/1490/821800.jpg' }, { type: '900x506', width: 900, height: 506, url: 'https://img.powernet.tv/900x506/30/1490/821800.jpg' }, { type: '1777x1000', width: 1777, height: 1000, url: 'https://img.powernet.tv/1777x1000/30/1490/821800.jpg' } ], streams: [ { streamingService: 'NETFLIX', name: 'Netflix', url: 'https://example.com/video/12937129739/, logo: 'https://image.powernet.tv/1234567890ABCD1234567890.png', logoId: '1234567890ABCD1234567890' } ] }, { ... } ] }
Example - condensed=true
{ offset: 0, limit: 50, total: 243, epg: [ { _id: '7_1484358000', start: '2017-01-14T01:40:00.000Z', duration: 50, title: 'Cold Case', subTitle: 'Frank\'s Best', favorite: false, watchList: true, expire: '2019-01-01T00:00:00.000Z', availableUntil: '2022-12-21T15:00:00.000Z' }, { ... } ] }
Errors
| Error code | Message | Description |
|---|---|---|
| 404 | channel | Channel not found |
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |
api/iptv/app/recording_list.txt · Last modified: 2022/12/19 14:49 by Joakim Andersen