/
Products and licensing

Products and licensing

These guidelines are obsolete, see Licenses API v4

Introduction

AminoTV supports grouping a number of channels together as a single license-able product. 

The configuration of what channels are included in a product forms part of our BSS integration and is managed by the Enviro, our configuration management system.

Users can be licensed to a product, and their license may be in one of several states.

This page focuses on managing the actual licenses.  Other API's, such as the /wiki/spaces/MAPI/pages/49676405 will not disclose the details of the license but will show you only the effect.

Use cases

List subscribed products for a user

The client can fetch a list of products for a user by calling the endpoint detailed below.

Request

Method typeURLAuthorization
GEThttps://boox.fi/api/user/<email>/productService, User

Query strings

Please note that M is for Mandatory and O for Optional.

ParameterM/ODescription
titleOFilter the result based on title of the product. Defaults to none.
outputOChoose amount of details to show for each program. Options are “minimal”, “normal” and “full”. Defaults to “normal”.
catOFilter the result based on a specific category. Possible values are “vod”,“channel”. Defaults to none.
premiumOFilter the result based on whether the product is premium or not. Possible values are “true” and “false”. Defaults to none.
tagOFilter the result based on associated tags. Defaults to no filtering.
typeOFilter by type of product. Possible values are "SVOD", "TVOD", "CATEGORY", "SEASON", "SERIES", "SEASON_GROUP", "SERIES_GROUP", "CATCHUP", "CHANNELNCATCHUP", "SEQUEL". Defaults to no filtration based on this parameter.
sortOSorting order of the listing. Defaults to rank__desc. The parameters are divided into two parts: first specifying the field, and the second, specifying the order. These two fields are concatenated by “__”. Other options in field value are “title”, “rank”, “tagrank”. Options in order are “asc” and “desc”
includeOComma separated list of related items to include. Possible values are "none", "vod", "channel", "vod__streams", "vod__streams__products", "vod__thumbnails", "vod__cast", "vod__purchaseOptions", "vod__categories", "vod__subtitles", "channel__product", "channel__categories", "channel__liveservice", "channel__recordingservice", "licensingWindows" .Defaults to none.
langOChoose the output language as defined in Server Response > Generic data-types > Language. Defaults to 'en-US'.
futureOThis param is used to include future visible content in API response. It accept "true" as value to add products which will be displayed in future
providerOFilter by provider. Possible values are any valid identifier of provider. Defaults to no option.

Example response

Example product response
{
"productList": {
"description": "Product listing",
"products": [
        {
            "id": 580,
            "title": "Most Viewed",
            "thumbnailUrl": "",
            "detailUrl": "<domain-name>/api/user/guest/product/580?service=unitedclient",
            "detailHtmlUrl": "<domain-name>/ui/user/guest/product/580?ssid=5566aa55d83211.31197725&usid=&service=unitedclient&options=buy",
            "type": "CATEGORY",
            "hybrisId": "",
            "isPremium": false,
            "description": "Most viewed products",
            "recurring": false,
            "price": 0,
            "currency": "EUR",
            "duration": 0,
            "promo": false,
            "isUserAuthorized": false,
            "visible": true,
            "programCount": 1,
            "seasonCount": 1,
            "channelCount": 0,
            "iphoneProductId": "com.booxmedia.booxTV.action",
            "ipadProductId": "com.booxmedia.booxTViPad.action",
            "isBuyable": false,
            "visibilityStartTime": "",
            "visibilityEndTime": "",
            "creationTime": "",
            "displayNew": false,
            "lastChance": false,
            "tags":
            [
                "home"
            ],
            "rank": 100
            "provider": "cmore.fi"
        },
        {
            "id": 28,
            "title": "Latest Movies",
            "thumbnailUrl": "",
            "detailUrl": "<domain-name>/api/user/guest/product/28?service=unitedclient",
            "detailHtmlUrl": "<domain-name>/ui/user/guest/product/28?ssid=5566aa55d83211.31197725&usid=&service=unitedclient&options=buy",
            "type": "CATEGORY",
            "hybrisId": "",
            "isPremium": false,
            "description": "Latest Movies",
            "recurring": false,
            "price": 0,
            "currency": "EUR",
            "duration": 0,
            "promo": false,
            "isUserAuthorized": false,
            "visible": true,
            "programCount": 40,
            "seasonCount": 40,
            "channelCount": 0,
            "iphoneProductId": "",
            "ipadProductId": "",
            "isBuyable": false,
            "visibilityStartTime": "",
            "visibilityEndTime": "",
            "creationTime": "",
            "displayNew": false,
            "lastChance": false,
            "tags":
            [
                "home",
                "featured",
                "movie"
            ],
            "rank": 0
            "provider": "cmore.fi"
        },
        {
            "id": 565,
            "title": "Action",
            "thumbnailUrl": "",
            "detailUrl": "<domain-name>/api/user/guest/product/565?service=unitedclient",
            "detailHtmlUrl": "<domain-name>/ui/user/guest/product/565?ssid=5566aa55d83211.31197725&usid=&service=unitedclient&options=buy",
            "type": "CATEGORY",
            "hybrisId": "",
            "isPremium": false,
            "description": "Action Movies container",
            "recurring": false,
            "price": 0,
            "currency": "EUR",
            "duration": 0,
            "promo": false,
            "isUserAuthorized": false,
            "visible": true,
            "programCount": 15,
            "seasonCount": 15,
            "channelCount": 0,
            "iphoneProductId": "",
            "ipadProductId": "",
            "isBuyable": false,
            "visibilityStartTime": "",
            "visibilityEndTime": "",
            "creationTime": "",
            "displayNew": false,
            "lastChance": false,
            "tags":
            [
                "movie"
            ],
            "rank": 0
            "provider": "cmore.fi",
        }
    ]
}


List all licenses for a user

To list all of the licenses for a user you will call the endpoint detailed below with only the "service" parameter set.

For example:

GET https://customer.domain/api/user/demo_user@aminocom.com/license?service=example_service

Request

Method typeURLAuthorization
GEThttps://customer.domain/api/user/<email>/licenseService, User

Query strings

Please note that M is for Mandatory and O for Optional.

ParameterM/ODescription
pgOPage number if the results have more items than ipp
ippOMaximum number of result items per page
ServiceMService to which the user belongs.
StatusOFilter the result of a specific status. Possible values are "active", "suspended" and "expired". Defaults to none.
OutputOChoose amount of details to show for each program. Options are "minimal", "normal" and "full". Defaults to "normal"
pidOFilter licenses for a specific product, identified by its "id". Defaults to none
payment_methodOFilter licenses for a specific payment mehtod. Possible values are , 'all', 'credit_card', 'wallet', 'voucher'. Defaults to all
supported_deviceOFilter licenses for a specific device. Possible values are , 'all', 'web', 'mobile', 'tablet', 'tv'. Defaults to all

Response

Example JSON response
{
    "license": {
        "resultSet": {
            "totalItems": 1,
            "totalPages": 1,
            "itemsPerPage": 1000,
            "currentPage": 0,
            "offset": 0
        },
        "licenseList": {
            "description": "User licenses",
            "licenses": [
                {
                    "id": "1",
                    "status": "ACTIVE",
                    "startDate": "2013-01-11 16:22:13",
                    "stopDate": "2013-01-11 16:22:18",
                    "purchaseDate": "2013-01-11 16:22:22",
                    "currency": "EUR",
                    "paymentMethod": "credit_card",
                    "price": 1.0,
                    "productUrl": "https://boox.fi/api/user/waqqas.jabbar%40gmail.com/product/2?service=sevice1",
                    "recurring": false
                }
            ]
        }
    }
}


List all valid licenses for a user

You can get a list of the valid licenses by specifying a "Status" filter on the url, as in the following example:

GET https://customer.domain/api/user/demo_user@aminocom.com/license?service=example_service&Status=active

List all invalid licenses for a user

You can get a list of the invalid licenses by specifying a "Status" filter on the url, as in the following example:

GET https://customer.domain/api/user/demo_user@aminocom.com/license?service=example_service&Status=expired

Related content