API Documentation: usage.summary

Synopsis

The usage summary API returns a summary of usage over the course of a month. The response is returned in Google Tables format. The response data contains an array of Usage type and the usage total as a value and a formatted value (v and f).

Example Request (JSON)

Example Code (PHP)

    $request = array(
        'command' => 'usage.summary',
        'api_key' => '##API Public Key##',
        'timestamp' => time(),
        'cdn' => 158,
        'starttime' => '2017-03-01'    /* optional */
    );
        //Create request signature
    $json_request = json_encode($request);
    $sig = base64_encode(hash_hmac('sha256', $json_request,
        '##API Secret Key##', true));
    $request['signature'] = $sig;
    $json_request = json_encode($request);
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://api.scaleengine.net/stable/'); // Set the URL
    curl_setopt($ch, CURLOPT_POST, true); // Perform a POST
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // If not set, curl prints output to the browser
    curl_setopt($ch, CURLOPT_HEADER, false); // If set, curl returns headers as part of the data stream
    curl_setopt($ch, CURLOPT_POSTFIELDS, array('json' => $json_request)); //'Json' string or 'PHP' serialized return
    
    //If your PHP host does not have a proper SSL certificate bundle, you will need to turn off SSL Certificate Verification
    //This is dangerous, and should only be done temporarily until a proper certificate bundle can be installed
    //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // Turns off verification of the SSL certificate.
    //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Turns off verification of the SSL certificate.
    
    $response = curl_exec($ch); //Execute the API Call
    if (!$response) {
        die('Failed to connect to ScaleEngine API');
    }
    
    //Decode the response as an associative array 
    $arrResponse = json_decode($response, true); 
    if ($arrResponse) {
        //Operation completed successfully
        //TODO Add work here
        print_r($arrResponse);
    } else {
        //Operation failed
        echo 'An error occured processing your request:';
        print_r($response);
    }
        

Request Fields

command [REQUIRED] [string] - API command to execute
cdn_id [REQUIRED] [int] - The ScaleEngine CDN ID of your account
api_key [REQUIRED] [string] - The API key provided as part of your account
timestamp [REQUIRED] [int] - The unix timestamp of your request, used to prevent authenticated API requests from being replayed
starttime [OPTIONAL] [string] - Date string containing the year and month to request (ex. 2017-03-01)
[int] - A unix timestamp representation to start the 30 day period.

Example Result (JSON)

    {
        "data":{
            "cols":[
                ["string","Name"],
                ["number","Total"]
            ],
            "vals":[
                ["Edge Bandwidth:",{"v":0,"f":"0 "}],
                ["CDN Bandwidth:",{"v":0,"f":"0 "}],
                ["Origin Bandwidth:",{"v":0,"f":"0 "}],
                ["VideoCDN Bandwidth:",{"v":0,"f":"0 "}],
                ["Total Bandwidth:",{"v":0,"f":"0 "}],
                ["Edge Requests:",{"v":0,"f":"0 "}],
                ["CDN Requests:",{"v":0,"f":"0 "}],
                ["Origin Requests:",{"v":0,"f":"0 "}],
                ["VideoCDN Requests:",{"v":0,"f":"0 "}],
                ["Total Requests:",{"v":0,"f":"0 "}],
                ["SQL SELECT:",{"v":0,"f":"0 "}],
                ["SQL UPDATE:",{"v":0,"f":"0 "}],
                ["SQL OTHER:",{"v":0,"f":"0 "}],
                ["SQL Replication Bandwidth:",{"v":0,"f":"0 "}],
                ["SQL CPU Hours:",{"v":0,"f":"0 "}],
                ["SQL Query Total:",{"v":0,"f":"0 "}],
                ["PHP CPU Hours:",{"v":0.00,"f":"0 "}],
                ["Origin CPU Hours:",{"v":0,"f":"Coming Soon"}],
                ["Origin Processes:",{"v":0,"f":"0 "}],
                ["Origin I\/O Transactions:",{"v":28103,"f":"28,103 "}],
                ["Origin Memory Seconds:",{"v":31802,"f":"31,802 "}],
                ["Origin Disk:",{"v":0,"f":"Coming Soon"}]
            ]},
        "status":"success",
        "message":"Found Usage Summary Data",
        "handle_time":"1.1354 seconds",
    }
    

Result Fields

message [string] - Debugging message
status [string] - "success" or "failure"
handle_time [float] - The amount of time spent processing your request
data [Array] - An array of usage values. The "cols" array contains the header row for the table, and the "vals" array contains the list of usage types and their values in a decimal format (v) and a string format (f).