There are 2 different modes for retrieving download history: paginated (set number of history results per page) and by date (some dates can be blank if no downloads occurred). The 2 different history modes are different API endpoints, this page will overview both modes.
Example JSON Output for PAGE_NUMBER=1, MEDIA_TYPE=0, VIEW_MODE=1:
{
"Count": 100,
"Downloads":
[
{
"artist": "Thalia & Mau Y Ricky",
"date": "1583517351",
"downloads": 6,
"file_format": "mp3",
"media_type": 2,
"release": "Ya Tu Me Conoces",
"releaseid": 55515
},
{
"artist": "Sam Fischer",
"date": "1583517333",
"downloads": 1,
"file_format": "mp3",
"media_type": 2,
"release": "This City",
"releaseid": 55514
},
{
"artist": "Mc Ceja",
"date": "1583515291",
"downloads": 5,
"file_format": "mp3",
"media_type": 2,
"release": "Mastika",
"releaseid": 55516
},
{
"artist": "Natti Natasha",
"date": "1583515267",
"downloads": 1,
"file_format": "mp3",
"media_type": 2,
"release": "Me Estas Matando",
"releaseid": 55520
}
]
}
PHP (using cURL):
<?php
$userid = 1;
$token = "8b26e1e4f3f5e00a888807e605565c47";
$history_url = "https://api.promoonly.com/download/history/1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $history_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer ".base64_encode($userid.":".$token)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$history_result = curl_exec($ch);
curl_close($ch);
$history_obj = json_decode($history_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/history/1",
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}
history_url = "https://api.promoonly.com/download/history/1"
result_return = requests.get(history_url, headers=headers)
print(result_return.text)
Example JSON Output for PAGE_NUMBER=1, MEDIA_TYPE=0, VIEW_MODE=1:
{
"Count": 100,
"Downloads":
[
{
"artist": "Thalia & Mau Y Ricky",
"date": "1583517351",
"downloads": 6,
"file_format": "mp3",
"media_type": 2,
"release": "Ya Tu Me Conoces",
"releaseid": 55515
},
{
"artist": "Sam Fischer",
"date": "1583517333",
"downloads": 1,
"file_format": "mp3",
"media_type": 2,
"release": "This City",
"releaseid": 55514
},
{
"artist": "Mc Ceja",
"date": "1583515291",
"downloads": 5,
"file_format": "mp3",
"media_type": 2,
"release": "Mastika",
"releaseid": 55516
},
{
"artist": "Natti Natasha",
"date": "1583515267",
"downloads": 1,
"file_format": "mp3",
"media_type": 2,
"release": "Me Estas Matando",
"releaseid": 55520
}
]
}
PHP (using cURL):
<?php
$userid = 1;
$token = "8b26e1e4f3f5e00a888807e605565c47";
$history_url = "https://api.promoonly.com/download/history_date/2020-04-06";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $history_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer ".base64_encode($userid.":".$token)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$history_result = curl_exec($ch);
curl_close($ch);
$history_obj = json_decode($history_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/history_date/2020-04-06",
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}
history_url = "https://api.promoonly.com/download/history_date/2020-04-06"
result_return = requests.get(history_url, headers=headers)
print(result_return.text)