The API simplifies task such as Installing Scripts, Removing Scripts, Creating Domains, Deleting Domains, Adding Users, Removing Users, Editing User Details and such similar functions.
If you have a Panel written in PHP, there is a PHP SDK Class written for doing various activities like Installing Apps, Upgrading installations, etc. You can easily start using the SDK functions like install(), updgrade(), etc.
Softaculous Enterprise has a Admin Panel to perform Admin Functions like Adding a Domain, Deleting a Domain, etc and has a Enduser Panel to perform Enduser Functions like Install, Remove, Upgrade the scripts.
Admin Functions
Admin functions are accessible only from port 2006 of your Softaculous Enterprise Server. So make sure the url accessed has the port 2006.
Only root users and resellers can access Admin Functions.
Authenticating
Key
Value
Description
api_key
Random String
API Key is 16 Characters random string provided by Installer.
api_pass
Random String
API Key is 32 Characters random string provided by Installer.
createSession (Optional)
Username of the account.
As an Admin you can create a session of a particular user and give the returned session key to the user to give him access to the Softaculous Enterprise Interface.
api
serialize, json or xml (Default: serialize)
Softaculous Enterprise will return the output in the format specfied.
POST (Optional)
useuser (Optional)
Array
As an Admin you can create a session of a particular user and give the returned session key to the user to give him access to the Softaculous Enterprise Interface.
username
User Name to add or use. If username is already present, Softaculous will use it.
uid
UID of the user.
gid
GID of the user.
add_domain (Optional)
Array
As an Admin you can create a domain of a particular user.
domain
The Domain name
username
The username of the User who owns the domain
path
The web accessible folder/path where your installations will be made. It should be accessible by Softaculous over NFS. Web accessible directory should be owned by user specified.
replace_path
This “Replace Path” will be replaced with empty in PATH to get the correct path according to scripts. According to the scripts PATH mentioned above is not correct as we are on NFS. We have to generate a new path with respect to scripts.
backup_dir
Backup Directory. Softaculous will create backups in this folder. This should be accessible by Softaculous over NFS.
data_dir
Full path of the Data Directory. Some scripts like Elgg, Moodle, etc need a non web accessible folder. Specify accordingly that it can be accessed by Softaculous too which is on NFS.
Admin Login Example
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEYAPIAPI'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
Creating User Session Example
This authentication will allow admin to perform actions such as install, upgrade, remove, etc as a user.
$url = 'http://enterprise.softaculous.com/index.php?'.
'api_key=TESTAPIKEYAPIAPI'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&createSession=username'.
'&api=serialize';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Error
if(!empty($res['error'])){
print_r($res['error']);
// No error
}else{
echo 'User Session Key (RSID) : '.$res['rsid'].'<br />'.
'URL : '.$res['rsid'];
}
Admin acting as User Example
This authentication will allow admin to perform actions such as install, upgrade, remove, etc as a user.
The value should be “listdomains” only to list the domains.
Example
// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEYAPIAPI'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=listdomains';
// Set the curl parameters
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server
$resp = curl_exec($ch);
The value should be “adddomain” only to list the domains.
POST
domain
example.com
Name of the domain to be added.
username
username
User which owns/has access to the domain.
path
/NFS/a/home/user/public_html
It is the web accessible folder/path where your installations will be made. It should be accessible by Softaculous over NFS. Web accessible directory should be owned by user specified.
backup_dir
/NFS/a/home/user/backups
It is the Backup Directory. Softaculous will create backups in this folder. This should be accessible by Softaculous over NFS.
replace_path
/NFS/a
This “Replace Path” will be replaced with empty in PATH to get the correct path according to scripts. According to the scripts PATH mentioned above is not correct as we are on NFS. We have to generate a new path with respect to scripts.
data_dir
/NFS/a/home/user/datadir
Full path of the Data Directory. Some scripts like Elgg, Moodle, etc need a non web accessible folder. Specify accordingly that it can be accessed by Softaculous too which is on NFS.
savedomain
1
This will trigger the Softaculous to add the domain.
Example
// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEYAPIAPI'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=adddomain';
$post = array('domain' => 'example.com',
'username' => 'username',
'path' => '/NFS/a/home/user/public_html',
'replace_path' => '/NFS/a',
'backup_dir' => '/NFS/a/home/user/backups',
'data_dir' => '/NFS/a/home/user/datadir',
'savedomain' => 1
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
The value should be “listuser” only to list the domains.
Example
// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEYAPIAPI'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=listuser';
// Set the curl parameters
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server
$resp = curl_exec($ch);
The value should be “listuser” only to list the domains.
deluser
username
The user name to be added.
delowner
root/resellername
The owner of the user account.
Example
// The URL
$url = 'http://enterprise.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEYAPIAPI'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=listuser'.
'&deluser=username'.
'&delowner=root';
// Set the curl parameters
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server
$resp = curl_exec($ch);
Enduser Functions
These are Enduser level actions which can be peformed by any enduser.
Authenticating
Key
Value
Description
api_key
Random String
API Key is 16 Characters random string provided by Installer or your Host.
api_pass
Random String
API Key is 32 Characters random string provided by Installer or your Host.
api
serialize, json or xml (Default: serialize)
Softaculous Enterprise will return the output in the format specified.
Example
$url = 'http://enterprise.softaculous.com/index.php?'.
'api_key=TESTAPIKEYAPIAPI'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&act=home'.
'&api=serialize';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
// Unserialize data
$res = unserialize($resp);
// The Installed scripts list is in the array key 'iscripts'
print_r($res['iscripts']);
The value should be “software” to install PHP script, “js” to install a JavaScript and “perl” to install a PERL script for softaculous to perform the action of installing a software.
soft
26 (26 is the Script ID of WordPress)
The value should be “SID” for softaculous to perform the action of installing a software. You can find the list of sid’s here
POST
softsubmit
1
This will trigger the install
softdomain
domain.com
This is the domain on which you wish to install the script
softdirectory
wp
This is the sub-directory to install the script in. Leave it blank to install in root of the domain
softdb
wp123
This is the database name for the script. If the script does not require database you can leave this blank
dbusername
wp123
This is the database user(Only for Softaculous Remote)
dbuserpass
w1XRF28mq8
This is the database password. You can generate a random password(Only for Softaculous Remote)
hostname
localhost
This is the hostname of your MySQL server. You can enter your MySQL server IP if you have MySQL on a remote server(Only for Softaculous Remote)
admin_username
admin
This is the admin account username for the installation
admin_pass
pass
This is the admin account password for the installation
admin_email
admin@domain.com
This is the admin account email address for the installation
language
en
Language for the installation. You can get the language codes from the respective install.xml
site_name
My Blog
Site Name for the installation
site_desc
My WordPress Blog
Site Description for the installation
dbprefix
dbpref_
(Optional) Table Prefix to be used for the tables created by application
noemail
1
(Optional) – Use this only if you do not want to send an email to the user
overwrite_existing
1
(Optional) – Use this only if you do not want Softaculous to check for existing files in installation path. If any file(s) exists they will be overwritten.
(Optional) URL to installation. If not posted the URL in existing records will be used.
edit_datadir
/home/USERNAME/datadir
(Optional) Path to data directory of the installation. If not posted the data directory in existing records will be used.
edit_dbname
username_dbname
(Optional) Database name for the installation. If not posted the Database name in existing records will be used.
edit_dbuser
username_dbuser
(Optional) Database user for the installation. If not posted the Database user in existing records will be used.
edit_dbpass
dbpass
(Optional) Password of the database user for the installation. If not posted the password in existing records will be used.
edit_dbhost
localhost
(Optional) Database host for the installation. If not posted the Database host in existing records will be used.
eu_auto_upgrade
1
(Optional) 1 to Enable auto upgrade option and 0 to disable. If not posted the existing setting will not be changed.
auto_upgrade_plugins
1
(Optional) 1 to Enable auto upgrade plugins option and 0 to disable. If not posted the existing setting will not be changed. (Currently this option is supported only in WordPress)
auto_upgrade_themes
1
(Optional) 1 to Enable auto upgrade themes option and 0 to disable. If not posted the existing setting will not be changed. (Currently this option is supported only in WordPress)
noemail
1
(Optional) – Use this only if you do not want to send an email to the user
admin_username
adminusername
(Optional) – Use this only if the script provides admin account creation at the time of installation
admin_pass
adminpassword
(Optional) – Use this only if the script provides admin account creation at the time of installation
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=editdetail'.
'&insid=26_12345';
$post = array('editins' => '1',
'edit_dir' => '/path/to/installation/', // Must be the path to installation
'edit_url' => 'http://example.com', // Must be the URL to installation
'edit_dbname' => 'wpdb',
'edit_dbuser' => 'dbusername',
'edit_dbpass' => 'dbuserpass',
'edit_dbhost' => 'dbhost',
'admin_username' => 'adminusername', //Provide this only if script provides as well as password needs to be reset
'admin_pass' => 'adminpassword' //Provide this only if script provides
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
// Print the entire output just incase !
print_r($res);
The value should be “upgrade” for softaculous to perform the action of upgrading an installation.
insid
26_12345
The installation ID that you want to upgrade. It can be fetched from List Installed Script
POST
softsubmit
1
This will trigger the upgrade
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=upgrade'.
'&insid=26_12345';
$post = array('softsubmit' => '1');
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
// There might be some task that the user has to perform
if(!empty($res['setupcontinue'])){
echo 'Please visit the following URL to complete upgrade : '.$res['setupcontinue'];
// It upgraded
}else{
echo 'Upgraded successfully. URL to Installation : '.$res['__settings']['softurl'];
}
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
// Print the entire output just incase !
print_r($res);
Update Installation Version in Softaculous Records
The value should be “editdetail” for softaculous to perform the action of editing an installation.
insid
26_12345
The installation ID that you want to edit. It can be fetched from List Installed Script
updateversion
1
The value should be 1 so it will invoke the method to determine and update the Softaculous records with the correct version of the installation
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=editdetail'.
'&insid=26_12345'.
'&updateversion=1';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
// Print the entire output just incase !
print_r($res);
The value should be “sclone” for softaculous to perform the action of cloning an installation.
insid
26_12345
The installation ID that you want to clone. It can be fetched from List Installed Script
POST
softsubmit
1
This will trigger the upgrade
softdomain
domain.com
This is the domain on which you wish to clone the installation
softdirectory
wp
This is the sub-directory to clone the installation in. Leave it blank to clone in root of the domain
softdb
wp123
This is the database name for the cloned installation. If the script does not require database you can leave this blank.
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=sclone'.
'&insid=26_12345';
$post = array('softsubmit' => '1',
'softdomain' => 'example.com', // Must be a valid Domain
'softdirectory' => 'wp', // Keep empty to install in Web Root
'softdb' => 'wpdb'
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
echo 'Cloned successfully. URL to Installation cloned installation : '.$res['__settings']['softurl'];
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
// Print the entire output just incase !
print_r($res);
(Optional) – Protocol to be used for the installation
softdomain
domain.com
This is the domain on which you wish to staging installation to run
softdirectory
wp
This is the sub-directory to create staging installation in. Leave it blank to create staging in root of the domain
softdb
wp123
This is the database name for the staging installation. If the script does not require database you can leave this blank.
Note : Staging process will start in background and you will get a Task key (32 chars) in response [‘done’] key. Use that key to get the current status of the task. Refer to Get Task Status API.
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=staging'.
'&insid=26_12345';
$post = array('softsubmit' => '1',
'softproto' => '1', // 1 refers to http://
'softdomain' => 'example.com', // Must be a valid Domain
'softdirectory' => 'wp', // Keep empty to install in Web Root
'softdb' => 'wpdb'
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
echo 'Staging succesfully pushed in background. Use the Task key '.$res['done'].' to get the current status of the staging process.';
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
// Print the entire output just incase !
print_r($res);
The value should be “pushtolive” for softaculous to perform the action of pushing to live from the staging installation.
insid
26_12345
The installation ID of the staging installation which you want to push to live. It can be fetched from List Installed Script
POST
softsubmit
1
This will trigger the pushtolive process
Note : Push to Live process will start in background and you will get a Task key (32 chars) in response [‘done’] key. Use that key to get the current status of the task. Refer to Get Task Status API.
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=pushtolive'.
'&insid=26_12345';
$post = array('softsubmit' => '1'
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
echo 'Push to live succesfully started in background. Use the Task key '.$res['done'].' to get the current status of the push to live process.';
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
// Print the entire output just incase !
print_r($res);
The value should be “remove” to perform the action of removing an installed script.
insid
8 (Installation ID)
Installation ID of the installed script. It can be fetched from List Installed Script
POST
removeins
1
This will trigger the remove install process
remove_dir
1
This is to remove the directory where the script is installed. If you do not want to remove the directory do not pass this key in post.
remove_datadir
1
This is to remove the data directory where the script is installed. If you do not want to remove the data directory do not pass this key in post.
remove_db
1
This is to remove the database of the installation. If you do not want to remove the database do not pass this key in post.
remove_dbuser
1
This is to remove the database user of the installation. If you do not want to remove the database user do not pass this key in post.
noemail
1
(Optional) – Use this only if you do not want to send an email to the user
Example
// URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=remove'.
'&insid=8';
$post = array('removeins' => '1',
'remove_dir' => '1', // Pass this if you want the directory to be removed
'remove_datadir' => '1', // Pass this if you want the data directory to be removed
'remove_db' => '1', // Pass this if you want the database to be removed
'remove_dbuser' => '1' // Pass this if you want the database user to be removed
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
The value should be “import” to perform the action of importing an installation.
soft
26 (26 is the Script ID of WordPress)
The value should be “SID” for softaculous to perform the action of installing a software. You can find the list of sid’s here
POST
softdomain
example.com
This will be the domain where your script is installed. Domain should be without http:// or https://
softdirectory
wp
(OPTIONAL) This will be the directory under the domain where your script is installed. Leave this blank if the script is installed in the root of domain.
softsubmit
1
This will trigger the import function.
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=import'.
'&soft=26';
$post = array('softsubmit' => 1,
'softdomain' => 'example.com',
'softdirectory' => 'wp');
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
The value should be “installations” to perform the action of listing installations.
soft
26 (26 is the Script ID of WordPress)
The value should be “SID” for softaculous to perform the action of installing a software. You can find the list of sid’s here
giveinfo
1
Pass this value as 1 to get the information of the script (passed in the soft parameter)
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=software'.
'&soft=26'.
'&giveinfo=1';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
print_r($res);
print_r($res['info']['overview']); // will have overview of the script (in HTML format)
print_r($res['info']['features']); // will have features list of the script (in HTML format)
print_r($res['info']['demo']); // will have the link to demo of the script
print_r($res['info']['ratings']); // will have the link to ratings page of the script
print_r($res['info']['support']); // will have the link to script vendor support page
print_r($res['info']['release_date']); // will have the release date of the current version of the script
print_r($res['settings']); // will have an array of the list of fields that the script will require, e.g. site_name, site_desc, language, etc
print_r($res['dbtype']); // if the value is not empty it means the script requires a database, if the value is empty it means that the script does not require a database
print_r($res['cron']); // if the value is not empty it means the script requires a CRON JOB, if the value is empty it means that the script does not require a CRON JOB
print_r($res['datadir']); // if the value is not empty it means the script requires a data directory, if the value is empty it means that the script does not require a data directory
The value should be “installations” to perform the action of listing installations.
showupdates
true
(OPTIONAL) The value should be “true” if you want to list only installations that have an update available for softaculous to perform the action of listing installations.
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
List Outdated Installations/ Installations that need update
The value should be “installations” to perform the action of listing installations.
showupdates
true
The value should be “true” if you want to list only installations that have an update available for Softaculous to perform the action of listing installations.
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations'.
'&showupdates=true';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
The value should be “backup” to perform the action of taking the backup of the installation.
insid
26_5454 (Installation ID)
Installation ID of the installed script. It can be fetched from List Installed Script
POST
backupins
1
This will trigger the backup function.
backup_dir
1
This is to backup the directory
backup_datadir
1
This is to backup the data directory
backup_db
1
This is to backup the database
backup_location
2 (Location ID)
(Optional) – Location id of the backup location where you want to store your current backup. Default value will be the one saved in the installation’s settings. You can find the location id from List Backup Locations
noemail
1
(Optional) – Use this only if you do not want to send an email to the user
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=backup'.
'&insid=26_4545';
$post = array('backupins' => '1',
'backup_dir' => '1', // Pass this if you want to backup the directory
'backup_datadir' => '1', // Pass this if you want to backup the data directory
'backup_db' => '1', // Pass this if you want to backup the database
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
The value should be “restore” to perform the action of restoring the backup of the installation.
restore
backup_time_insid.tar.gz (Backup File Name)
Name of the Backup File. It can be fetched from List Backups
POST
restore_ins
1
This will trigger the restore function.
restore_dir
1
This is to restore the directory
restore_datadir
1
This is to restorethe data directory
restore_db
1
This is to restore the database
noemail
1
(Optional) – Use this only if you do not want to send an email to the user
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=restore'.
'&restore=backup_time_insid.tar.gz';
$post = array('restore_ins' => '1',
'restore_dir' => '1', // Pass this if you want to restore the directory
'restore_datadir' => '1', // Pass this if you want to restore the data directory
'restore_db' => '1', // Pass this if you want to restore the database
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
The value should be “sign_on” to perform the action to get the sign on URL.
insid
26_12345
The installation ID that you want to edit. It can be fetched from List Installed Script
autoid
abcdefghijklmnopqrstuvwxyz0123456789
This must be any 32 character random string.
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=sign_on'.
'&insid=26_12345'.
'&autoid=abcdefghijklmnopqrstuvwxyz0123456789';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// Get response from the server.
$resp = curl_exec($ch);
On using this API, you will get the sign_on_url, upon accessing which the user will be logged in to the admin panel of the script. You can use the same URL to redirect the user as shown here:
The value should be “wordpress” to perform the action of listing wordpress installations.
Example
// The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=wordpress';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
if(!empty($res['error'])){
// Error
echo 'Some error occurred';
print_r($res['error']);
}else{
print_r($res);
}
Auto Login to WordPress admin panel
You can use the Auto Sign On API example to Auto Login to the WordPress admin panel via WordPress Manager.
The value should be “wordpress” to perform the action of enabling auto upgrade core settings.
POST
insid
26_31793
The installation ID for which you want to enable auto upgrade . It can be fetched from List WordPress Installations
auto_upgrade_core
1
The values for auto upgrade core settings can be: 0 – Do not upgrade 1 – Upgrade to minor version only 2- Upgrade to any latest version available (Major as well as Minor)
save
1
This shall enable the auto upgrade core settings
Example
//The URL
$url = 'http://your.softaculous.com/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=wordpress';
$post = array('insid' => '26_31793',
'auto_upgrade_core' => '1',
'save' => '1'
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
Number of results to be returned. Default is 100. You can pass all to get the list of all existing users.
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=listuser';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
This will be the updated number of users to be allotted (Can be used for Reseller users only)
email
email@xyz.com
This will be the Email ID to be set for the user
updateuser
newuser
This is the new username that you want to set (Can be changed for non-reseller users only)
moduser
testuser
This is the username of the user you want to edit
modowner
testuser
This is the owner of the reseller. In case of Resellers they are owned by themselves
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&email=email@xyz.com'.
'&act=listuser'.
'&nof=10'.
'&updateuser=newuser'.
'&moduser=testuser'.
'&modowner=testuser';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
This will be the username of the user to be deleted
delowner
root
This is the owner username of the user you want to delete. Default owner is root if the user is not created by a reseller.
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=listuser'.
'&deluser=testuser'.
'&delowner=root';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
This will trigger the list installations function.
POST
listinstallations
1
This will trigger the listinstallations function
users
root;user1;
(Optional) Pass ; separated list of users to filter installations by users
scripts
WordPress;Joomla;
(Optional) Pass ; separated list of scripts to filter installations by scripts
domains
example.com;example2.com;
(Optional) Pass ; separated list of domains to filter installations by domains
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations';
$post = array('listinstallations' => 1,
//'users' => 'root;user1;', // Pass this if you want the installation list of specific users
//'scripts' => 'WordPress;Joomla;', // Pass this if you want the installation list of specific scripts
//'domains' => 'example.com;example2.com;', // Pass this if you want the installation list of specific domains
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res)){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
This will trigger the list installations function.
show
outdated
This will trigger the outdated installations list function
POST
listinstallations
1
This will trigger the listinstallations function
users
root;user1;
(Optional) Pass ; separated list of users to filter installations by users
scripts
WordPress;Joomla;
(Optional) Pass ; separated list of scripts to filter installations by scripts
domains
example.com;example2.com;
(Optional) Pass ; separated list of domains to filter installations by domains
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations'.
'&show=outdated';
$post = array('listinstallations' => 1,
//'users' => 'root;user1;', // Pass this if you want the installation list of specific users
//'scripts' => 'WordPress;Joomla;', // Pass this if you want the installation list of specific scripts
//'domains' => 'example.com;example2.com;', // Pass this if you want the installation list of specific domains
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res)){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
This will trigger the list installations function.
POST
listinstallations
1
This will trigger the listinstallations function
only_realversion
1
This will trigger the only_realversion function to list only installations in which the version in Softaculous records do not match with actual installation version
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations';
$post = array('listinstallations' => 1, 'only_realversion' => 1);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res)){
print_r($res);
}
This will trigger the list installations function.
POST
listinstallations
1
This will trigger the listinstallations function
only_realversion
1
This will trigger the only_realversion function to list only installations in which the version in Softaculous records do not match with actual installation version
list
array(‘username-26_68351’, ‘username-26_68352’)
This will contain the array list for the installations which needs to be updated in Softaculous record(you will need to pass installation id which you will get from Real Version response in List Real Version
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=installations';
$post = array('listinstallations' => 1, 'only_realversion' => 1, 'list' => array('username-26_68351', 'username-26_68352'));
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res)){
print_r($res);
}
This will trigger the installation statistics function
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=ins_statistics';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
(Optional) Use this only if you want to add a reseller to the plan. resellers_ is the prefix for adding a reseller and abc is the name of the reseller (that should already exist). Similarly pass a separate key for each reseller you want to add to the plan.
users_xyz
1
(Optional) Use this only if you want to add a user to the plan. users_ is the prefix for adding a user and xyz is the name of the user (that should already exist). Similarly pass a separate key for each user you want to add to the plan.
scripts_26
1
Use this to pass the scripts to be added to the plan. scripts_ is the prefix for adding a script and 26 is the id of the script to be added. Similarly pass a separate key for each script you want to add to the plan. Get Script ids
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=addplans';
$post = array('saveplan' => '1',
'planname' => 'plan1',
'resellers_abc' => '1',
'users_xyz' => '1',
'scripts_26' => '1', // Add WordPress
'scripts_413' => '1' // Add Joomla
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
This will be the plan name of the plan you want to edit
POST
saveplan
1
This will trigger the add plan function
planname
plan1
Plan name for the new plan being created
resellers_abc
1
(Optional) Use this only if you want to assign a reseller to the plan. resellers_ is the prefix for adding a reseller and abc is the name of the reseller (that should already exist). Similarly pass a separate key for each reseller you want to assign to the plan.
users_xyz
1
(Optional) Use this only if you want to assign a user to the plan. users_ is the prefix for assigning a user and xyz is the name of the user (that should already exist). Similarly pass a separate key for each user you want to assign to the plan.
scripts_413
1
Use this to pass the scripts to be assigned to the plan. scripts_ is the prefix for assigning a script and 26 is the id of the script to be assigned. Similarly pass a separate key for each script you want to assign to the plan. Get Script ids
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=editplans'.
'&plan=plan1';
$post = array('saveplan' => '1',
'planname' => 'plan1',
'resellers_abc' => '1',
'users_xyz' => '1',
'scripts_543' => '1', // Add Drupal
'scripts_72' => '1' // Add PrestaShop
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
This will be the plan name of the plan you want to delete
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=plans'.
'&delete=plan1';
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}
This will trigger the enable/disable script function
POST
updatesoft
Update Settings
This will trigger the submit function for enabling/disabling the scripts
soft_26
1
Use it to Enable Script from Admin Panel. soft_ is the prefix for enabling a script and 26 is the id of the script to be enabled. Similarly pass a separate key for each script you want to enable. Get Script ids
Note: If you have 10 scripts Enabled. You want to Enable 1 more script you will need to pass all 11 scripts id in the POST data for it to Enable the script. The scripts which are not posted will be disabled.
Example
// URL
$url = 'http://your.softaculous.com:2006/index.php?'.
'api_key=TESTAPIKEY'.
'&api_pass=PASSPASSPASSPASSPASSPASSPASSPASS'.
'&api=serialize'.
'&act=softwares';
$post = array('updatesoft' => 'Update Settings',
'soft_26' => 1, // WordPress
'soft_18' => 1, // Joomla 2.5
'soft_543' => 1, // Drupal 8
'soft_11' => 1, // Open Blog
'soft_3' => 1, // Serendipity
'soft_34' => 1, // Dotclear
'soft_14' => 1, // b2evolution
'soft_470' => 1 // Ghost
);
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Get response from the server.
$resp = curl_exec($ch);
// The response will hold a string as per the API response method. In this case its PHP Serialize
$res = unserialize($resp);
// Done ?
if(!empty($res['done'])){
print_r($res);
// Error
}else{
echo 'Some error occured';
print_r($res['error']);
}