channel.getallchannels
This API system retrieves information regarding all playlists for your account.
The response contains the information on how the playlists are to be played.
Example Code (PHP)
$request = array(
'command' => 'channel.getallchannels',
'api_key' => 'APX4GKLM0RKQLSP2FBO1ROPKSSW47DZE',
'timestamp' => time(),
'cdn' => 158,
'include_videos' => true, /* optional */
'active' => 1 /* optional */
'app' => 'demo-origin', /* optional */
'stream' => 'my_channel', /* optional */
);
//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 |
[OPTIONAL] [mixed] The ScaleEngine Application name or an array of Application names |
stream |
[OPTIONAL] [string] - Stream name |
active |
[OPTIONAL] [int] - Limit playlists based on the active value of 1 or 0.
default null, returns all playlists. |
include_videos |
[OPTIONAL] [boolean] - when set to true, playlists will also include their videos.
default is false |
Example Result (JSON)
{
"message": "channels Found",
"status": "success",
"data" : [{
"channel_id" : 1000,
"channel_name" : "My first playlist",
"app" : "demo-origin",
"app_inst" : "live",
"stream" : "my_channel_stream_name",
"repeat" : 1,
"scheduled" : "2014-10-13 15:00:00",
"last_modified" : "2014-10-13 16:45:00",
"active" : 1,
"ga_key" : "",
"videos" : [{
"channel_video_id" : 1,
"video" : "sestore1/username/path/play_first.mp4",
"start" : 0,
"length" : -1,
"sort_order" => 1
}]
},
{
"channel_id" : 1001,
"channel_name" : "My second playlist",
"app" : "demo-origin",
"app_inst" : "live",
"stream" : "my_channel_stream_name_2",
"repeat" : 1,
"scheduled" : "2014-10-13 15:00:00",
"last_modified" : "2014-10-13 16:45:00",
"active" : 1,
"ga_key" : "",
"videos" : [{
"channel_video_id" : 1,
"video" : "sestore1/username/path/play_first.mp4",
"start" : 0,
"length" : -1,
"sort_order" => 1
}]
}
],
"handle_time":"0.3795 seconds"
}
Result Fields
message |
[string] - Debugging message |
status |
[string] - "success" or "failure" |
data |
[array] - Array of Playlists and detailed information
channel_id |
[int] - The unique id of the Playlist |
channel_name |
[string] - the descriptive name of the
Playlist. |
app |
[string] - The ScaleEngine Application name |
app_inst |
[string] - the ScaleEngine Application
instance name |
stream |
[string] - The name of the Channel
that the playlist will played on. |
repeat |
[int] - Determines if the playlist should
repeat or how it should be handled once it is
finished.
0 - Channel will shutdown, until the
next scheduled playlist.
1 - Playlist will loop continuously,
until a new playlist is
scheduled.
2 - Channel will fallback to a
previous repeating playlist that is marked
as active.
|
scheduled |
[string] - Date and time that the playlist
will be scheduled to play. |
last_modified |
[string] - The Date and time that the
playlist was last modified. |
active |
[int] - Shows if a playlist is available
to be played.
0 - playlist is inactive, or has
finished playing.
1 - playlist is waiting for the
scheduled time and will be played.
2 - playlist has finished, and was set
to fallback to a previous playlist.
|
ga_key |
[string] - Google Analytics key assigned to the stream or channel. |
videos |
[array] - Array of Videos
channel_video_id |
[int] - The unique ID of the playlist item |
video |
[string] - The stream name or
path of the VOD video the user is restricted
to. VOD examples look like like:
sestore3/username/path/filename.mp4
|
start |
[int] - the time in seconds where the VOD
file should begin. set to 0 to start at the
beginning.
|
length |
[int] - the number of seconds
to play of the stream or VOD file.
-1 to play to the end of a VOD file
-2 to play to the end of a live stream
|
sort_order |
[int] - the order in which
the video should appear in the playlist.
|
|
|
handle_time |
[float] - The amount of time spent processing your request |