PlayReady license token request / response playready-license-token-request-response
The PlayReady license token interface provides production and test services.
This HTTP request returns a token that can be redeemed for a PlayReady license.
Method: GET, POST (with a www-url-encoded body that contains parameters for both methods)
URLs:
-
Production:
https://pr-gen.{prod_domain}/hms/pr/token -
Test:
[https://pr-gen.test.expressplay.com/hms/pr/token](https://pr-gen.test.expressplay.com/hms/pr/token) -
Sample request:
code language-none <xref href="https: pr-gen.test.expressplay.com="" hms="" pr="" token?customerAuthenticator="201722,1ad8eed133edf43cbcc185f0236828ae&kid=b366360da82e9c6e0b0984002a362cf2&contentKey=b366360da82e9c6e0b0984002a362cf2&rightsType=BuyToOwn&analogVideoOPL=0&compressedDigitalAudioOPL=0&compressedDigitalVideoOPL=0&uncompressedDigitalAudioOPL=0&uncompressedDigitalVideoOPL=0" format="html" scope="external""> https://pr-gen.test.expressplay.com/hms/pr/token?customerAuthenticator= <ExpressPlay customer authenticator identifier> &kid=<CEKSID> &contentKey=<CEK> &rightsType=BuyToOwn &analogVideoOPL=0 &compressedDigitalAudioOPL=0 &compressedDigitalVideoOPL=0 &uncompressedDigitalAudioOPL=0 &uncompressedDigitalVideoOPL=0 </xref href="https:> -
Sample Response:
code language-none {"licenseAcquisitionUrl":"https://expressplay-licensing.axprod.net/LicensingService.ashx", "token":"<base64-encoded ExpressPlay token>"}
Request Query Parameters section_26F8856641A64A46A3290DBE61ACFAD2
Table 9: Token Query Parameters
Either html or json. If html (the default) an HTML representation of any errors is provided in the entity body of the response.
If json is specified, a structured response in JSON format is returned. See JSON Errors for details.
The mime type of the response is either text/uri-list on success, text/html for HTML error format, or application/json for JSON error format.
Table 10: License Query Parameters
A 4 byte hexadecimal string representing the license flags. It must be set to ‘00000001' for a persistent license.
Note: Rental licenses ( rightsType=Rental) MUST be persistent.
Rental end date. This value MUST be in the ‘RFC 3339' _ date/time format in the ‘Z' zone designator ("Zulu time") format, or an integer preceded by a '+' sign.
If the value is a RFC 3339 date/time format, then it represents an absolute expiration date/time for the license. An example of an RFC 3339 date/time is 2006-04-14T12:01:10Z.
If the value is an integer preceded by a '+' sign, it is taken as a relative number of seconds from the time the token is issued. The content cannot be played after this time. Only valid if rightsType is Rental.
Responses section_0079C31B4AF14DBBB6277CF251FB90E3
Table 11: HTTP Responses
200 OKtext/uri-list400 Bad Requesttext/html or application/json401 Unauthorizedtext/html or application/json404 Not foundtext/html or application/json50x Server Errortext/html or application/jsonTable 12: Event Error Codes
Authentication token invalid: <details>
Note: This can happen if the authenticator is wrong or when accessing the test API at *.test.expressplay.com using the production authenticator and vice versa.
Note: The Test SDK and Advanced Test Tool (ATT) only work with *.test.expressplay.com, whereas production devices must use *.service.expressplay.com.