Get started
The API provides programmatic access to read/set/delete data from DTVSol middleware.
To use this API, you need an API key. You can obtain it from your DTVSol middleware, under section Settings
Token:
Aways you must send the token into your http header request:/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/" -H "accept: application/json" -H "Token: "
CHANNELS
get channels
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| channelId | Integer | (optional) Get only information for selected channel by ID. |
PPV
get channels
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| channelId | Integer | (optional) Get only information for selected channel by ID. |
CHANNEL PACKS
get channel pack infoNEW
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/packs/{pack_id}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| pack_id | Integer | ID of pack |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
| info | String | All information for selected pack |
add channel pack NEW
Base url:
/usr/bin/curl -ss -X POST "http://api.dtvsol.info/packs/" -H "accept: application/json" -H "Token: " -d "{\"name\":\"\",\"code\":\"\",\"hd\":\"\", \"broadcaster_id\":\"\"}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| name | String | This field is necessary when you add channel pack |
| code | String | (optional) This field is optional |
| hd | Boolean [true/false | 0/1] | (optional) Set if this pack is HD (default is false) |
| broadcaster_id | Integer | (optional) This field is optional |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
| pack_id | Integer | When the result is "ok", this field contain the ID of the new pack |
edit channel pack NEW
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/packs/{pack_id}" -H "accept: application/json" -H "Token: " -d "{\"name\":\"\",\"code\":\"\",\"hd\":\"\", \"broadcaster_id\":\"\"}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| {pack_id} | Integer | The id of pack |
| name | String | This field is necessary when you add channel pack |
| code | String | (optional) This field is optional |
| hd | Boolean [true/false | 0/1] | (optional) Set if this pack is HD (default is false) |
| broadcaster_id | Integer | (optional) The id of broadcaster |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
delete channel pack NEW
Base url:
/usr/bin/curl -ss -X DELETE "http://api.dtvsol.info/packs/{pack_id}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| pack_id | Integer | ID of pack |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
CLIENTS
get client info
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/clients/{clientId}?limit=10&offset=0" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | (optional) Get only information for selected client by ID. If not provided, returns list of all clients. |
| limit | Integer | (optional) Maximum number of clients to return per request. Only valid when clientId is not provided. Default: without limit. |
| offset | Integer | (optional) Number of clients to skip before starting to return results (for pagination). Only valid when clientId is not provided. Default: 0. |
add client
Base url:
/usr/bin/curl -ss -X POST "http://api.dtvsol.info/clients/" -H "accept: application/json" -H "Token: " -d "{\"name\":\"\",\"nie\":\"\",\"address\":\"\",\"phone\":\"\",\"email\":\"\",\"vip\":\"\",\"vod\":\"\",\"limit\":\"\",\"timeshift\":\"\",\"note\":\"\",\"data\":{\"proxyServerId\":\"\",\"tariffId\":\"\", \"endDate\":\"\"}}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| name | String | The name of the client. |
| nie | String | (optional) Identification ID of the client. |
| address | String | (optional) Address of the client. |
| phone | String | (optional) Phone of the client. |
| String | (optional) E-mail of the client. | |
| vip | Boolean | Set if the client is VIP - do not have end date. |
| vod | Boolean | Set if the client have permission to watch VOD. |
| timeshift | Boolean | Set if the client have permission to use Catchup/Timeshift option. |
| limit | Integer | Set the device limit for this client. |
| note | String | (optional) Some extra information for this client. |
| proxyServerId | Integer | ID of proxy server where this client will be connected. |
| tariffId | Integer | ID of tariff for this client |
| endDate | DateTime | (optional) Subscription end date for this client. Format: YYYY-MM-DD HH:MM:SS. If not set, the system will automatically set it to the last day of the current month. If vip is true, this field will be ignored. |
edit client
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/clients/{clientId}/" -H "accept: application/json" -H "Token: " -d "{\"name\":\"\",\"nie\":\"\",\"address\":\"\",\"phone\":\"\",\"email\":\"\",\"vip\":\"\",\"vod\":\"\",\"limit\":\"\",\"timeshift\":\"\",\"note\":\"\",\"data\":{\"proxyServerId\":\"\",\"tariffId\":\"\"}, \"endDate\":\"\"}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| name | String | (optional) The name of the client. |
| nie | String | (optional) Identification ID of the client. |
| address | String | (optional) Address of the client. |
| phone | String | (optional) Phone of the client. |
| String | (optional) E-mail of the client. | |
| vip | Boolean | (optional) Set if the client is VIP - do not have end date. |
| endDate | Date | (optional) Set end date for selected client. If you set "vip=true", the system will delete endDate |
| vod | Boolean | (optional) Set if the client have permission to watch VOD. |
| limit | Integer | Set the limit of devices for this client. |
| timeshift | Boolean | (optional) Set if the client have permission to use Catchup/Timeshift option. |
| note | String | (optional) Some extra information for this client. |
| proxyServerId | Integer | (optional) ID of proxy server where this client will be connected. |
| tariffId | Integer | (optional) ID of tariff for this client |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
run client
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/clients/{clientId}/?action=runClient" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | ID of client. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
suspend client
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/clients/{clientId}/?action=suspendClient" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | ID of client. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
delete client
Base url:
/usr/bin/curl -ss -X DELETE "http://api.dtvsol.info/clients/{clientId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | ID of client. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
DEVICES
get device info
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/devices/{device_id}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| {device_id} | Integer | Get only information for selected device by ID. |
add device
Base url:
/usr/bin/curl -ss -X POST "http://api.dtvsol.info/devices/{clientId}" -H "accept: application/json" -H "Token: " -d "{\"type\":\"\",\"proxyId\":\"\",\"tariffId\":\"\",\"note\":\"\"}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| type | String | You can choose of three type of devices: dtvsol, m3u. [dtvsol]-current Dtvsol application, [m3u]-m38 playlist |
| proxyId | Integer | (optional) ID of proxy server where this device will be connected. If is not set - the system will use proxyId from client information. |
| tariffId | Integer | (optional) ID of tariff for this device. If is not set - the system will use tariffId from client information. |
| note | String | (optional) Some extra information for this device. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
| deviceId | Integer | When the result is "ok", this field contain the ID of the new generated device |
| deviceCode | Integer | When the result is "ok", this field contain the code for new generated dtvsol device |
| m3uLink | String | When the result is "ok", this field contain the link for m3u playlist |
edit device
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/devices/{deviceId}/" -H "accept: application/json" -H "Token: " -d "{\"code\":\"\",\"mac\":\"\",\"type\":\"\",\"proxyId\":\"\",\"tariffId\":\"\",\"note\":\"\"}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| deviceId | Integer | ID of device to edit. |
| code | Integer | (optional) This field is necessary when you edit Dtvsol application device |
| mac | String | (optional) This field is necessary when you edit Dtvsol (old version) application device. |
| type | String | (optional) You can choose of three type of devices: dtvsol, android, m3u. |
| proxyId | Integer | (optional) ID of proxy server where this device will be connected. |
| tariffId | Integer | (optional) ID of tariff for this device. |
| note | String | (optional) Some extra information for this device. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
delete device
Base url:
/usr/bin/curl -ss -X DELETE "http://api.dtvsol.info/devices/{deviceId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| deviceId | Integer | ID of device to delete. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
DEMO CODES NEW
Trial / promo codes for "free days" campaigns. A demo code is a dormant anonymous client plus one
web-only device whose 9-digit code (<proxy><random>) is printed on a card.
Codes are generated on the company's web-portal proxy, which is resolved automatically.
When does the trial clock start? The clock (days_remaining) NEVER starts at generation.
You have two options, pick one — you do not need both:
- Do nothing (recommended): just create the code and hand it out. The trial starts automatically the first time the customer opens the portal and watches — our system activates it on first use. This way the customer never loses unused days.
- Activate yourself: call activate (below) to start the clock on demand, e.g. the moment your app gives the code to a customer.
Whichever happens first wins, and it is permanent — activation is idempotent, so a code already started (by either path) is never reset or extended.
generate demo codes NEW
Base url:
/usr/bin/curl -ss -X POST "http://api.dtvsol.info/demoCodes/" -H "accept: application/json" -H "Token: " -d "{\"quantity\":500,\"demoDays\":5,\"tariffId\":\"\",\"batch\":\"risaralda-jun\"}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| quantity | Integer | (optional) How many codes to generate (1 - 10000). Defaults to 1 — omit it to create a single code. When one is created the response also includes a code field. |
| demoDays | Integer | (optional) Length of the free trial in days. Default 5. The clock starts on activation or first watch. |
| tariffId | Integer | ID of the tariff (channel lineup) the trial uses. |
| batch | String | Label for this print run (letters, digits, - and _). Used for reporting / grouping. |
| proxyId | Integer | (optional) Target proxy. If omitted, the company's web-portal proxy is used automatically — the app never needs to know a proxy id. |
RESPONSE
{"batch":"risaralda-jun","proxyId":208,"portalUrl":"https://risaralda.pruebatv.red/portal","demoDays":5,"count":500,"codes":["208431422","208752883", ...],"result":"ok"}
Open the portal for a code at portalUrl (e.g. portalUrl?code=208431422).
get demo code status NEW
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/demoCodes/{code}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| code | String | The 9-digit demo code. |
RESPONSE
{"demoCode":{"code":"208431422","name":"Juan Perez","batch":"risaralda-jun","state":"active","claimed_at":"2026-06-07 14:10:00","end_date":"2026-06-12","demo_days":5,"days_remaining":4,"portalUrl":"https://risaralda.pruebatv.red/portal"},"result":"ok"}
state is one of generated (never used), active (trial running) or expired.
update demo code NEW
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/demoCodes/{code}" -H "accept: application/json" -H "Token: " -d "{\"name\":\"\",\"phone\":\"\",\"note\":\"\"}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| code | String | The 9-digit demo code. |
| name | String | (optional) Set the customer name for this code. |
| phone | String | (optional) Set the customer phone. |
| note | String | (optional) Free note. |
Only descriptive fields are updated. The trial clock (end_date) is never changed by this call — use activate below to start it, or it starts automatically on first watch.
activate demo code NEW
Start the trial clock for a code now (instead of waiting for first watch). Useful when your app
hands a code to a customer and you want the days to begin immediately.
Base url:
/usr/bin/curl -ss -X POST "http://api.dtvsol.info/demoCodes/{code}/activate" -H "accept: application/json" -H "Token: " -d "{\"days\":5}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| code | String | The 9-digit demo code to activate. |
| days | Integer | (optional) Override the trial length in days. If omitted, the code's own demoDays is used. |
RESPONSE
{"demoCode":{"code":"208134230","state":"active","claimed_at":"2026-06-08 14:23:17","end_date":"2026-06-13","demo_days":5,"days_remaining":5,"already":false,...},"result":"ok"}
Activation is idempotent and first-one-wins: calling it on an already-active code returns the existing trial unchanged with already:true — it never resets or extends a running trial. The new end_date is pushed to the proxy so the trial is enforced immediately.
BROADCASTERS
get channels
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| channelId | Integer | (optional) Get only information for selected channel by ID. |
RADIO
get channels
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| channelId | Integer | (optional) Get only information for selected channel by ID. |
RESTREAMERS
get channels
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| channelId | Integer | (optional) Get only information for selected channel by ID. |
PROXIES
get channels
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| channelId | Integer | (optional) Get only information for selected channel by ID. |
TRANSCODERS
get channels
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| channelId | Integer | (optional) Get only information for selected channel by ID. |
CONTROL
send fingerprint NEW
Send fingerprint to devices. Fingerprints are visual watermarks displayed on video streams to identify devices/clients/channels.
Endpoint Variants:
/fingerprint/device/{deviceId}- Send to a specific device/fingerprint/client/{clientId}- Send to all devices of a client/fingerprint/reseller/{resellerId}- Send to all devices of reseller's clients/fingerprint/channel/{channelId}- Send to all devices (for specific channel)/fingerprint/broadcaster/{broadcasterId}- Send to all devices (for broadcaster's channels)/fingerprint/pack/{packId}- Send to all devices (for channel pack)/fingerprint/tariff/{tariffId}- Send to all devices with specific tariff
Example (device):
/usr/bin/curl -ss -X POST "http://api.dtvsol.info/fingerprint/device/12345" -H "accept: application/json" -H "Token: " -d "{\"fingerprintType\":\"text\",\"fingerprintInformation\":\"deviceId\",\"fingerprintDuration\":15,\"fingerprintTTL\":24,\"fingerprintPosition\":[\"topLeft\",\"bottomRight\"],\"fingerprintFontSize\":18,\"fingerprintFontColor\":5,\"fingerprintBackgroundColor\":0}"
Example (dots):
/usr/bin/curl -ss -X POST "http://api.dtvsol.info/fingerprint/device/12345" -H "accept: application/json" -H "Token: " -d "{\"fingerprintType\":\"dots\",\"fingerprintInformation\":\"deviceId\",\"fingerprintDuration\":30,\"fingerprintTTL\":48}"
URL PARAMETERS
| Field | Type | Description |
|---|---|---|
| target | String | One of: device, client, reseller, channel, broadcaster, pack, tariff |
| id | Integer | The ID of the target entity |
BODY PARAMETERS (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
| fingerprintType | String | Yes | Type of fingerprint: "text" or "dots" |
| fingerprintInformation | String | Yes | Information to display: "deviceId", "clientId", or "UUID". Note: "dots" type only supports "deviceId" |
| fingerprintDuration | Integer | Yes | Display duration in seconds (1-60) |
| fingerprintTTL | Integer | Yes | Fingerprint validity in hours (1-48) |
| fingerprintPosition | Array | Text only | Array of positions: "topLeft", "centerTop", "topRight", "centerLeft", "center", "centerRight", "centerBottom", "bottomRight", "random" Example: ["topLeft", "bottomRight"] |
| fingerprintFontSize | Integer | Text only | Font size (14-24) |
| fingerprintFontColor | Integer | Text only | Font color (1-14). See color reference table below |
| fingerprintBackgroundColor | Integer | Text only | Background color (0-14, where 0=transparent). See color reference table below |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| result | String | [ok|error] - this field can be "ok" or "error" |
| message | String | (when ok) Success message describing what was done |
| success | Boolean | (when ok) true if fingerprint was sent successfully |
| errorText | String | (when error) Error message describing what went wrong |
COLOR REFERENCE
| Value | Color Name | Hex Code | Preview |
|---|---|---|---|
| 0 | Transparent | - | |
| 1 | White | #ffffff | |
| 2 | Black | #000000 | |
| 3 | Yellow Accent | #ffff54 | |
| 4 | Yellow | #FCEC60 | |
| 5 | Green Accent | #8EEDB3 | |
| 6 | Green | #67AD5B | |
| 7 | Blue Accent | #5589F7 | |
| 8 | Blue | #313335 | |
| 9 | Purple Accent | #CF4EF3 | |
| 10 | Purple | #9031AA | |
| 11 | Red Accent | #EC5F59 | |
| 12 | Red | #E15241 | |
| 13 | Orange | #F19D38 | |
| 14 | Orange Accent | #F3AE56 |
EXAMPLES
Text fingerprint with device ID to a specific device:
{
"fingerprintType": "text",
"fingerprintInformation": "deviceId",
"fingerprintDuration": 15,
"fingerprintTTL": 24,
"fingerprintPosition": ["topLeft", "bottomRight"],
"fingerprintFontSize": 18,
"fingerprintFontColor": 5,
"fingerprintBackgroundColor": 0
}
Dots fingerprint to all client devices:
{
"fingerprintType": "dots",
"fingerprintInformation": "deviceId",
"fingerprintDuration": 30,
"fingerprintTTL": 48
}
Success Response:
{
"result": "ok",
"message": "Fingerprint sent to device",
"success": true,
"errorText": null
}
Error Response:
{
"result": "error",
"errorText": "Invalid fingerprintType. Must be: text or dots"
}
get data
search UPDATED
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/search?entity=channels&field=name&query=HBO&limit=10" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| entity | String | The entity type to search in. Options: channels, devices, clients, radios, channel_packs, tariffs, proxies, restreamers, transcoders, regions. |
| field | String | The field to search in. Options depend on entity type: - channels: id, name, order - devices: id, uuid, code, mac - clients: id, name, address, phone, nie, email, region - radios: id, name, order - channel_packs: id, name, broadcaster, broadcaster_id - tariffs: id, name - proxies: id, name - restreamers: id, name - regions: id, name |
| query | String | The search string to match against the specified field. |
| limit | Integer | (optional) Maximum number of results to return. Default: 10 |
get channels
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| channelId | Integer | (optional) Get only information for selected channel by ID. |
get radios
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/radios/{radioId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| radioId | Integer | (optional) Get only information for selected radio by ID. |
get packs
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/packs/{packId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| packId | Integer | (optional) Get only information for selected pack by ID. |
get tariffs
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/tariffs/{tariffId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| tariffId | Integer | (optional) Get only information for selected tariff by ID. |
get devices
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/devices/{device_id}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| {device_id} | Integer | Get only information for selected device by ID. |
get clients
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/clients/{clientId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | (optional) Get only information for selected client by ID. |
get proxies
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/proxies/{proxyId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| proxyId | Integer | (optional) Get only information for selected proxy by ID. |
get restreamers
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/restreamers/{restreamerId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| restreamerId | Integer | (optional) Get only information for selected restreamer by ID. |
get transcoders
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/transcoders/{transcoderId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| transcoderId | Integer | (optional) Get only information for selected transcoder by ID. |
get server zones
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/serverZones/{zoneId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| zoneId | Integer | (optional) Get only information for selected zone by ID. |
get channels groups
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channelGroups/{groupId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| groupId | Integer | (optional) Get only information for selected group by ID. |
get device code
Base url:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/deviceCode/{clientId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | Get generated code for Dtvsol application for selected client with ID. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| deviceCode | Integer | Generated code for Dtvsol application. This code can be user to add new device. |
set data
add client
Base url:
/usr/bin/curl -ss -X POST "http://api.dtvsol.info/clients/" -H "accept: application/json" -H "Token: " -d "{\"name\":\"\",\"nie\":\"\",\"address\":\"\",\"phone\":\"\",\"email\":\"\",\"vip\":\"\",\"vod\":\"\",\"limit\":\"\",\"timeshift\":\"\",\"note\":\"\",\"data\":{\"proxyServerId\":\"\",\"tariffId\":\"\"}}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| name | String | The name of the client. |
| nie | String | (optional) Identification ID of the client. |
| address | String | (optional) Address of the client. |
| phone | String | (optional) Phone of the client. |
| String | (optional) E-mail of the client. | |
| vip | Boolean | Set if the client is VIP - do not have end date. |
| vod | Boolean | Set if the client have permission to watch VOD. |
| timeshift | Boolean | Set if the client have permission to use Catchup/Timeshift option. |
| limit | Integer | Set the device limit for this client. |
| note | String | (optional) Some extra information for this client. |
| proxyServerId | Integer | ID of proxy server where this client will be connected. |
| tariffId | Integer | ID of tariff for this client |
add device
Base url:
/usr/bin/curl -ss -X POST "http://api.dtvsol.info/devices/{clientId}" -H "accept: application/json" -H "Token: " -d "{\"code\":\"\",\"mac\":\"\",\"type\":\"\",\"proxyId\":\"\",\"tariffId\":\"\",\"note\":\"\"}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| code | Integer | (optional) This field is necessary when you add Dtvsol application as device |
| mac | String | (optional) This field is necessary when you add Dtvsol (old version) application as device. |
| type | String | You can choose of three type of devices: dtvsol, android, m3u. [dtvsol]-current Dtvsol application, [andorid]-old Dtvsol application, [m3u]-m38 playlist |
| proxyId | Integer | (optional) ID of proxy server where this device will be connected. If is not set - the system will use proxyId from client information. |
| tariffId | Integer | (optional) ID of tariff for this device. If is not set - the system will use tariffId from client information. |
| note | String | (optional) Some extra information for this device. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
| deviceId | Integet | (options) When the result is "ok", this field contain the ID of the new generated device |
change data
set PPV channel to paid (allow view - subscribe)
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/subscribeToChannel/{clientId}/{endDate}/{deviceId}/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | ID of client. |
| endDate | Date | End date in format YYYY-MM-DD |
| deviceId | Integer | ID of device. |
| channelId | Integer | ID of channel to subscribe. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
set PPV/GROUP pack to paid (allow view - subscribe) - UPDATED
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/subscribeToPack/{clientId}/{endDate}/{deviceId}/{packId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | ID of client. |
| endDate | Date | End date in format YYYY-MM-DD |
| deviceId | Integer | ID of device. |
| packId | Integer | ID of pack to subscribe. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
change data client
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/clients/{clientId}/" -H "accept: application/json" -H "Token: " -d "{\"name\":\"\",\"nie\":\"\",\"address\":\"\",\"phone\":\"\",\"email\":\"\",\"vip\":\"\",\"endDate\":\"\",\"vod\":\"\",\"limit\":\"\",\"timeshift\":\"\",\"note\":\"\",\"data\":{\"proxyServerId\":\"\",\"tariffId\":\"\"}}"
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| name | String | (optional) The name of the client. |
| nie | String | (optional) Identification ID of the client. |
| address | String | (optional) Address of the client. |
| phone | String | (optional) Phone of the client. |
| String | (optional) E-mail of the client. | |
| vip | Boolean | (optional) Set if the client is VIP - do not have end date. |
| endDate | Date | (optional) Set end date for selected client. If you set "vip=true", the system will delete endDate |
| vod | Boolean | (optional) Set if the client have permission to watch VOD. |
| limit | Integer | Set the limit of devices for this client. |
| timeshift | Boolean | (optional) Set if the client have permission to use Catchup/Timeshift option. |
| note | String | (optional) Some extra information for this client. |
| proxyServerId | Integer | (optional) ID of proxy server where this client will be connected. |
| tariffId | Integer | (optional) ID of tariff for this client |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
run Client
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/runClient/{clientId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | ID of client. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
suspend Client
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/suspendClient/{clientId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | ID of client. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
delete data
unsubscribe PPV channel
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/unSubscribeToChannel/{clientId}/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | ID of client. |
| channelId | Integer | ID of channel. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
unsubscribe PPV pack
Base url:
/usr/bin/curl -ss -X PATCH "http://api.dtvsol.info/unSubscribeToPack/{clientId}/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
| Field | Type | Description |
|---|---|---|
| clientId | Integer | ID of client. |
| channelId | Integer | ID of channel - the ID must be from selected pack. |
RETURN PARAMETERS
| Field | Type | Description |
|---|---|---|
| Result | String | [ok|error] - this field can be "ok" or "error". |
| errorText | String | (optional) When the result is "error", this field contain information. |
Errors
The Westeros API uses the following error codes:
| Error Code | Meaning |
|---|---|
| X000 | Some parameters are missing. This error appears when you don't pass every mandatory parameters. |
| X001 |
Unknown or unvalid secret_key. This error appears if you use an unknow API key or if your API key expired.
|
| X002 |
Unvalid secret_key for this domain. This error appears if you use an API key non specified for your domain. Developper or Universal API keys doesn't have domain checker.
|
| X003 |
Unknown or unvalid user token. This error appears if you use an unknow user token or if the user token expired.
|