Products and licensing
- Andy Beak (Unlicensed)
- Former user (Deleted)
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 type | URL | Authorization |
---|---|---|
GET | https://boox.fi/api/user/<email>/product | Service, User |
Query strings
Please note that M is for Mandatory and O for Optional.
Parameter | M/O | Description |
---|---|---|
title | O | Filter the result based on title of the product. Defaults to none. |
output | O | Choose amount of details to show for each program. Options are “minimal”, “normal” and “full”. Defaults to “normal”. |
cat | O | Filter the result based on a specific category. Possible values are “vod”,“channel”. Defaults to none. |
premium | O | Filter the result based on whether the product is premium or not. Possible values are “true” and “false”. Defaults to none. |
tag | O | Filter the result based on associated tags. Defaults to no filtering. |
type | O | Filter 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. |
sort | O | Sorting 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” |
include | O | Comma 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. |
lang | O | Choose the output language as defined in Server Response > Generic data-types > Language. Defaults to 'en-US'. |
future | O | This 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 |
provider | O | Filter by provider. Possible values are any valid identifier of provider. Defaults to no option. |
Example 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 type | URL | Authorization |
---|---|---|
GET | https://customer.domain/api/user/<email>/license | Service, User |
Query strings
Please note that M is for Mandatory and O for Optional.
Parameter | M/O | Description |
---|---|---|
pg | O | Page number if the results have more items than ipp |
ipp | O | Maximum number of result items per page |
Service | M | Service to which the user belongs. |
Status | O | Filter the result of a specific status. Possible values are "active", "suspended" and "expired". Defaults to none. |
Output | O | Choose amount of details to show for each program. Options are "minimal", "normal" and "full". Defaults to "normal" |
pid | O | Filter licenses for a specific product, identified by its "id". Defaults to none |
payment_method | O | Filter licenses for a specific payment mehtod. Possible values are , 'all', 'credit_card', 'wallet', 'voucher'. Defaults to all |
supported_device | O | Filter licenses for a specific device. Possible values are , 'all', 'web', 'mobile', 'tablet', 'tv'. Defaults to all |
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