Get licence information from MediaLive Multidrm server
Please refer to MediaLive platform API.
HTTP URL
This API mdrmService.isContentAuthorised
is called by sending a HTTP GET request to: http://<server>:<port>/hue-gateway/gateway/http/js/mdrmService/isContentAuthorised.
The endpoint (server, port) is configurable in MDRM-Manager.
HTTP headers
This SDP service requires HTTP basic authentication.
Name | Type | Description | Always Present |
---|---|---|---|
x-correlation-id | string | A unique identifier to correlate logs corresponding to a request through the entire Multiscreen system. | Yes |
Accept | string | Standard HTTP header. Will include | No |
| string | Content ID; The unique identifier assigned to the content by the CMS | Yes |
arg1 | string | Private Data; Data passed from the client in the JSON format. This argument contains the user device zone location. | No |
| string | A token acquired during client sign-on. The Portal decrypts the authToken and retrieves the account and/or device information required for license authorization. | Yes |
URI Parameters
Example request URI
http://mySDPServer.com:80/hue-gateway/gateway/http/js/mdrmService/isContentAuthorized?token=zxcvb&arg0=12345678&arg1={"locality": "XYZ", "isDownload": true}
Body
The body of this request is empty.
Response
HTTP 200 with JSON payload.
Name | Type | Description | Always Present |
---|---|---|---|
| String, always "AUTHORIZED" or "NOT_AUTHORIZED" | The authorization status of the request. | Yes |
| string | Unique identifier for the client account. | No (Yes for AUTHORIZED responses) |
| UsageRulesType (see below) | The criteria for creating the license. Present only for Authorized responses. | No |
| JSON map of strings | Optional parameter to convey additional information if required. The contents are a JSON map, i.e. key-value pairs. SPD currently uses this field to present one parameter, "casProductId" | No |
keyDeliveryWindow | KeyDeliveryWindow (see below) | If 'Live PPV License' is enabled, when no live subscription exists for the requested DRM ID, PPV event timings will be included. For other scenarios, keyDeliveryWindow will be NULL. | Yes |
UsageRulesType
Name | Type | Description | Always Present |
---|---|---|---|
ViewingNumber | integer | The viewing number | No |
expiryDate | long | The time at which the license should expire. Milliseconds since Epoch | No |
startDate | long | The start time of the license. Milliseconds since Epoch | No |
consumptionWindow | string | The content consumption window. | No |
LicenseExpiryDuration | integer | The expiry duration of the license. | No |
isStorageAllowed | boolean | A flag stating whether persistence of the entitlement is allowed on the device. | No |
fixedRuleset.digitalOutputBitrate | float: a value in increments of 0.1 | The capped bitrate, when digital output is "BestEffortWithBitrateCapping", where the value is defined in Mbits/s in increments of 0.1. | Only when digitalOutput is "BestEffortWithBitrateCapping" |
fixedRuleset.analogOutputBitrate | float: a value in increments of 0.1 | The capped bitrate, when analogOutput is "BestEffortWithBitrateCapping", where the value is defined in Mbits/s in increments of 0.1. | Only when analogOutput is "BestEffortWithBitrateCapping" |
isViewingWindowFloating; | boolean | Boolean value to enable/disable floating viewing window (usually possible when the licence is stored in the device) | No |
Key delivery window
Name | Type | Description | Always Present |
---|---|---|---|
beginDate | long | PPV event's start time - guard padding time | Yes |
endDate | long | PPV event's end time + guard padding time | Yes |
Example authorized response
{
"resultCode": "0",
"result": {
"isAuthorized" : "AUTHORIZED",
"accountNumber" : "12345",
"keydeliverywindow": {
"beginDate" : "1234236612725",
"endDate" : "1234556667775",
},
"usageRules": {
"viewingNumber" : 12345,
"expiryDate" : "1234556667775",
"startDate" : "1234556667775",
"consumptionWindow" : 1000,
"licenseExpiryDuration" : 200,
"isStorageAllowed" : true
},
"casProductId" : "IQ3-ASSET-VOD"
}
}
Example NOT authorized response
{
"resultCode": "0",
"result": {
"isAuthorized" : "NOT_AUTHORIZED"
}
}
Error response
HTTP error response with JSON payload
Name | Type | Description | Always Present |
---|---|---|---|
| string | SDP Error code. | Yes |
| string | A text message explaining the error | Yes |
| string | A localized text message explaining the error | No |
Example response
{
"resultCode": "85102",
"result": "Service method mdrmService.isDeviceAuthorised throw exception \"tv.quative.service.ServiceException: ErrorCode: [code=85102, severity=ERROR] Unable to decrypt the token, token is invalid\"",
"localeMessage": "none"
}