Development Guides Home >> Guide to Transfer and Restore API Functions
Guide to Transfer and Restore API Functions - Plan the Transfer Session
Introduction
The planning process sets up the transfer session.
-
For
root
sessions, retrieve the transfer modules and schema. -
For user transfer sessions, use the
AccountRemoteUser
user-based transfer session.
In this example, the following statements are true:
-
remote.example.com
andlocal.example.com
represent the remote server and the local server. -
You logged in to the local server with the
cpsess##########
security token. -
The
example
account ownsexample.com
, and you want to transfer it from the remote server to the local server. -
The
example.com
domain contains 123,456,789 bytes. -
You want to transfer the
package1
package from the remote server to the local server. -
luggage12345
represents theroot
password for the remote server.
Retrieve the transfer modules
To retrieve a list of the transfer modules available on your server, run the WHM API 1 available_transfer_modules
function.
Select the method by which you wish to call the function:
JSON API
https://hostname.example.com:2087/cpsess##########/json-api/available_transfer_modules?api.version=1
PHP
include_once '../xmlapi.php';
$ip = getenv('REMOTE_HOST');
$root_user = getenv('REMOTE_USER');
$root_pass = getenv('REMOTE_PASSWORD');
$xmlapi = new xmlapi($ip , $root_user , $root_pass);
$xmlapi->set_output('json');
$settings = array('api.version'=>1);
$_result = $xmlapi->xmlapi_query('available_transfer_modules' , $settings);
print $_result;
This example will return the following list of transfer modules:
{
"data": {
"modules": {
"LegacyAccountBackup": "6000",
"FeatureListRemoteRoot": "1000",
"PackageRemoteRoot": "2000",
"AccountLocal": "5000",
"AccountRemoteRoot": "3000",
"AccountRemoteUser": "4000"
}
},
"metadata": {
"version": 1,
"reason": "OK",
"result": "1",
"command": "available_transfer_modules"
}
}
You can preserve features and modules between transfers. Use the following features to transfer features, module lists, and accounts:
-
FeatureListRemoteRoot
— Transfers the feature lists. -
PackageRemoteRoot
— Transfers packages. -
AccountRemoteRoot
— Transfers the accounts.
The schema of each transfer module formats the data for transfer.
Retrieve the schema
The WHM API 1 transfer_module_schema
function retrieves the following schemas:
JSON API
To retrieve the schema for the FeatureListRemoteRoot
module, run the following browser-based function:
https://hostname.example.com:2087/cpsess##########/json-api/transfer_module_schema?api.version=1&module=FeatureListsRemoteRoot
To retrieve the schema for the PackageRemoteRoot
module, run the following browser-based function:
https://hostname.example.com:2087/cpsess##########/json-api/transfer_module_schema?api.version=1&module=PackageRemoteRoot
To retrieve the schema for the AccountRemoteRoot
module, run the following browser-based function:
https://hostname.example.com:2087/cpsess##########/json-api/transfer_module_schema?api.version=1&module=AccountRemoteRoot
The schema will resemble the following example:
{
"data": {
"schema": {
"keys": {
"detected_remote_user": {
"def": "char(255) DEFAULT NULL"
},
"ip": {
"def": "int(1) DEFAULT 0"
},
"skipbwdata": {
"def": "int(1) DEFAULT 0"
},
"customip": {
"def": "char(255) DEFAULT NULL"
},
"size": {
"def": "BIGINT UNSIGNED DEFAULT 1"
},
"shared_mysql_server": {
"def": "int(1) DEFAULT 0"
},
"domain": {
"def": "char(255) DEFAULT NULL"
},
"cpmovefile": {
"def": "text"
},
"skiphomedir": {
"def": "int(1) DEFAULT 0"
},
"user": {
"def": "char(255) DEFAULT NULL"
},
"skipacctdb": {
"def": "int(1) DEFAULT 0"
},
"skipres": {
"def": "int(1) DEFAULT 0"
},
"reseller": {
"def": "int(1) DEFAULT 0"
},
"skipaccount": {
"def": "int(1) DEFAULT 0"
},
"copypoint": {
"def": "text"
},
"force": {
"def": "int(1) DEFAULT 0"
},
"live_transfer": {
"def": "int(1) DEFAULT 0"
},
"xferpoint": {
"def": "int(1) DEFAULT 0"
},
"replaceip": {
"def": "char(255) DEFAULT NULL"
},
"localuser": {
"def": "char(255) DEFAULT NULL"
}
},
"required": [
"user",
"localuser"
],
"primary": [
"user"
],
"prerequisite": "user"
}
},
"metadata": {
"version": 1,
"reason": "OK",
"result": "1",
"command": "transfer_module_schema"
}
}
PHP
To retrieve the schema for the FeatureListRemoteRoot
module, add the following code to your PHP script:
include_once '../xmlapi.php';
$ip = getenv('REMOTE_HOST');
$root_user = getenv('REMOTE_USER');
$root_pass = getenv('REMOTE_PASSWORD');
$xmlapi = new xmlapi($ip , $root_user , $root_pass);
$xmlapi->set_output('json');
$settings = array('api.version'=>1, 'module' => 'FeatureListRemoteRoot');
$_result = $xmlapi->xmlapi_query('transfer_module_schema' , $settings);
print $_result;
To retrieve the schema for the PackageRemoteRoot
module, add the following code to your PHP script:
include_once '../xmlapi.php';
$ip = getenv('REMOTE_HOST');
$root_user = getenv('REMOTE_USER');
$root_pass = getenv('REMOTE_PASSWORD');
$xmlapi = new xmlapi($ip , $root_user , $root_pass);
$xmlapi->set_output('json');
$settings = array('api.version'=>1, 'module' => 'PackageRemoteRoot');
$_result = $xmlapi->xmlapi_query('transfer_module_schema' , $settings);
print $_result;
To retrieve the schema for the AccountRemoteRoot
module, add the following code to your PHP script:
include_once '../xmlapi.php';
$ip = getenv('REMOTE_HOST');
$root_user = getenv('REMOTE_USER');
$root_pass = getenv('REMOTE_PASSWORD');
$xmlapi = new xmlapi($ip , $root_user , $root_pass);
$xmlapi->set_output('json');
$settings = array('api.version'=>1, 'module' => 'AccountRemoteRoot');
$_result = $xmlapi->xmlapi_query('transfer_module_schema' , $settings);
print $_result;
The schema will resemble the following example:
{
"data": {
"schema": {
"keys": {
"detected_remote_user": {
"def": "char(255) DEFAULT NULL"
},
"ip": {
"def": "int(1) DEFAULT 0"
},
"skipbwdata": {
"def": "int(1) DEFAULT 0"
},
"customip": {
"def": "char(255) DEFAULT NULL"
},
"size": {
"def": "BIGINT UNSIGNED DEFAULT 1"
},
"shared_mysql_server": {
"def": "int(1) DEFAULT 0"
},
"domain": {
"def": "char(255) DEFAULT NULL"
},
"cpmovefile": {
"def": "text"
},
"skiphomedir": {
"def": "int(1) DEFAULT 0"
},
"user": {
"def": "char(255) DEFAULT NULL"
},
"skipacctdb": {
"def": "int(1) DEFAULT 0"
},
"skipres": {
"def": "int(1) DEFAULT 0"
},
"reseller": {
"def": "int(1) DEFAULT 0"
},
"skipaccount": {
"def": "int(1) DEFAULT 0"
},
"copypoint": {
"def": "text"
},
"force": {
"def": "int(1) DEFAULT 0"
},
"live_transfer": {
"def": "int(1) DEFAULT 0"
},
"xferpoint": {
"def": "int(1) DEFAULT 0"
},
"replaceip": {
"def": "char(255) DEFAULT NULL"
},
"localuser": {
"def": "char(255) DEFAULT NULL"
}
},
"required": [
"user",
"localuser"
],
"primary": [
"user"
],
"prerequisite": "user"
}
},
"metadata": {
"version": 1,
"reason": "OK",
"result": "1",
"command": "transfer_module_schema"
}
}