API Documentation: Channel.updatechannel

Synopsis

This API updates an existing playlist's configuration. A Playlist can be configured to play through its list once, to loop continuously, or to fallback to a previous playlist after it has finished. A playlist that is active can be disabled, or rescheduled.

Example Request (JSON)

Example Code (PHP)

    $request = array(
        'command' => 'channel.updatechannel',
        'api_key' => 'APX4GKLM0RKQLSP2FBO1ROPKSSW47DZE',
        'timestamp' => time(),
        'cdn' => 158,
        'channel_id' => 1000,
        'name' => 'My first playlist',
        'stream' => 'my_channel_stream_name',
        'repeat' => 1,
        'active' => 0,
        'metadata' => 0,
        'scheduled' => '2014-10-13 15:00:00',
        'overlay_message' => 'this text will appear at the bottom of the stream",   /* optional */
        'show_video_names' => 1,                /* 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_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
channel_id [REQUIRED] [int] - The unique ID of the Playlist
name [REQUIRED] [string] - A descriptive name given to the playlist.
stream [REQUIRED] [string] - Name of the Channel on which the playlist will be shown.
repeat [REQUIRED] [int] - Configures how the playlist should be handled when 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.
active [REQUIRED] [int] - Marks the playlist to be played when the scheduled time comes due, or at the next interval if no scheduled time is set.
1 - active
0 - inactive
metadata [REQUIRED] [int] - Enable or Disable the sending of metadata with VOD files.
0 - disabled
1 - enabled
scheduled [OPTIONAL] [string] - The date and time that the playlist should be shown on the Channel. If not provided and no other playlist has been scheduled, this playlist will play automatically.
overlay_message [OPTIONAL] [string] - text that will appear on the transcoded stream
show_video_names [OPTIONAL] [int] - user defined video names from the file api will appear as an overlay on transcoded streams. These video names will appear instead of the overlay_message. (1 enabled, 0 disabled)

Example Result (JSON)

    {
    "message": "Updated channel details",
    "status": "success",
    "handle_time":"0.3795 seconds"
    }
    

Result Fields

message [string] - Debugging message
status [string] - "success" or "failure"
handle_time [float] - The amount of time spent processing your request