Development Guides Home >> Guide to Transfer and Restore API Functions
Guide to Transfer and Restore API Functions - Create the Transfer Session
Introduction
The creation process creates the 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 owns
example.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 the root password for the remote server.
Create the transfer session
To create the transfer session, use one of the following functions:
- For a
root
transfer session, use the WHM API 1create_remote_root_transfer_session
function. - For a user transfer session, use the WHM API 1
create_remote_user_transfer_session
function.
Select the method by which you wish to call the function:
JSON API (root)
https://hostname.example.com:2087/cpsess##########/json-api/create_remote_root_transfer_session?api.version=1&remote_server_type=cpanel&host=remote.example.com&port=22&user=root&password=12345luggage&transfer_threads=1&restore_threads=1&unrestricted_restore=1©_reseller_privs=0&compressed=0&unencrypted=0&low_priority=0
PHP (root)
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_debug(1);
$xmlapi->set_output('json');
$settings = array(
'api.version'=>1,
'remote_server_type' => 'cpanel',
'host' => 'remote.example.com',
'port' => '22',
'user' => 'root',
'password' => 'luggage12345',
'transfer_threads' => '1',
'restore_threads' => '1',
'enable_custom_pkgacct' => '1',
'unrestricted_restore' => '1',
'copy_reseller_privs' => '0',
'compressed' => '0',
'unencrypted' => '0',
'low_priority' => '0'
);
$_result = $xmlapi->xmlapi_query('create_remote_root_transfer_session' , $settings);
print $_result;
JSON API (user)
https://hostname.example.com:2087/cpsess##########/json-api/create_remote_user_transfer_session?api.version=1&unrestricted_restore=1&host=hostname.example.com&password=12345luggage
PHP (user)
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_debug(1);
$xmlapi->set_output('json');
$settings = array(
'api.version'=>1,
'host' => 'remote.example.com',
'password' => 'luggage12345',
);
$_result = $xmlapi->xmlapi_query('create_remote_user_transfer_session' , $settings);
print $_result;
This function generates the following transfer session ID in the transfer_session_id
return value:
{
"data": {
"analyze_rawout":"Fetching information from remote host: \u201c10.1.100.35\u201d \u2026 \u2026\nDone\nFetching information from remote host: \u201c10.1.100.35\u201d \u2026 \u2026\nDone\n",
"create_rawout":"Basic credential check \u2026 \u2026\nDone\nFetching information from remote host: \u201c10.1.100.35\u201d \u2026 \u2026\nDone\nFetching WHM Version \u2026\nDone\nTesting \u201cvm5.docs.cpanel.net\u201d for transfer streaming support with password authentication....<strong>Streaming Supported</strong>\nRemote Server Type: \u201cWHM1130\u201d\n",
"transfer_session_id": "vm5docscpanelcopya20140430200447f69g"
},
"metadata": {
"version": 1,
"reason": "OK",
"result": "1",
"command": "create_remote_root_transfer_session"
}
}
In this example, vm5docscpanelcopya20140430200447f69g
represents the transfer session ID.