Reporting: Supported Programs

With the ability to report with a formatted JSON string with this endpoint Report Session, compatibility with DJ programs is virutally limitless. However the POOL application will automatically process and translate session files from specific DJ programs into this universal syntax for track reporting. This endpoint will return the list of DJ programs that are currently supported by POOL.

Supported Programs Specification

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

Supported Programs Workflow

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

    Example JSON Output

    [
        {
            "extension": "session",
            "id": 1,
            "program": "Serato DJ",
            "select": 1
        },
        {
            "extension": "session",
            "id": 2,
            "program": "Serato Scratch LIVE",
            "select": 0
        },
        {
            "extension": "nml",
            "id": 3,
            "program": "Traktor",
            "select": 0
        },
        {
            "extension": "txt",
            "id": 4,
            "program": "Virtual DJ",
            "select": 0
        },
        {
            "extension": "edb",
            "id": 5,
            "program": "rekordbox",
            "select": 0
        }
    ]

Examples

  1. PHP (using cURL):

    <?php
        $userid = 1;
        $token = "8b26e1e4f3f5e00a888807e605565c47";

        $api_url = "https://api.promoonly.com/tracktrends/programs";

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $api_url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer ".base64_encode($userid.":".$token)));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $api_result = curl_exec($ch);
        curl_close($ch);

        $api_obj = json_decode($api_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/tracktrends/programs",
        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}
    api_url = "https://api.promoonly.com/tracktrends/programs"
    result_return = requests.get(api_url, headers=headers)

    print(result_return.text)