Preferences: Save Download Options

This endpoint allows for saving download options such as whether or not release folders are created for downloaded media, whether or not duplicate downloads are allowed, what action to perform when duplicate downloads are encountered (skip, ignore, etc), and where on your hard drive the downloaded media should be saved.

Save Download Options Specification

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

Save Download Options Workflow

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

    Example JSON Output

    {
        "download_location": "/Users/test/Music/pool",
        "duplicate_option": 2,
        "no_duplicates": 0,
        "release_folders": 1,
        "userid": 1
    }

Examples

  1. PHP (using cURL):

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

        $api_url = "https://api.promoonly.com/user/save/download_options";
        $post_fields = "download_location=/Users/test/Music/pool&duplicate_option=2&no_duplicates=0&release_folders=1&userid=1";

        $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);

    $.ajax({
        type: "POST",
        url: "https://api.promoonly.com/user/save/download_options",
        headers: { "Authorization": auth_str },
        data: {download_location:"/Users/test/Music/pool",duplicate_option:2,no_duplicates:0,release_folders:1,userid:1},
        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 = {"download_location":"/Users/test/Music/pool","duplicate_option":2,"no_duplicates":0,"release_folders":1,"userid":1}

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

    print(result_return.text)