api:iptv:app:channel_list
Table of Contents
API : IPTV : App : Channel list
Introduction
This request is used by the iOS/Android apps and web clients to get the list of channels and related EPG data.
Request
| URL | https://api.telecomx.dk/iptv/app/channel | ||
|---|---|---|---|
| Method | GET | ||
| Query | token | String | Session token. |
| epgMode | String | How much EPG data to include: UP_TO_NOW - from start of archive, current program and next 4 programs NOW - current program and next 4 programs (default) TODAY - EPG for today REST_OF_DAY - current program and the rest of the day WEEK - EPG for the next 7 days including today PERIOD - a period of time as specified by from and to NONE - No EPG only channels |
|
| epgFull | Boolean | True to include full EPG data for each program instead of the condensed version. | |
| epgTiny | Boolean | True to include only _id, start, duration, title and recording in EPG, and for current program also end, subTitle, description and images. | |
| epgCompact | Boolean | True to include only _id, start, end, duration, title, subTitle, genres, recording and compact series info - see below. | |
| from | Date | Start of period, if epgMode is PERIOD. Date only. | |
| to | Date | End of period, if epgMode is PERIOD. Date only. | |
| offset | Number | [optional] Index of first channel to return, defaults to 0 if not specified. |
|
| limit | Number | [optional] Number of channels to return, defaults to all channels if not specified. |
|
| channel | String | [optional] Id of channel or comma list of channel ids. If only specific channels should be returned. |
|
| paging | Boolean | [optional] True to return the list of channels inside a paging set with offset, limit, total and channels, default to false if not specified. |
|
| noimages | Boolean | [optional] True to not include images (default false) DEPRECATED. |
|
| nofill | Boolean | [optional] True to not include dummy programs for channels that has no EPG data available. |
|
| profile | Id | [optional] Id of profile, that we want to see channels for. |
|
Query examples
https://api.telecomx.dk/iptv/app/channel?token=12345678901234567890ABCD https://api.telecomx.dk/iptv/app/channel?token=12345678901234567890ABCD&epgMode=TODAY https://api.telecomx.dk/iptv/app/channel?token=12345678901234567890ABCD&epgMode=TODAY&epgFull=true https://api.telecomx.dk/iptv/app/channel?token=12345678901234567890ABCD&epgMode=PERIOD&epgTiny=true&from=2017-03-01T00:00:00.000Z&to=2017-03-03T00:00:00.000Z
Response
Array of channel objects.
| Channel object (JSON) - epgMode=NONE | ||
|---|---|---|
| _id | Id | Id of channel. |
| number | Number | Channel number. |
| baseChannel | Number | Base channel number. |
| name | String | Channel name. |
| logo | String | URL for channel logo. PNG file in 400×225 pixels. |
| dvbOnly | Boolean | True if channel is only available via DVB. |
| archive | Boolean | True if channel has archive feature. |
| record | Boolean | True if channel permits recording. |
| archiveDays | Number | Number of days in archive for this channel. |
| Channel object (JSON) - normal | ||
|---|---|---|
| _id | Id | Id of channel. |
| number | Number | Channel number. |
| baseChannel | Number | Base channel number. |
| name | String | Channel name. |
| logo | String | URL for channel logo. PNG file in 400×225 pixels. |
| dvbOnly | Boolean | True if channel is only available via DVB. |
| archive | Boolean | True if channel has archive feature. |
| record | Boolean | True if channel permits recording. |
| archiveDays | Number | Number of days in archive for this channel. |
| epg | Array | List of EPG data. |
| epg[]._id | Id | Id of program. |
| epg[].programId | ObjectId | Unique program ID (if known) |
| epg[].channelId | Number | Base channel id. |
| epg[].start | Date | Start time. |
| epg[].end | Date | End time. |
| epg[].duration | Number | Length in minutes. |
| epg[].title | String | Program title. |
| epg[].subTitle | String | Teaser/sub title - short description or episode title for a series episode. |
| epg[].imageIds | Array | List of poster images available for the program. |
| epg[].images | Array | List of poster images available for the program DEPRECATED. |
| epg[].images[].type | String | Image version data, usually WIDTHxHEIGHT. |
| epg[].images[].url | String | URL to retrieve the image. |
| epg[].recording | Boolean | True if program has been recorded or marked for recording by the customer. |
| epg[].watchList | Boolean | If true, then this profile has this program in their watchlist. Only relevant for IPTV private, using profiles |
| epg[].availableUntil | Date | Date of when the program is no longer available in archive. |
| Channel object (JSON) - epgTiny=true | ||
|---|---|---|
| _id | Id | Id of channel. |
| number | Number | Channel number. |
| baseChannel | Number | Base channel number. |
| name | String | Channel name. |
| logo | String | URL for channel logo. PNG file in 400×225 pixels. |
| dvbOnly | Boolean | True if channel is only available via DVB. |
| archive | Boolean | True if channel has archive feature. |
| record | Boolean | True if channel permits recording. |
| archiveDays | Number | Number of days in archive for this channel. |
| epg | Array | List of EPG data. |
| epg[]._id | Id | Id of program. |
| epg[].programId | ObjectId | Unique program ID (if known) |
| epg[].channelId | Number | Base channel id. |
| epg[].start | Date | Start time. |
| epg[].end | Date | End time. |
| epg[].duration | Number | Length in minutes. |
| epg[].title | String | Program title. |
| epg[].recording | Boolean | True if program has been recorded or marked for recording by the customer. |
| epg[].availableUntil | Date | Date of when the program is no longer available in archive. |
| Channel object (JSON) - epgCompact=true | ||
|---|---|---|
| _id | Id | Id of channel. |
| number | Number | Channel number. |
| baseChannel | Number | Base channel number. |
| name | String | Channel name. |
| logo | String | URL for channel logo. PNG file in 400×225 pixels. |
| dvbOnly | Boolean | True if channel is only available via DVB. |
| archive | Boolean | True if channel has archive feature. |
| record | Boolean | True if channel permits recording. |
| archiveDays | Number | Number of days in archive for this channel. |
| epg | Array | List of EPG data. |
| epg[]._id | Id | Id of program. |
| epg[].programId | ObjectId | Unique program ID (if known) |
| epg[].channelId | Number | Base channel id. |
| epg[].start | Date | Start time. |
| epg[].end | Date | End time. |
| epg[].duration | Number | Length in minutes. |
| epg[].title | String | Program title. |
| epg[].subTitle | String | Teaser/sub title - short description or episode title for a series episode. |
| epg[].recording | Boolean | True if program has been recorded or marked for recording by the customer. |
| epg[].watchList | Boolean | If true, then this profile has this program in their watchlist. |
| epg[].availableUntil | Date | Date of when the program is no longer available in archive. |
| epg[].s | Object | Series info - if available. |
| epg[].s.e | Number | Episode number. |
| epg[].s.t | Number | Episodes in season. |
| epg[].s.s | Number | Season. |
| Channel object (JSON) - epgFull=true | ||
|---|---|---|
| _id | Id | Id of channel. |
| number | Number | Channel number. |
| baseChannel | Number | Base channel number. |
| name | String | Channel name. |
| logo | String | URL for channel logo. PNG file in 400×225 pixels. |
| dvbOnly | Boolean | True if channel is only available via DVB. |
| archive | Boolean | True if channel has archive feature. |
| record | Boolean | True if channel permits recording. |
| archiveDays | Number | Number of days in archive for this channel. |
| epg | Array | List of programs on the channel in the requested period. |
| epg[]._id | String | Id of program. |
| epg[].programId | ObjectId | Unique program ID (if known) |
| epg[].channelId | Number | Base channel id. |
| epg[].start | Date | Start time. |
| epg[].end | Date | End time. |
| epg[].duration | Number | Length in minutes. |
| epg[].title | String | Title of the program. |
| epg[].subTitle | String | Teaser/sub title - short description or episode title for a series episode. |
| epg[].description | String | Long description. |
| epg[].genres | Array | List of genres, in danish language. |
| epg[].series | Object | Episode data - only available for series. |
| epg[].series.episode | Number | Episode number in the season, if available. |
| epg[].series.episodesInSeason | Number | Number of episodes in the season, if available. |
| epg[].series.season | Number | Season number, if available. |
| epg[].series.episodeTitle | String | Name of episode, if available. |
| epg[].series.seasonId | String | Id of season, if available. |
| epg[].series.id | String | Id of series, if available. |
| epg[].date | Date | Date program/movie/series was released/first shown, if available. |
| epg[].year | Number | Date program/movie/series was released, if available. |
| epg[].country | string | Country of origin (ISO3166-2 country code). If multiple countries, comma separated string, if available. |
| epg[].credits | Array | List of credited persons for this program. |
| epg[].credits[].type | String | What the person is credited for: ACTOR, DIRECTOR, PRODUCER, DIRECTOR-PRODUCER e.t.c. |
| epg[].credits[].role | String | Name of the role played, if type is ACTOR. |
| epg[].credits[].name | String | Name of person. |
| epg[].credits[].image | Id. | Id of image, if available. |
| epg[].imageIds | Array | List of poster images available for the program. |
| epg[].images | Array | List of poster images available for the program DEPRECATED. |
| epg[].images[].type | String | Image version data, WIDTHxHEIGHT. |
| epg[].images[].url | String | URL to retrieve the image. |
| epg[].recording | Boolean | True if program has been recorded or marked for recording by the customer. |
| epg[].watchList | Boolean | If true, then this profile has this program in their watchlist. |
| epg[].eventId | String | Unique id of the event, if available. |
| epg[].eventId2 | String | Unique id of the event from secondary source, if available. |
| epg[].realStart | Date | Real start time, if available. |
| epg[].realEnd | Date | Real end time, if available. |
| epg[].rerun | Boolean | Is this a re-run of the program, if available. |
| epg[].live | Boolean | Is this program live, if available. |
| epg[].premiere | Boolean | Is this the premiere of the program, if available. |
| epg[].availableUntil | Date | Date of when the program is no longer available in archive. |
| epg[].restrictions | Object | Permission settings for the program, if available. |
| epg[].restrictions.nPvr | Boolean | If the program may be recorded. |
| epg[].restrictions.archive | Boolean | If the program may be viewed in catchup. |
| epg[].restrictions.startOver | Boolean | If the program mat be viewed as start-over. |
| streams | Array | Properties used, if the program is available on streaming services |
| epg[].streams[].streamingService | String (enum) | Which streaming service this stream is from. |
| epg[].streams[].logo | String | URL to logo of the streaming service |
| epg[].streams[].logoId | ObjectId | ID of logo |
| epg[].streams[].name | String | Display name of streaming service |
| epg[].streams[].url | String | URL/deeplink to content |
If paging=true, then the array of channels are wrapped as follows:
| Paging result | ||
|---|---|---|
| offset | Number | Index of first channel to return. |
| limit | Number | Number of channels to return per page. |
| total | Number | Total number of channels available to page through. |
| prev | String | URL to request the previous page of channels - if possible. |
| next | String | URL to request the next page of channels - if possible. |
| channels | Array | List of channel objects. |
Note that properties holding no value may be omitted from the object.
Example - normal
[ { _id: '12345678901234567890ABCD', number: 7, baseChannel: 7, name: 'TV 2', logo: 'https://api.telecomx.dk/iptv/channel/12345678901234567890ABCD/logo', epg: [ { _id: '7_465756464', programId: '1234567890ABCD1234567890', start: '2016-01-01T12:00:00.000Z', end: '2016-01-01T13:00:00.000Z', duration: 60, title: 'Nyhederne med sport', subTitle: '', recording: false, watchList: false, availableUntil: '2022-12-21T15:00:00.000Z', images: [ { type: '95x54', url: 'https://img.powernet.tv/95x54/7/1484/358000.jpg' }, { type: '177x100', url: 'https://img.powernet.tv/177x100/7/1484/358000.jpg' }, { type: '250x140', url: 'https://img.powernet.tv/250x140/7/1484/358000.jpg' }, { type: '270x152', url: 'https://img.powernet.tv/270x152/7/1484/358000.jpg' }, { type: '360x203', url: 'https://img.powernet.tv/360x203/7/1484/358000.jpg' }, { type: '400x225', url: 'https://img.powernet.tv/400x225/7/1484/358000.jpg' }, { type: '460x260', url: 'https://img.powernet.tv/460x260/7/1484/358000.jpg' }, { type: '750x420', url: 'https://img.powernet.tv/750x420/7/1484/358000.jpg' }, { type: '900x506', url: 'https://img.powernet.tv/900x506/7/1484/358000.jpg' }, { type: '1777x1000', url: 'https://img.powernet.tv/1777x1000/7/1484/358000.jpg' } ] }, { ... } ] } ]
Example - epgTiny=true
[ { _id: '12345678901234567890ABCD', number: 7, name: 'TV 2', logo: 'https://api.telecomx.dk/iptv/channel/12345678901234567890ABCD/logo', epg: [ { _id: '7_465756464', programId: '1234567890ABCD1234567890', start: '2016-01-01T12:00:00.000Z', duration: 60, title: 'Nyhederne med sport', recording: false, availableUntil: '2022-12-21T15:00:00.000Z' }, { ... } ] } ]
Example - epgFull=true
[ { _id: '12345678901234567890ABCD', number: 7, name: 'TV 2', logo: 'https://api.telecomx.dk/iptv/channel/12345678901234567890ABCD/logo', epg: [ { _id: '7_1484358000', programId: '1234567890ABCD1234567890', start: '2017-01-14T01:40:00.000Z', 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.', genres: [ 'Drama', 'Krimi' ], series: { episode: 10, episodesInSeason: 23, id: '237655889', season: 3 }, 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', url: 'https://img.powernet.tv/95x54/7/1484/358000.jpg' }, { type: '177x100', url: 'https://img.powernet.tv/177x100/7/1484/358000.jpg' }, { type: '250x140', url: 'https://img.powernet.tv/250x140/7/1484/358000.jpg' }, { type: '270x152', url: 'https://img.powernet.tv/270x152/7/1484/358000.jpg' }, { type: '360x203', url: 'https://img.powernet.tv/360x203/7/1484/358000.jpg' }, { type: '400x225', url: 'https://img.powernet.tv/400x225/7/1484/358000.jpg' }, { type: '460x260', url: 'https://img.powernet.tv/460x260/7/1484/358000.jpg' }, { type: '750x420', url: 'https://img.powernet.tv/750x420/7/1484/358000.jpg' }, { type: '900x506', url: 'https://img.powernet.tv/900x506/7/1484/358000.jpg' }, { type: '1777x1000', url: 'https://img.powernet.tv/1777x1000/7/1484/358000.jpg' } ], recording: false, watchList: false, streams: [ { streamingService: 'NETFLIX', name: 'Netflix', url: 'https://example.com/video/12937129739/', logo: 'https://image.powernet.tv/1234567890ABCD1234567890.png', logoId: '1234567890ABCD1234567890' } ] }, { ... } ] } ]
Example - paging=true
{ offset: 10, limit: 15, total: 63, prev: 'https://api.telecomx.dk/iptv/app/channel?offset=0&limit=15&epgMode=NOW', next: 'https://api.telecomx.dk/iptv/app/channel?offset=25&limit=15&epgMode=NOW', channels: [ { ... channel object ... }, { ... } ] }
Errors
| Error code | Message | Description |
|---|---|---|
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |
api/iptv/app/channel_list.txt · Last modified: 2023/01/26 14:04 by Joakim Andersen