Downloads: Available Servers for Track

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.

Available Servers for Track Specification

Parameters: Header variables:
  1. userid: integer
  2. token: string
Data list returned:

Available Servers for Track Workflow

  1. URL: https://api.promoonly.com/download/server/TRACK_ID
  2. Header: Authorization: Bearer Base64(userid:token)
  3. Method: GET
  4. Returned: JSON

    Example JSON Output:

    [
        {
            "host": "dc03.promoonly.com",
            "id":7
        },
        {
            "host": "ny01.promoonly.com",
            "id": 8
        },
        {
            "host": "sl02.promoonly.com",
            "id": 9
        }
    ]

Examples

  1. 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);
    ?>
  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/server/337865",
        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}
    servers_url = "https://api.promoonly.com/download/server/337865"
    result_return = requests.get(servers_url, headers=headers)

    print(result_return.text)