Control Panel — API Documentation

Documentation

pushpublish.services

Retrieves a list of all stored PushPublish services details

Example Code (PHP)

	$request = array(
		'command' => 'pushpublish.services',
		'api_key' => 'APX4GKLM0RKQLSP2FBO1ROPKSSW47DZE',
		'timestamp' => time(),
		'cdn' => 158,
		'filters' => array(
			'service_name' => 'facebook',
		),
	);
	    //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
filters [OPTIONAL] [Array] - Array of one or more filters to apply to the search. The array must consist of key value pairs, with the key being the field to filtered on, and a value. Any objects that match the exact filter values, or the object's properties contain the filtered values within them, will be returned.

Example Result (JSON)

	{
	"message": "PushPublish services stored",
	"status": "success",
	"handle_time":"0.3795 seconds",
	"services" : [
		{
			"push_service_id" : 1,
			"service_name" : "facebook",
			"type" : "rtmp",
			"dst_host" : "rtmp-api.facebook.com",
			"dst_port" : 80,
			"dst_stream" : "unique_stream_key",
			"dst_app" : "rtmp",
			"dst_appinst" : null,
			"host_id" : null,
			"stream_id" : null,
			"event_name" : null,
			"push_source" : 1,
			"adaptive_group" : "group1",
			"app" : 'demo-origin',
			"stream" : 'stream_1',
			"autopush" : 1,
			"lock_servers"  : 1,
			"primary_server" : 'PRI1',
			"backup_server" : 'BAK2',
			"relative_playlist" : 0,
			"playlist_count" : 0,
			"playlist_timeout" : 120000,
			"playlist_across_sessions" : 0,
			"bitrate_order" : "high2low",
			"redundant_playlist" : 0,
			"send_ssl" : 1,
			"playback_ssl" : 0,
			"addEndListOnDisconnect" : 0,
			"username" : "rtmp_user",
			"password" : "rtmp_pass",
		},
	],
	}
	

Result Fields

message [string] - Debugging message
status [string] - "success" or "failure"
handle_time [float] - The amount of time spent processing your request
services
push_service_id [int] - ID of the stored PushPublish Service details
service_name [string] - service type.
Available services:
  • akamai
  • rtmp
  • facebook
type [string] - PushPublish Profile Type
dst_host [string] - Destination Host Address.
dst_port [int] - Destination Port Number.
dst_stream [string] - PushPublish Destination Stream Name or Stream Key
dst_app [string] - Destination Application Name
dst_appinst [string] - Destination Application Instance Name
stream_id [int] - Service Stream ID
host_id [int] - Service Host ID
event_name [String] - Akamai stream event name
push_source [boolean] - Push source stream to destination. Default true
adaptive_group [string] - Name for a group of transcoded streams
app [string] - The ScaleEngine Application name
stream [string] - Stream name or VOD file path
autopush [boolean] - Autopushes stream to destination when it is published.
lock_servers [int] - locks the Primary and Backup Servers, preventing all other sources from pushing streams to this server. [Default: 0]
primary_server [string] - Locks the Primary PushPublish destination to the specific Server Tag.
backup_server [string] - Locks the Backup PushPublish destination to a specific Server Tag.
playlist_count [int] - How many chunks to have on the manifest for each rendition. [Default: 0]
playlist_timeout [string] - How many milliseconds to keep the playlist after the encoder disconnects. [Default: 120,000]
relative_playlist [int] - [Default: false]
playlist_across_sessions [int] - Set to 1, keep the playlist when the encoder disconnects, instead of starting over. [Default: 0]
bitrate_order [string] - "high2low" shows the top bitrate first in the rendition list, or "low2high" shows the lowest bitrate first. [Default: high2low].
redundant_playlist [int] - Creates the playlist.m3u8 file with both akamai primary and backup (-b) urls; Set to 1 to enable [Default: 0]
send_ssl [boolean] - Push to RTMP Sources using SSL. default: false
playback_ssl [boolean] - Enables Akamai Manifests to use HTTPS urls. default: false
addEndListOnDisconnect [boolean] - Add End List tag to chunklist when Stream Disconnects. (default false)
username [String] - RTMP Username
password [String] - RTMP Password