Systems90 by Webglobe
  • Help
  • API Documentation
  • Login
  • limits
  • library for API PHP
  • Other API functions
  • login
  • timeout
  • ok
  • error
  • logout
  • Domain API functions
  • domain_list
  • domain_detail
  • domain_list_dns
  • domain_delete_dns
  • domain_add_dns
  • domain_update_dns
  • domain_list_email_subdomain
  • domain_delete_email_subdomain
  • domain_add_email_subdomain
  • domain_list_email
  • domain_delete_email
  • domain_add_email
  • domain_edit_email
  • domain_list_tld
  • domain_list_plan
  • domain_order
  • VServer API functions
  • vserver_list
  • vserver_vnc_setting
  • vserver_create_image
  • vserver_image_edit
  • vserver_image_list
  • vserver_image_delete
  • vserver_image_restore
  • vserver_image_copy
  • vserver_parking
  • vserver_parking_restore
  • vserver_list_backup
  • vserver_restore
  • vserver_create_backup
  • vserver_remove_backup
  • vserver_set_backup
  • vserver_change_login
  • vserver_change_custom_name
  • vserver_change_rdns
  • vserver_detail
  • vserver_add_ip_address
  • vserver_list_iso
  • vserver_select_iso
  • vserver_list_livecd
  • vserver_select_livecd
  • vserver_reinstall
  • vserver_reboot
  • vserver_shutdown
  • vserver_start
  • vserver_set_autostart
  • vserver_get_autostart
  • vserver_action_lock
  • vserver_list_plan
  • vserver_list_license
  • vserver_buy_license
  • vserver_fit_to_program
  • vserver_upgrade_program
  • vserver_downgrade_program
  • vserver_destroy
  • vserver_order
  • vserver_commands
  • vserver_ready_for_command
  • vserver_screenshot
  • vserver_graph
  • vserver_graph_data
  • vserver_virtualization_parameters
  • vserver_vlan_list
  • vserver_vlan_add
  • vserver_vlan_detail
  • vserver_vlan_edit
  • vserver_vlan_delete
  • vserver_vlan_member_add
  • vserver_vlan_member_delete
  • vserver_vhosts_usage
  • vserver_subnet_usage
  • vserver_active_license_list
  • vserver_allowed_plans
  • vserver_license_accounting
  • vserver_license_accounting_postpay
  • vserver_software_iso_list
  • vserver_software_iso_mount
  • vserver_software_iso_unmount
  • vserver_ip_address_set_hostname
  • vserver_remove_ip_address
  • vserver_add_ipv6_subnet
  • vserver_remove_ipv6_subnet
  • vserver_ipv6_subnet_detail
  • vserver_ipv6_subnet_rdns_add
  • vserver_ipv6_subnet_rdns_remove
  • vserver_ipv6_subnet_rdns_edit
  • vserver_shaper
  • Export API Functions
  • export_internal_invoices

Library for API PHP


<?php
define('HAPI_URL','https://admin.systems90.cz/api');
define('HAPI_USE_CURL', true);

define('UID', 0);
define('PASSWORD', 'password');

class HostingApi
{
	private $sid;
	function __construct()
	{
		$this->sid = null;
	}
	
	function __call($name, $params)
	{
		$url = HAPI_URL.'/'.$name.'?reply=json';
		if (count($params)) {
			if (count($params) < 1 || count($params) > 2 || !is_array($params[0])) {
				return false;
			}
			foreach ($params[0] as $key => $value) {
				$url .= '&'.urlencode($key).'='.urlencode((string)$value);
			}
		}
		if ($this->sid) {
			$url .= '&sid='.$this->sid;
		}
		if (HAPI_USE_CURL) {
			$ch = curl_init($url);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
			if(count($params) == 2) {
				curl_setopt($ch, CURLOPT_POST, 1);
				curl_setopt($ch, CURLOPT_POSTFIELDS, $params[1]);
			}
			$text = curl_exec($ch);
			curl_close($ch);
		} else {
			$text = file_get_contents($url);
		}
		$ret = json_decode($text);
		if (is_object($ret) && isset($ret->reply)) {
			return $ret->reply;
		} else {
			return false;
		}
	}

	function login($uid, $password)
	{
		$ret = $this->__call('login', array(array(), array('uid' => $uid, 'password' => $password)));
		if ($ret && $ret->status->code == 0) {
			$this->sid = $ret->sid;
			return true;
		} else {
			return false;
		}
	}
}