Preferences: Save Reporting Options

POOL has an opt in program for reporting played DJ sessions to a compiled national chart called POOL TrackTrends. This endpoint allows for saving POOL Reporting options.

dj_software - selections

Save Reporting Options Specification

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

Save Media Filters Workflow

  1. URL: https://api.promoonly.com/user/save/report_options
  2. Header: Authorization: Bearer Base64(userid:token)
  3. Method: POST
  4. Returned: JSON

    Example JSON Output

    {
        "dj_software": 1,
        "report_optin": "1",
        "session_location": "/Users/test/Music/_Serato_/History/Sessions",
    }

Examples

  1. PHP (using cURL):

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

        $api_url = "https://api.promoonly.com/user/save/report_options";
        $post_fields = "dj_software=1&report_optin=1&session_location=/Users/test/Music/_Serato_/History/Sessions";

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $api_url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
        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);
    var post_data = {
            dj_software: 1,
            report_optin: 1,
            session_location: "/Users/test/Music/_Serato_/History/Sessions",
        };

    $.ajax({
        type: "POST",
        url: "https://api.promoonly.com/user/save/report_options",
        headers: { "Authorization": auth_str },
        data: post_data,
        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"
    post_data = {
            "dj_software": 1,
            "report_optin": 1,
            "session_location": "/Users/test/Music/_Serato_/History/Sessions",
        }

    b64_key = base64.b64encode("%s:%s" % (userid, token))
    headers = {"Authorization": "Bearer %s" % b64_key}
    api_url = "https://api.promoonly.com/user/save/report_options"
    result_return = requests.post(api_url, headers=headers, data=post_data)

    print(result_return.text)