


{"id":11101,"date":"2017-09-10T02:15:00","date_gmt":"2017-09-10T02:15:00","guid":{"rendered":"https:\/\/expressplay.local\/?page_id=11101"},"modified":"2021-09-27T12:45:14","modified_gmt":"2021-09-27T19:45:14","slug":"tutorial-test-token","status":"publish","type":"page","link":"https:\/\/www.expressplay.com\/es\/developer\/tutorial-test-token\/","title":{"rendered":"Tutorial: Test Token Generation"},"content":{"rendered":"<style type=\"text\/css\">\n    hr {<br \/>        margin: 20px 0;<br \/>    }<\/p>\n<p>    code {<br \/>        word-break: break-all;<br \/>        white-space: pre-wrap;<br \/>        font-size: 14px;<br \/>        color: #555;<br \/>        margin: 20px 0;<br \/>    }<br \/><\/style>\n<p><!-- Version Disclaimer - to LEGACY version \/\/ --><\/p>\n<div style=\"border: 1px solid #ddd; padding: 20px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -khtml-border-radius: 5px; margin-bottom: 20px;\">\n<div>\n<h3 style=\"margin-top: 5px;\"><span style=\"font-weight: 600;\">NOTE:<\/span> We\u2019ve recently updated our service. <a href=\"\/es\/developer\/portal-update\/\">Aprende m\u00e1s<\/a><\/h3>\n<p>If we\u2019ve <strong>not yet<\/strong> migrated you to the new service, <a href=\"\/es\/developer\/tutorial-test-token-legacy\/\"><br \/>\nclick here to see the <strong>Legacy<\/strong> Token Generation Tutorial<br \/>\n<\/a><\/p>\n<\/div>\n<\/div>\n<div class=\"flex flex-wrap -mx-6\">\n<div class=\"w-full lg:w-7\/12 px-6\">\n<h2>Token Generation<\/h2>\n<h4 style=\"font-size: 18px; font-weight: 400;\">This tutorial explains the two methods available for generating Test Tokens.<\/h4>\n<div class=\"box20 rounded top30\">\n<h4 style=\"margin-bottom: 10px; font-weight: 400; font-size: 20px;\">Requirements<\/h4>\n<ul class=\"tutorial_container\">\n<li>Packaged Content<\/li>\n<li>Content Key<\/li>\n<li>Content ID<\/li>\n<li>Content Location (URL)<\/li>\n<li><a href=\"\/es\/developer\/customer-authenticator\/\" target=\"_blank\" rel=\"noopener noreferrer\">Customer Authenticator<\/a><\/li>\n<\/ul>\n<\/div>\n<p style=\"clear: both; margin-top: 20px;\">Tokens are generated using the ExpressPlay REST API, Full API documentation can be found <a href=\"\/es\/developer\/restapi\/\" target=\"_blank\" rel=\"noopener noreferrer\">aqu\u00ed<\/a>. Use of the API requires either your Test or Production <a href=\"\/es\/developer\/customer-authenticator\/\" target=\"_blank\" rel=\"noopener noreferrer\">Customer Authenticator<\/a>, found at <a href=\"https:\/\/portal.expressplay.com\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">https:\/\/portal.expressplay.com<\/a><\/p>\n<\/div>\n<div class=\"w-full lg:w-5\/12\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2017\/08\/developer-cloud-large.png\" alt=\"ExpressPlay\" \/><\/div>\n<\/div>\n<hr \/>\n<div>\n<div class=\"mb-12 mt-12\">\n<p>Generating MS3 Tokens with the REST API<\/p>\n<\/div>\n<p><span style=\"font-size: 15px;\"><br \/>\nIn addition the a Customer Authenticator the <a href=\"\/es\/developer\/restapi\/#ms3-token-request\" target=\"_blank\" rel=\"noopener noreferrer\">MS3 Token Request API<\/a>, requires the content key, Content ID and the content hosting location in URL form.<br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 15px;\"><br \/>\nThe parameters should be formatted into a RESTful POST or GET request similar to how the list of parameters below is formated to create the subsequent RESTful call.<br \/>\n<\/span><\/p>\n<div class=\"bg-grey-100 p-8 mb-12 mt-12\">\n<p><code>Content ID = urn:marlin:kid:67895432987623454756654729382341<br \/>\nContent Key = 43210987123478904321098712340987<br \/>\nContent URL = https:\/\/www.expressplay.com\/ep\/video\/ExpressPlayerDASH-BBB\/stream.mpd<\/code><\/p>\n<p>https:\/\/ms3-gen.test.expressplay.com\/hms\/ms3\/token?customerAuthenticator=YOUR_CUSTOMER_AUTHENTICATOR&#038;contentId=urn:marlin:kid:67895432987623454756654729382341&#038;contentKey=43210987123478904321098712340987&#038;contentURL=https:\/\/www.expressplay.com\/ep\/video\/ExpressPlayerDASH-BBB\/stream.mpd<\/p>\n<\/div>\n<p><span style=\"font-size: 15px;\"><br \/>\nNote: In the case of HLS content, you should use the &#8216;hls:\/\/&#8217; protocol identifier in the contentURL parameter. For DASH and MP4, you use http or https as appropriate. In the case of the DASH example above you should get an MS3 token similar to the one shown below.<br \/>\n<\/span><\/p>\n<div class=\"bg-grey-100 p-8 mb-12 mt-12\"><code>https:\/\/ms3.test.hostedmarlin.com:8443\/hms\/ms3\/rights\/?b=AAwAAwAAAxkAAlRXPGAAECBR0l7K6dxdkxUSrLNplXUAcDb87DeJyouvcWEmW_-VnmUCGj3vNRJP5f3R_455AWnHcflhQYwJ-O1XUvJYJGK_xtVeEXdJ6DFnwSyo5sRo0ewSCcp-S3MDZGtH2KvXzPBawG45q-VUIc9h2qBpjlnbmqzDkSXpNDm8SwKE0v2MzY0AAAAU6O8AXt97WK0NMFGHgfcAidReoRE#https%3A%2F%2Fwpengine.intertrust.com%2Fep%2Fvideo%2FExpressPlayerDASH-BBB%2Fstream.mpd<\/code><\/div>\n<div class=\"mb-12 mt-12 clearfix\">\n<p>Generating Marlin Broadband (BB) Tokens with the REST API<\/p>\n<\/div>\n<p><span style=\"font-size: 15px;\"><br \/>\nIn addition to a Customer Authenticator the Marlin BB tokens API requires the Content ID, Content Key and the token type. The parameters should be formatted into a RESTful POST or GET request similar to the one demonstrated below.<br \/>\n<\/span><\/p>\n<div class=\"bg-grey-100 p-8 mb-12 mt-12\"><code><code>Content ID = bigbuckbunnyhls<br \/>\nContent Key = 12345678123456781234567812345678<br \/>\ntokenType = BuyToOwn<br \/>\nactionTokenType = 1<\/code><\/code>https:\/\/bb-gen.test.expressplay.com\/hms\/bb\/token?customerAuthenticator=YOUR_CUSTOMER_AUTHENTICATOR&amp;contentId=urn:marlin:kid:67895432987623454756654729382341&amp;contentKey=43210987123478904321098712340987&amp;rightsType=BuyToOwn&amp;actionTokenType=1<\/div>\n<p><span style=\"font-size: 15px;\"><br \/>\nThe token returned will be an XML document similar to the one below.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"bg-grey-100 p-8 mb-12 mt-12\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?&gt;<br \/>\n&lt;ActionToken xmlns=\"urn:marlin:broadband:1-2:nemo:services:action-token\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"&gt;<br \/>\n&lt;ConfigurationInfo broadbandServiceId=\"urn:marlin:organization:seacert:eval-marlin-service:500\" configVersion=\"3\"&gt;<br \/>\n&lt;ResourceLocation&gt;http:\/\/bb.test.expressplay.com:80\/mbs\/ConfigurationToken.xml&lt;\/ResourceLocation&gt;<br \/>\n&lt;\/ConfigurationInfo&gt;<br \/>\n&lt;LicenseAcquisition&gt;<br \/>\n&lt;Type&gt;personality&lt;\/Type&gt;<br \/>\n&lt;BusinessToken&gt;<br \/>\nAAwABAAAAxkAAlRXaYEAEBhzH0wTHhRn5EBGS0pbqEoAoCBjaAazeycCRIT8q4kcAFCpT74HxWQy<br \/>\nDUwa4O3yk21TffMdAEjN+pz72o7iv2n97LMXZVcJp3Fn3+LLS3HAj\/X24Agp\/DgR6WPcb0hGU+Sj<br \/>\nXxvRg+3UMJJT85AyqbpwrYkezElT5ZMp4tRWQ3GB5rkq99XrZsXhyRT4ebP9inCoAOOTJPDPxd14<br \/>\nOqCDBtwq7x6gJTi0fIzGJrJt2qEFhVsAAAAUP4W7RLhF\/N38mysAlL970qcrVzM=<br \/>\n&lt;\/BusinessToken&gt;<br \/>\n&lt;\/LicenseAcquisition&gt;<br \/>\n&lt;\/ActionToken&gt;<br \/>\n<\/code><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>NOTE: We\u2019ve recently updated our service. Learn more If we\u2019ve not yet migrated you to the new service, click here to see the Legacy Token Generation Tutorial Token Generation This tutorial explains the two methods available for generating Test Tokens. Requirements Packaged Content Content Key Content ID Content Location (URL) Customer Authenticator Tokens are generated [&hellip;]<\/p>\n","protected":false},"author":124,"featured_media":0,"parent":10924,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-expressplay-developer.php","meta":{"_acf_changed":false,"footnotes":""},"tax_page_type":[512],"coauthors":[621],"class_list":["post-11101","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.expressplay.com\/es\/wp-json\/wp\/v2\/pages\/11101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.expressplay.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.expressplay.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.expressplay.com\/es\/wp-json\/wp\/v2\/users\/124"}],"replies":[{"embeddable":true,"href":"https:\/\/www.expressplay.com\/es\/wp-json\/wp\/v2\/comments?post=11101"}],"version-history":[{"count":0,"href":"https:\/\/www.expressplay.com\/es\/wp-json\/wp\/v2\/pages\/11101\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.expressplay.com\/es\/wp-json\/wp\/v2\/pages\/10924"}],"wp:attachment":[{"href":"https:\/\/www.expressplay.com\/es\/wp-json\/wp\/v2\/media?parent=11101"}],"wp:term":[{"taxonomy":"tax_page_type","embeddable":true,"href":"https:\/\/www.expressplay.com\/es\/wp-json\/wp\/v2\/tax_page_type?post=11101"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.expressplay.com\/es\/wp-json\/wp\/v2\/coauthors?post=11101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}