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"
}