api:iptv:settings:update
Table of Contents
API : IPTV : Settings : Update
Introduction
This request will set the main IPTV settings for either:
- An IPTV reseller (customer who is a reseller and has the feature IPTVPRIVATE). Used by the resellers customers for common IPTV settings.
- An IPTV business customer (customer who has the feature IPTVBUSINESS), and holds the common IPTV settings for itself.
Request
| URL | https://api.telecomx.dk/iptv/settings/CUSTOMER_ID | ||
|---|---|---|---|
| Method | POST | ||
| Access level | MANAGER, OWNER if customer has feature IPTVBUSINESS RESELLER if customer has the feature IPTVBUSINESS, or is a reseller and has the feature IPTVPRIVATE ADMIN |
||
| Params | CUSTOMER_ID | Id of the customer to update | |
| Body | countries | Array | Geo blocking - list of countries to which streams can be served, in ISO3166-2 format (ADMIN only). |
| archive | Number | Number of hours in the archive (ADMIN only). | |
| defaultTabletProfile | ObjectId | The default tablet profile for this customer. | |
| ntpServer | String | NTP-server for the customer | |
| nPvr | Setting for Network Personal Video Recording. | ||
| nPvr.enabled | Boolean | True if nPVR is enabled (ADMIN only). | |
| nPvr.storage | Number | Number of hours customer(s) may record (ADMIN only). | |
| nPvr.autoExpireDays | Number | Number of days before recordings are automatically deleted (ADMIN only). | |
| nPvr.autoExpireOverride | Boolean | True if customer(s) can reset the age of a recording to keep it past the autoExpireDays period (ADMIN only). | |
| stbStreamOnly | Boolean | True if only base channel streams may be served to STB's. Used to override DVB in case DVB network is down. | |
| localArchive | Array | If local archive server(s) should be used by STB's instead of the central servers, then this has the list of the local server(s) to use instead. | |
| localNPvr | Array | If local nPvr server(s) should be used by STB's instead of the central servers, then this is the list of the local server(s) to use instead. | |
| customFields | Array | List of custom fields on devices for additional information. Searchable. | |
| customFields[].index | Number | Position in the list of custom fields, 0-based. | |
| customFields[].label | String | Label for the custom field. | |
| customFields[].type | String | Type of field: TEXT - line of text NUMBER - line of digits SELECT - select box CHECKBOX - a checkbox HEADLINE - a headline |
|
| customFields[].options | String | Comma list of values that can be selected (only used if type is SELECT). | |
| groups | Array | Groups - used for performing actions on a group of devices. | |
| groups[]._id | Id | Id of the group. | |
| groups[].name | String | Group name. | |
| stbModules | Object | List of modules to enable by default on STBs. | |
| stbModules.tv | Boolean | TV module. | |
| stbModules.media_browser | Boolean | Media browser module. | |
| stbModules.vclub | Boolean | Archive module. | |
| stbModules.vclub2 | Boolean | Recording module. | |
| stbModules.audioclub | Boolean | Audio club module. | |
| stbModules.radio | Boolean | Radio module. | |
| stbModules.settings | Boolean | Settings menu module. | |
| stbModules.settingsEx | Boolean | Sensitive settings module. | |
| stbModules.internet | Boolean | Internet browser module. | |
| stbUserInterface | String | Name of the STB user interface. | |
| stbFirmware | String | Id of the required firmware version for all STB's, null if no requirements. | |
| stbTunnelMode | String | VPN tunnel mode: DEFAULT, NONE, CUSTOM. | |
| stbTunnelHost | String | A comma list of available tunnel servers (only if stbTunnelMode is CUSTOM). | |
| stbTunnelRules | Array | Tunnel rules (only if stbTunnelMode is CUSTOM). | |
| stbTunnelRules[].local | Number | Local port (only if stbTunnelMode is CUSTOM). | |
| stbTunnelRules[].remote | String | Remote host (only if stbTunnelMode is CUSTOM). | |
| stbTunnelRules[].remotePort | Number | Remote port (only if stbTunnelMode is CUSTOM). | |
| useLocalStreamsOnApps | Boolean | True to serve local streams to app clients (for closed networks). | |
| disableDrm | Boolean | True to disable DRM (for closed networks) (ADMIN only). | |
| defaultPackageForApps | ObjectId | Id of a TV package that IPTVBUSINESS devices will subscribe to when added. | |
| drmStreamLimit | Number | Number of concurrent streams allowed pr. customer on app based devices. 0 to ignore (ADMIN only). | |
| drmDeviceLimit | Number | Number of app based devices allowed pr. customer (ADMIN only). | |
| homeNetworks | Array | List of IP addresses/network that are tagged as “home” IP's. Accepts single IP or IP/net. | |
| outOfHomeNetwork | String | Action to take when a device is originating from an IP address not listed in homeNetworks: NOT_USED - Nothing. NO_DVB - If device is an STB it will only stream. FORBIDDEN - Device will not stream. STB_FORBIDDEN - Device will not stream if type is STB. |
|
| copydan | Boolean | If true, then the owner of these settings already has Copydan channels. (ADMIN only) | |
| smallLogo | ObjectId | Small top-corner logo used on FlexCareTV portal | |
| backgroundImage | ObjectId | Background image used on FlexCareTV portal | |
| backgroundColor | String | Fallback background color used on FlexCareTV/PlayMaker 2.0 portal (HEX format) | |
| secondaryBackgroundColor | String | Secondary background color for PlayMaker 2.0 (HEX format). IPTV Private only. | |
| tertiaryBackgroundColor | String | Secondary background color for PlayMaker 2.0 (HEX format) | |
| inactiveIconColor | String | Color used for inactive icons for PlayMaker 2.0 (HEX format). IPTV Private only. | |
| accentColor | String | Accent/highlight color used on PlayMaker 2.0 (HEX format). IPTV Private only. | |
| topTabBarColor | String | Background color for the top tab bar on PlayMaker 2.0 (HEX format). IPTV Private only. | |
| bottomTabBarColor | String | Background color for the bottom tab bar on PlayMaker 2.0 (HEX format). IPTV Private only. | |
| textColor | String | Text color used on PlayMaker 2.0 (HEX format). IPTV Private only. | |
| secondaryTextColor | String | Secondary text color used for PlayMaker 2.0 (HEX format). IPTV Private only. | |
| tertiaryTextColor | String | Tertiary text color used for PlayMaker 2.0 (HEX format) | |
As little as a single property can be specified, but arrays must always be complete.
Query example
{
groups: [
{ _id: '12345678901234567890A000', name: 'Building A' },
{ _id: '12345678901234567890A000', name: 'Building B' }
]
}
Response
The updated settings.
| JSON object | ||
|---|---|---|
| countries | Array | Geo blocking - list of countries to which streams can be served, in ISO3166-2 format. |
| archive | Number | Number of hours in the archive (ADMIN only). |
| defaultTabletProfile | ObjectId | The default tablet profile for this customer. |
| ntpServer | String | NTP-server for the customer |
| nPvr | Setting for Network Personal Video Recording. | |
| nPvr.enabled | Boolean | True if nPVR is enabled. |
| nPvr.storage | Number | Number of hours customer(s) may record. |
| nPvr.autoExpireDays | Number | Number of days before recordings are automatically deleted. |
| nPvr.autoExpireOverride | Boolean | True if customer(s) can reset the age of a recording to keep it past the autoExpireDays period. |
| stbStreamOnly | Boolean | True if only base channel streams may be served to STB's. Used to override DVB in case DVB network is down. |
| localArchive | Array | Local archive server(s) available for STB's, if any. |
| localNPvr | Array | Local nPvr server(s) available for STB's, if any. |
| customFields | Array | List of custom fields on devices for additional information. Searchable. |
| customFields[].index | Number | Position in the list of custom fields, 0-based. |
| customFields[].label | String | Label for the custom field. |
| customFields[].type | String | Type of field: TEXT - line of text NUMBER - line of digits SELECT - select box CHECKBOX - a checkbox HEADLINE - a headline |
| customFields[].options | String | Comma list of values that can be selected (only used if type is SELECT). |
| groups | Array | Groups - used for performing actions on a group of devices. |
| groups[]._id | Id | Id of the group, null if new group. |
| groups[].name | String | Group name. |
| logo | Id | Id of resellers logo, used for branding. |
| archive | Number | Number of hours in the archive. |
| stbModules | Object | List of modules to enable by default on STBs. |
| stbModules.tv | Boolean | TV module. |
| stbModules.media_browser | Boolean | Media browser module. |
| stbModules.vclub | Boolean | Archive module. |
| stbModules.vclub2 | Boolean | Recording module. |
| stbModules.audioclub | Boolean | Audio club module. |
| stbModules.radio | Boolean | Radio module. |
| stbModules.settings | Boolean | Settings menu module. |
| stbModules.settingsEx | Boolean | Sensitive settings module. |
| stbModules.internet | Boolean | Internet browser module. |
| stbUserInterface | String | Name of the STB user interface. |
| stbFirmware | String | Id of the required firmware version for all STB's, null if no requirements. |
| stbTunnelMode | String | VPN tunnel mode: DEFAULT, NONE, CUSTOM. |
| stbTunnelHost | String | A comma list of available tunnel servers (only if stbTunnelMode is CUSTOM). |
| stbTunnelRules | Array | Tunnel rules (only if stbTunnelMode is CUSTOM). |
| stbTunnelRules[].local | Number | Local port (only if stbTunnelMode is CUSTOM). |
| stbTunnelRules[].remote | String | Remote host (only if stbTunnelMode is CUSTOM). |
| stbTunnelRules[].remotePort | Number | Remote port (only if stbTunnelMode is CUSTOM). |
| useLocalStreamsOnApps | Boolean | True to serve local streams to app clients (for closed networks). |
| disableDrm | Boolean | True to disable DRM (for closed networks) (ADMIN only). |
| defaultPackageForApps | ObjectId | Id of a TV package that IPTVBUSINESS devices will subscribe to when added. |
| drmStreamLimit | Number | Number of concurrent streams allowed pr. customer on app based devices. 0 to ignore (ADMIN only). |
| drmDeviceLimit | Number | Number of app based devices allowed pr. customer (ADMIN only). |
| homeNetworks | Array | List of IP addresses/network that are tagged as “home” IP's. Accepts single IP or IP/net. |
| outOfHomeNetwork | String | Action to take when a device is originating from an IP address not listed in homeNetworks: NOT_USED - Nothing. NO_DVB - If device is an STB it will only stream. FORBIDDEN - Device will not stream. STB_FORBIDDEN - Device will not stream if type is STB. |
| copydan | Boolean | If true, then the owner of these settings already has Copydan channels. (ADMIN only) |
| smallLogo | ObjectId | Small top-corner logo used on FlexCareTV portal |
| backgroundImage | ObjectId | Background image used on FlexCareTV portal |
| backgroundColor | String | Fallback background color used on FlexCareTV/PlayMaker 2.0 portal (HEX format) |
| secondaryBackgroundColor | String | Secondary background color for PlayMaker 2.0 (HEX format) |
| tertiaryBackgroundColor | String | Secondary background color for PlayMaker 2.0 (HEX format) |
| inactiveIconColor | String | Color used for inactive icons for PlayMaker 2.0 (HEX format) |
| accentColor | String | Accent/highlight color used on PlayMaker 2.0 (HEX format) |
| topTabBarColor | String | Background color for the top tab bar on PlayMaker 2.0 (HEX format) |
| bottomTabBarColor | String | Background color for the bottom tab bar on PlayMaker 2.0 (HEX format) |
| textColor | String | Text color used on PlayMaker 2.0 (HEX format) |
| secondaryTextColor | String | Secondary text color used for PlayMaker 2.0 (HEX format) |
| tertiaryTextColor | String | Tertiary text color used for PlayMaker 2.0 (HEX format) |
Note that properties holding no value may be omitted from the object.
Example
{ portalName: 'storeby_nagle_antenneforening', countries: [ 'DK' ], nPvr: { enabled: true, storage: 25, autoExpireDays: 180, autoExpireOverride: false }, stbStreamOnly: false, localArchive: null, localNPvr: null, customFields: [ { index: 0, label: 'Special settings', type: 'HEADLINE' }, { index: 1, label: 'Building', type: 'TEXT' }, { index: 2, label: 'Remote type', type: 'SELECT', options: 'Standard,Splashproof,None' } ], groups: [ { _id: '12345678901234567890A000', name: 'Building A' }, { _id: '12345678901234567890A000', name: 'Building B' } ], logo: '123456789012345678901234', archive: 48, stbModules: { media_browser: false, tv: true, vclub: true, vclub2: true, audioclub: false, radio: false, settings: true, settingsEx: false, internet: false }, stbUserInterface: 'Playmaker 1.0', stbFirmware: '', stbTunnelMode: 'DEFAULT', useLocalStreamsOnApps: false, disableDrm: false, defaultPackageForApps: null, drmStreamLimit: 2, drmDeviceLimit: 5, homeNetworks: [], outOfHomeNetwork: 'NOT_USED', smallLogo: '12345678901234567890A001', backgroundImage: '12345678901234567890A000', backgroundColor: '#00FFFF00', secondaryBackgroundColor: "#000000", tertiaryBackgroundColor: '#ffffff', textColor: "#f3f3f3", secondaryTextColor: "#070707", inactiveIconColor: "06f1a2#", topTabBarColor: "#ff01d7", bottomTabBarColor: "#a1a2b4", accentColor: "#a4ddff", tertiaryTextColor: '#ffffff' }
Errors
| Error code | Message | Description |
|---|---|---|
| 409 | customer | Customer cannot host common IPTV settings |
| 422 | countries | One or more country code is invalid |
| 422 | localArchive | URL for one or more servers is invalid |
| 422 | localNPvr | URL for one or more servers is invalid |
| 422 | customFields[].index | Invalid index |
| 404 | customFields[].label | Label is missing |
| 422 | customFields[].type | Unknown type |
| 404 | customFields[].options | At least 1 option is required |
| 404 | groups[].name | Name is missing |
| 409 | groups[].name | A group with the same name already exist |
| 422 | stbTunnelRules[].local | Invalid port number |
| 409 | stbTunnelRules[].local | Port in use |
| 422 | stbTunnelRules[].remotePort | Invalid port number |
| 422 | stbTunnelRules[].remote | Host/IP is invalid |
| 422 | homeNetworks[] | Invalid IP address |
| 422 | stbUserInterface | The user interface does not exist |
| 404 | defaultPackageForApps | The TV package was not found |
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |
api/iptv/settings/update.txt · Last modified: 2022/10/13 11:11 by Joakim Andersen