POOL downloads work by distributing media to several geographical locations to ensure high download speeds to users. This API call returns available download server locations for a given Track ID. Keep in mind, downloads will be denied to users that do not have access to the Track ID from their subscription.
Example JSON Output:
[
{
"host": "dc03.promoonly.com",
"id":7
},
{
"host": "ny01.promoonly.com",
"id": 8
},
{
"host": "sl02.promoonly.com",
"id": 9
}
]
PHP (using cURL):
<?php
$userid = 1;
$token = "8b26e1e4f3f5e00a888807e605565c47";
$servers_url = "https://api.promoonly.com/download/server/337865";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $servers_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer ".base64_encode($userid.":".$token)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$servers_result = curl_exec($ch);
curl_close($ch);
$sync_obj = json_decode($servers_result);
?>
Javascript (using jQuery):
function b64EncodeUnicode(str)
{
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
function toSolidBytes(match, p1)
{
return String.fromCharCode('0x' + p1);
}));
}
var userid = 1;
var token = "8b26e1e4f3f5e00a888807e605565c47";
var auth_str = "Bearer " + b64EncodeUnicode(userid + ":" + token);
$.ajax({
type: "GET",
url: "https://api.promoonly.com/download/server/337865",
headers: { "Authorization": auth_str },
dataType: "json",
success: function (data)
{
console.log(data);
}
});
Python (using requests):
#!/usr/bin/env python
import requests
import base64
import urllib
userid = 1
token = "8b26e1e4f3f5e00a888807e605565c47"
b64_key = base64.b64encode("%s:%s" % (userid, token))
headers = {"Authorization": "Bearer %s" % b64_key}
servers_url = "https://api.promoonly.com/download/server/337865"
result_return = requests.get(servers_url, headers=headers)
print(result_return.text)