Preferences: Save Media Filters

POOL content can be filtered by media type. This endpoint allows you to save those media filters. The media available for filtering with their variable names are listed below.

Save Media Filters 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/media_filters
  2. Header: Authorization: Bearer Base64(userid:token)
  3. Method: POST
  4. Returned: JSON

    Example JSON Output

    [
        {
            "filter": "Audio",
            "type": "media",
            "mode": "hide_audio",
            "hide": 0
        },
        {
            "filter": "HD Video",
            "type": "media",
            "mode": "hide_hd",
            "hide": 0
        },
        {
            "filter": "Specialty",
            "type": "media",
            "mode": "hide_specialty",
            "hide": 0
        },
        {
            "filter": "Hide Content with a Warning",
            "type": "misc",
            "mode": "hide_content_warn",
            "hide": 1
        },
        {
            "filter": "Hide Content marked as Explicit",
            "type": "misc",
            "mode": "hide_explicit",
            "hide": 1
        },
        {
            "filter": "Hide all single releases",
            "type": "misc",
            "mode": "hide_singles",
            "hide": 0
        },
        {
            "filter": "Show only audio singles",
            "type": "misc",
            "mode": "show_only_singles",
            "hide": 0
        }
    ]

Examples

  1. PHP (using cURL):

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

        $api_url = "https://api.promoonly.com/user/save/media_filters";
        $post_fields = "hide_audio=0&hide_hd=0&hide_singles=0&hide_content_warning=1";
        $post_fields .= "&hide_explicit=1&noteworthy_only=0&show_only_singles=0";

        $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 = {
            hide_audio: 0,
            hide_hd: 0,
            hide_singles: 0,
            hide_content_warning: 1,
            hide_explicit: 1,
            country: 0,
            rock: 1,
            christian: 0,
            alternative: 1
        };

    $.ajax({
        type: "POST",
        url: "https://api.promoonly.com/user/save/media_filters",
        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 = {
            "hide_audio": 0,
            "hide_hd": 0,
            "hide_singles": 0,
            "hide_content_warning": 1,
            "hide_explicit": 1,
            "country": 0,
            "rock": 1,
            "christian": 0,
            "alternative": 1
        }

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

    print(result_return.text)