Downloads: Download Success

Upon successful download, a signal needs to be sent to the API in order to mark that media as having been downloaded successfully. This API endpoint facilitates marking media as successfully downloaded, so that its status can be reflected across all platforms.

Download Success Specification

Parameters: POST variables:
  1. trackid: Integer
  2. serverid: Integer
  3. dl_token: String
Header variables:
  1. userid: integer
  2. token: string
JSON returned:

Download Success Workflow

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

    Example JSON Output

    {
        "releaseid": 53719,
        "result": "success",
        "titleid": 616165,
        "type": "mp3"
    }

Examples

  1. PHP (using cURL):

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

        $success_url = "https://api.promoonly.com/download/success";
        $post_fields = "trackid=354045&serverid=0&dl_token=99478209682bc8624f81d26a5e3de1fb";

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $success_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);

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

        $success_obj = json_decode($remove_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/download/remove/356111",
        headers: { "Authorization": auth_str },
        data: { trackid: 354045, serverid: 0, dl_token: "99478209682bc8624f81d26a5e3de1fb" },
        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 = { "trackid": 354045, "serverid": 0, "dl_token": "99478209682bc8624f81d26a5e3de1fb" }

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

    print(result_return.text)