Control Panel — API Documentation
viewer.livedetailed
This API returns information about where live viewers are watching from.
Viewer counts are broken down by server location, vhost, and applications
being accessed. A list of ScaleEngine Application name(s) and stream names
or VOD paths must be specified. The live data is available for 14 days.
Example Code (PHP)
$request = array(
'command' => 'viewer.livedetailed',
'api_key' => 'APX4GKLM0RKQLSP2FBO1ROPKSSW47DZE',
'timestamp' => time(),
'cdn' => 158,
'app' => 'demo-origin',
'url' => 'sestore3/username/path/filename.mp4'
);
//Create request signature
$json_request = json_encode($request);
$sig = base64_encode(hash_hmac('sha256', $json_request,
'8fc8c48da81e6a2a06a9556379bf798af508dc0792497c678b4c3532ba8b637f', 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 |
[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 |
app |
[REQUIRED]
- [string] - The ScaleEngine Application Name
- [int] - The unique id of the ScaleEngine Application
- [array] - Array of one or more ScaleEngine Application
names or ids
|
url |
[OPTIONAL]
- [string] - The stream name or path of the VOD video.
VOD examples look like like:
sestore3/username/path/filename.mp4
- [string] - The stream name or VOD path separated by
a pipe, optionally with wildcards. This allows for things
like multi-bitrate streams or files.
Example: mystream_* will match mystream_720p and
mystream_360p.
- [array] - Array of stream names, VOD paths, or
wildcard strings.
|
Example Result (JSON)
{
"message": "Found Viewer Data",
"status": "success",
"data": [{
"2014-09-21 11:41:00",
"SER1-1",
"vhost",
"demo-origin",
5
}],
"handle_time":"0.3795 seconds"
}
Result Fields
message |
[string] - Debugging message |
status |
[string] - "success" or "failure" |
data |
[array] - Array of viewer records
[array] |
[string] - date and time when viewer log
was updated |
[string] - ScaleEngine server name |
[string] - Vhost name |
[string] - The ScaleEngine Application name |
[int] - Number of viewers |
|
|
handle_time |
[float] - The amount of time spent processing your request |