Downloads: Download History

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.

Download History: Paginated Specification

Parameters: Header variables:
  1. userid: integer
  2. token: string
View Mode (Track) Data list returned: View Mode (Release) Data list returned:

Download History: Paginated Workflow

  1. URL: https://api.promoonly.com/download/history/PAGE_NUMBER/MEDIA_TYPE/VIEW_MODE
  2. Header: Authorization: Bearer Base64(userid:token)
  3. Method: GET
  4. PAGE_NUMBER: Integer page, most recent download history is 1
  5. MEDIA_TYPE (optional): 0 = all downloads, 1 = video downloads, 2 = audio downloads
  6. VIEW_MODE (optional): 1 = tracks, 2 = releases
  7. Returned: JSON

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

Examples

  1. 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);
    ?>
  2. 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);
        }
    });
  3. 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)

Download History: Date Specification

Parameters: Header variables:
  1. userid: integer
  2. token: string
View Mode (Track) Data list returned: View Mode (Release) Data list returned:

Download History: Date Workflow

  1. URL: https://api.promoonly.com/download/history_date/DATE/MEDIA_TYPE/VIEW_MODE
  2. Header: Authorization: Bearer Base64(userid:token)
  3. Method: GET
  4. DATE: YYYY-MM-DD format
  5. MEDIA_TYPE (optional): 0 = all downloads, 1 = video downloads, 2 = audio downloads
  6. VIEW_MODE (optional): 1 = tracks, 2 = releases
  7. Returned: JSON

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

Examples

  1. 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);
    ?>
  2. 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);
        }
    });
  3. 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)