Table of Contents

API : IPTV : Channel : List

Introduction

This will list the TV channels available for a resellers customers (when reseller and customer has feature IPTVPRIVATE), or for a business customer (when the customer has the feature IPTVBUSINESS).

Request

URL https://api.telecomx.dk/iptv/channel
Method GET
Access level VIEWER, MANAGER or OWNER if customer has feature IPTVBUSINESS
RESELLER if customer has IPTVPRIVATE
ADMIN
Query offset [optional] Index of the first channel to return, default 0.
limit [optional] The number of channels to return, default 100, min 1, max 500.
all [optional] If true, will return all channels at once, ignoring the limit. (ADMIN only)
filter [optional] To filter the channels, this can be used. Name is searched.
full [optional] If true, complete channel settings objects will be returned instead of the condensed version.
customer [optional] Id of the reseller (IPTVPRIVATE), or customer (IPTVBUSINESS), or a TV customer (IPTVPRIVATE) to show channels for. Defaults to the users own customer.

If customer is an IPTVPRIVATE which gets channels from its parent reseller, then the full query is not available.

Query examples

https://api.telecomx.dk/iptv/channel
https://api.telecomx.dk/iptv/channel?offset=25&limit=50&filter=c-more&full=true&customer=12345678901234567890ABCD

Response

JSON object
offset Index of the first channel returned.
limit Number of channels to return. Note that the actual number of channels returned may be lower.
total Number of channels that can be returned when offset and limit is not considered. This is to be used for paging through the data.
channels Array of channels, see definition below.
Channel object (JSON)
_id Id Unique id of the TV channel.
number Number Channel number in the list of channels, ex. for direct selection on STB's.
baseChannel Number Base channel number - use for EPG lookup.
name String Name of channel.
hd Boolean True if channel is in HD.
archive Boolean True if channel allows archive.
record Boolean True if channel allows nPVR recording.
base Boolean True if available as a base channel stream.
dvb Boolean True if available on DVB.
local Boolean True if available as a local stream.
Channel object if full=true (JSON)
_id Id Unique id of the TV channel.
number Number Channel number in the list of channels, ex. for direct selection on STB's.
baseChannel Number Id of the base channel this channel is based on, null if channel is a local channel.
name String Name of channel.
logo Id Id of channel logo, overrides base channel logo. Null to use base channel logo, if available.
dvbOnly Boolean True if channel can only be delivered on DVB, not streaming.
epgId String Id of EPG source, if channel is not based on a base channel.
locals Array List of URLs that the channel can be streamed from locally to STB's, otherwise null.
dvb Object DVB settings, if channel is available on DVB, otherwise null.
dvb.freq Number Frequency in hz, e.g. 218002.
dvb.id String Id - used for selecting the channel, e.g. 'C_1039_218000'.
dvb.mod Number Modulation.
dvb.chBW Number Channel BW.
dvb.fec Number Forward Error Correction.
dvb.symrate Number Symbolrate.
dvb.type Number Type.
dvb.pcrpid String Program Clock Reference PID.
dvb.pmtpid String Program Map Tables PID.
dvb.prog String Program.
dvb.pids Array List of PID's for this channel.
pids[].pid String PID id - ex; '185'.
pids[].type String Type of pid - ex: 1'.

Note that properties holding no value may be omitted from the object.

Example - normal

{
  offset: 10,
  limit: 10,
  total: 23,
  channels:
  [
    {
      _id: '12345678901234567890ABCD',
      number: 7,
      baseChannel: 7,
      name: 'TV2',
      hd: true,
      archive: true,
      record: true,
      base: true,
      dvb: true,
      local: false
    },
    {
      ...
    }
  ]
}

Example - full=true

{
  offset: 10,
  limit: 10,
  total: 23,
  channels:
  [
    {
      _id: '12345678901234567890ABCD',
      number: 1,
      baseChannel: 7,
      name 'TV2',
      logo: null,
      dvbOnly: false,
      dvb: {
        freq: 218002,
        id: 'C_1039_218000',
        mod: 7,
        chBW: 0,
        fec: 4095,
        symrate: 6875,
        type: 1,
        pcrpid: 1065,
        pmtpid: 185,
        prog: 1039,
        pids: [
          {
            "pid": "0",
            "type": "0"
          },
          {
            "pid": "185",
            "type": "1"
          },
          {
            "pid": "1065",
            "type": "2"
          },
          {
            "pid": "1065",
            "type": "6"
          },
          {
            "pid": "4035",
            "type": "17"
          },
          {
            "pid": "3175",
            "type": "10"
          },
          {
            "pid": "6602",
            "type": "17"
          },
          {
            "pid": "6116",
            "type": "17"
          },
          {
            "pid": "6603",
            "type": "17"
          },
          {
            "pid": "630",
            "type": "17"
          },
          {
            "pid": "631",
            "type": "17"
          },
          {
            "pid": "606",
            "type": "17"
          }
        ],
      },
      locals: [
        'http://192.168.10.20:1234/live/dr1.m3u8',
        'http://192.168.10.21:1234/live/dr1.m3u8'
      ]
    },
    {
      ...
    }
  ]
}

Errors

Error code Message Description
403 access_denied Insufficient access level
404 customer Customer does not have IPTV
422 customer Customer is not an IPTV reseller
500 internal_error <Unspecified>