Parallels Business Automation Standard 4.5 Software Development Kit PBAS 45 SDK EN

User Manual: parallels Business Automation Standard - 4.5 - Software Development Kit Free User Guide for Parallels Business Automation Software, Manual

Open the PDF directly: View PDF PDF.
Page Count: 395 [warning: Documents this large are best viewed by clicking the View PDF Link!]

Parallels
Parallels Business
Automation Standard
Software Development Kit
Release 4.5. Revision 1.12
(c) 1999-2014
Copyright Notice
Parallels IP Holdings GmbH
Vordergasse 59
8200 Schaffhausen
Switzerland
Tel: + 41 52 632 0411
Fax: + 41 52 672 2010
Copyright © 1999-2014 Parallels IP Holdings GmbH. and its affiliates. All rights reserved.
This product is protected by United States and international copyright laws. The product's underlying
technology, patents, and trademarks are listed at http://www.parallels.com/trademarks
Microsoft, Windows, Windows Server, Windows NT, Windows Vista, and MS-DOS are registered
trademarks of Microsoft Corporation.
Linux is a registered trademark of Linus Torvalds.
Mac is a registered trademark of Apple, Inc.
All other marks and names mentioned herein may be trademarks of their respective owners.
Contents
Preface 7
Typographical Conventions .......................................................................................................................... 7
Feedback ....................................................................................................................................................... 8
Shell Prompts in Command Examples.......................................................................................................... 8
General Conventions..................................................................................................................................... 9
XML API 10
Introduction to Parallels Business Automation - Standard XML API ........................................................ 11
HSPC/API ................................................................................................................................................... 16
session_open .................................................................................................................................... 16
session_close ................................................................................................................................... 17
HSPC/API/HP............................................................................................................................................. 18
check_app_compat .......................................................................................................................... 18
check_license_compat ..................................................................................................................... 19
get_categorized_plan_list ................................................................................................................ 20
get_extended_plan_info ................................................................................................................... 21
get_full_extended_plan_info ........................................................................................................... 29
get_plan_promotion_list .................................................................................................................. 30
get_promotion.................................................................................................................................. 30
get_sellable_plan_list ...................................................................................................................... 31
validate_plesk_login ........................................................................................................................ 32
HSPC/API/Billing ....................................................................................................................................... 33
calculate_order ................................................................................................................................ 33
get_hosting_target_list..................................................................................................................... 47
place_order ...................................................................................................................................... 48
create_offline_payment ................................................................................................................... 54
get_order_details ............................................................................................................................. 56
get_extended_attr_list ...................................................................................................................... 56
get_account_subscr .......................................................................................................................... 57
subscr_auth ...................................................................................................................................... 57
get_subscr_info ................................................................................................................................ 58
create_custom_invoice .................................................................................................................... 95
get_account_campaigns ................................................................................................................... 96
HSPC/API/Account .................................................................................................................................... 97
create_customer ............................................................................................................................... 97
create_domain_contact .................................................................................................................... 99
create_reseller ................................................................................................................................ 100
get_account_info ........................................................................................................................... 101
get_domain_contact_list ................................................................................................................ 104
get_reseller_terms .......................................................................................................................... 104
validate_password ......................................................................................................................... 104
get_extended_attr_list .................................................................................................................... 105
get_person_list ............................................................................................................................... 106
HSPC/API/Person ..................................................................................................................................... 108
auth_person.................................................................................................................................... 108
get_person_info ............................................................................................................................. 111
HSPC/API/Domain ................................................................................................................................... 112
check_domain_list ......................................................................................................................... 112
check_domain_name_syntax ......................................................................................................... 113
get_domain_list ............................................................................................................................. 113
validate_ns_list .............................................................................................................................. 114
save_contact .................................................................................................................................. 115
validate_domain_data .................................................................................................................... 116
HSPC/API/Mailer ..................................................................................................................................... 117
send ................................................................................................................................................ 117
HSPC/API/PP ........................................................................................................................................... 118
get_saved_paymethod_list ............................................................................................................. 118
get_plugin_list ............................................................................................................................... 119
get_layout_hash ............................................................................................................................. 119
get_redirect_hash ........................................................................................................................... 120
pay ................................................................................................................................................. 121
get_status ....................................................................................................................................... 122
HSPC/API/Fraud ...................................................................................................................................... 122
get_warning_newpaymethod ......................................................................................................... 122
get_resume_newpaymethod .......................................................................................................... 123
get_safe_description ...................................................................................................................... 123
HSPC/API/Config ..................................................................................................................................... 124
get_provider_config....................................................................................................................... 124
HSPC/API/Campaign ............................................................................................................................... 128
get_campaign ................................................................................................................................. 128
get_account_campaigns ................................................................................................................. 129
HSPC/API/SSL ......................................................................................................................................... 129
get_cert_form ................................................................................................................................ 129
validate_cert_form ......................................................................................................................... 130
get_parsed_csr_data....................................................................................................................... 131
Online Store Integration and Customization 132
Online Store Structure .............................................................................................................................. 132
Deploying Online Store ............................................................................................................................ 133
Store Installation on Remote Server .............................................................................................. 133
Open Store, Switch between Old and New Stores .................................................................................... 137
Configuring Redirect URLs to Integrate the Store with Existing Website ............................................... 138
Example 1. Redirect URL to the Store Tab ................................................................................... 140
Example 2. Pass Domain Lookup Data to the Store with Redirect URL ...................................... 141
Store Customization .................................................................................................................................. 143
Changing Store Layout, Styles and Images ................................................................................... 143
Customizing Store by Means of Configuration Parameters........................................................... 145
Integrating with 3rd Party Applications. Kayako Chat .................................................................. 148
Customizing Store Localization .................................................................................................... 151
Updating Third-Party Libraries ................................................................................................................. 153
Updating jQuery ............................................................................................................................ 153
Updating Symfony Components.................................................................................................... 155
User Interface Customization 157
Screens Customization Overview ............................................................................................................. 157
Template Based Customization ................................................................................................................ 162
Customizing Vendor Control Center (PCC/RCC) .................................................................................... 162
Components Repository ................................................................................................................ 162
Screen Aliases Based Customization in Control Centers .............................................................. 169
Customizing Customer Control Panel....................................................................................................... 171
Control Panel Screen Structure ...................................................................................................... 171
Control Panel Top Frame and Tabs Customization ....................................................................... 175
Customizing Main Frame .............................................................................................................. 176
Customizing Control Panel Dashboard.......................................................................................... 177
Control Panel Screens Customization Using Screen IDs .............................................................. 189
Customizing Help Bar in Control Panel ........................................................................................ 198
Adding New Fields to Accounts Registration Form ................................................................................. 199
Extended Attributes Objects .......................................................................................................... 200
Custom Extended Attribute Code Samples ................................................................................... 200
Extending E-Mail Notification Templates ................................................................................................ 203
Placeholder Creation Tools ........................................................................................................... 204
Custom Placeholders Samples ....................................................................................................... 211
Creating Placeholders for Custom Extended Attributes ................................................................ 214
Customizing Language Packs ................................................................................................................... 215
Language Pack Customization Tools ............................................................................................ 215
Language Pack Customization Sample.......................................................................................... 219
Integration with External Helpdesk 222
External Helpdesk API ............................................................................................................................. 222
Adding New Language Pack 225
Parallels Business Automation - Standard Translation Capabilities ......................................................... 226
Preparing Directories and Files for New Language Pack ......................................................................... 227
Translating Interface ................................................................................................................................. 228
Translating General Labels and Messages..................................................................................... 229
Translating ToolTips for Menu Items ............................................................................................ 233
Translating the On-Screen Hints ................................................................................................... 233
Translating Help Files ................................................................................................................... 234
Plug-Ins Development 236
Plug-Ins Toolkit Methods ......................................................................................................................... 237
Anti-Fraud Plug-ins .................................................................................................................................. 238
Graphical Representation .............................................................................................................. 240
Middle Tier Module....................................................................................................................... 244
Post-Installation Configuration Script ........................................................................................... 250
Anti-Fraud Manager Value Structure ............................................................................................ 251
Component repository configuration files ..................................................................................... 252
Anti-Fraud Plug-In Package Structure ........................................................................................... 252
Payment Plug-Ins Development ............................................................................................................... 253
Payment Plug-Ins Types ................................................................................................................ 253
Payment Plug-In Packaging ........................................................................................................... 255
Payment Plug-In Modules and Their Name Spaces ...................................................................... 258
Implementation Details.................................................................................................................. 260
Payment Method Plug-Ins ............................................................................................................. 261
Payment Processing Plug-Ins ........................................................................................................ 267
Creating a New Promotion Plug-In ........................................................................................................... 287
Introductory Notes About Promotion Plug-Ins .............................................................................. 288
Promotion Plug-Ins Objects and Their Naming Conventions ....................................................... 290
Web Interface Module ................................................................................................................... 291
Middle Tier Module....................................................................................................................... 292
Registering a Promotion Plug-In ................................................................................................... 297
Domain Registration Plug-In Development Tools .................................................................................... 299
Domain Plug-In Namespaces ........................................................................................................ 299
HSPC::MT::Plugin::DM Methods ................................................................................................. 299
HSPC::Plugin::DM Methods ......................................................................................................... 317
Required Toolkit Methods ............................................................................................................. 323
Creating a New DNS Plug-In ................................................................................................................... 326
Introductory Notes About DNS Plug-In ........................................................................................ 326
Registering a DNS Plug-In ............................................................................................................ 328
Web Interface Module ................................................................................................................... 329
Middle Tier Module....................................................................................................................... 337
SSL Certificate Plug-In Developmet Tools .............................................................................................. 340
SSL Certificate Plug-In Namespaces ............................................................................................. 340
Middle Tier Module....................................................................................................................... 341
Graphical Presentation Module ..................................................................................................... 349
Building New Plug-In ............................................................................................................................... 355
Tools 358
Bulk Domain Registration / Transfer ........................................................................................................ 358
Credit Card Import .................................................................................................................................... 358
Bank Accounts Import .............................................................................................................................. 359
Migration from Parallels Plesk Billing ..................................................................................................... 359
Bulk Parallels Plesk Domains / Clients Resolving ................................................................................... 359
Script Checking Domain Renewal Date Using WHOIS Information ....................................................... 359
Cleaning Tool ........................................................................................................................................... 360
DNS Synchronization Tool ....................................................................................................................... 361
Parallels Virtuozzo Containers Integration ............................................................................................... 361
Virtuozzo Templates Installing Tool ............................................................................................. 362
Tools for Actions Execution over/in Container ............................................................................. 364
Using Data Import and Export Command Line Tools .............................................................................. 365
Exporting Data into XML Files ..................................................................................................... 366
Importing Billing Data in the Form of XML File .......................................................................... 372
Importing Subscriptions Using XML API ..................................................................................... 374
Examples of XML Files Used for Billing Data Import ................................................................. 375
Example of XML File for Traffic Classes Import ......................................................................... 382
Example of XML File for Traffic Statistics Import ....................................................................... 384
Import-Data Script ......................................................................................................................... 387
Changes Description 390
Index 391
7
In This Chapter
Typographical Conventions .................................................................................................. 7
Feedback ............................................................................................................................... 8
Shell Prompts in Command Examples .................................................................................. 8
General Conventions ............................................................................................................. 9
Typographical Conventions
Before you start using this guide, it is important to understand the documentation conventions
used in it.
The following kinds of formatting in the text identify special information.
Formatting convention Type of Information Example
Special Bold Ite
ms you must select, such
as menu options, command
buttons, or items in a list.
Go to the System tab.
Titles of chapters, sections,
and subsections. Read the Basic Administration
chapter.
Italics
Used to emphasize the
importance of a point, to
introduce
a term or to
designate a command line
placeholder, which is to be
replaced with a real name or
value.
The system supports the so
called wildcard character
search.
Monospace
The names of commands,
files, directories, and domain
names.
The license file is located in
the
http://docs/common/
licenses directory.
C
HAPTER
1
Preface
Preface 8
Preformatted
On-screen computer output in
your command-line sessions;
source code in XML, C++, or
other programming
languages.
# ls –al /files
total 14470
Preformatted Bold
What you type, contrasted
with on-
screen computer
output.
# cd /root/rpms/php
CAPITALS
Names of keys on the
keyboard. SHIFT, CTRL, ALT
KEY+KEY
Key combinations for which
the user must press and hold
down one key and then press
another.
CTRL+P, ALT+F4
Feedback
If you have found a mistake in this guide, or if you have suggestions or ideas on how to improve
this guide, please send your feedback using the online form at
http://www.parallels.com/en/support/usersdoc/. Please include in your report the guide's title,
chapter and section titles, and the fragment of text in which you have found an error.
Shell Prompts in Command
Examples
Command line examples throughout this guide presume that you are using the Bourne-again
shell (bash). Whenever a command can be run as a regular user, we will display it with a dollar
sign prompt. When a command is meant to be run as root, we will display it with a hash mark
prompt:
Bourne-again shell prompt $
Bourne-again shell root prompt #
Preface 9
General Conventions
Be aware of the following conventions used in this book.
Chapters in this guide are divided into sections, which, in turn, are subdivided into
subsections. For example, Documentation Conventions is a section, and General Conventions
is a subsection.
When following steps or using examples, be sure to type double-quotes ("), left single-
quotes (`), and right single-quotes (') exactly as shown.
The key referred to as RETURN is labeled ENTER on some keyboards.
The root path usually includes the /bin, /sbin, /usr/bin and /usr/sbin directories, so
the steps in this book show the commands in these directories without absolute path names.
Steps that use commands in other, less common, directories show the absolute paths in the
examples.
10
XML API has been developed to become primary point of integration with external shopping
carts, billing, and accounting systems and other third-party components.
In This Chapter
Introduction to Parallels Business Automation - Standard XML API .................................. 11
HSPC/API ............................................................................................................................. 16
HSPC/API/HP ....................................................................................................................... 18
HSPC/API/Billing ................................................................................................................. 33
HSPC/API/Account .............................................................................................................. 97
HSPC/API/Person ................................................................................................................. 108
HSPC/API/Domain ............................................................................................................... 112
HSPC/API/Mailer ................................................................................................................. 117
HSPC/API/PP........................................................................................................................ 118
HSPC/API/Fraud ................................................................................................................... 122
HSPC/API/Config ................................................................................................................. 124
HSPC/API/Campaign ............................................................................................................ 128
HSPC/API/SSL ..................................................................................................................... 129
C
HAPTER
2
XML API
XML API 11
Introduction to Parallels Business
Automation - Standard XML API
Parallels Business Automation - Standard XML API Gate is based on SOAP protocol, currently
maintained by World Wide Web Consortium at http://www.w3c.org and supported by most of
modern programming languages as framework for messages exchange and remote method calls.
Parallels Business Automation - Standard XML API Gate is implemented as mod_perl handler
and inherits from SOAP::Transport::HTTP::Apache, i.e. is based on the functionality
provided by SOAP::Lite module available from CPAN. Please, refer to SOAP::Lite
documentation for general information and this section provides implementation details and
examples.
Module namespaces are package names with '::' included are replaced with '/' - see examples
below.
Security
There are two different strategies used by Parallels Business Automation - Standard XML API
Gate in defining security requirements:
For requests coming from a local machine (directly to backend server without involving
frontend, i.e. originating from the same address space and using http://localhost:8080 or
https://localhost:8443 as Parallels Business Automation - Standard XML API Gate proxy
URL).
For requests coming from remote machines (using frontend for proxying requests to
backend).
Safe packages and methods:
local requests: all packages are considered safe and all their methods are public
remote requests: only packages with namespace starting with HSPC/API are considered as
safe
Authentication and sessions handling:
local requests: authentication by password is possible, but not required, authentication is
possible by account number only,
remote requests: authentication by password is required.
Authentication is done with call to session_open() interface in HSPC/API (on page 16)
namespace and relies on functionality provided by Security Manager.
Interfaces in HSPC/API namespace:
session_open()
Parameters: account_no, e-mail, password
Performs authentication with given parameters (required for remote requests and optional
for local, except for account_no or server_name) and initializes session.
XML API 12
If account_no is set to 0, first account which user has roles in is chosen automatically,
but in this case e-mail and password must be set as well.
If server_name is passed and account_no is empty or missing, account_no is
located by vendor's server name located in server_name parameter.
Returns either unique value to be used as HSPC-SID in next requests (see examples of
clients) or SOAP fault envelope with error message.
session_close()
Performs cleanup of session identified by HSPC-SID header.
Returns undef or SOAP fault envelope with error message.
Configuration
Parallels Business Automation - Standard XML API Gate intended for requests from both
local and remote machines is pre-configured at /hspc/xml-api location.
backend
/etc/hspcd/conf/hspc_xml-api.conf
<Location /hspc/xml-api>
SetHandler perl-script
PerlHandler HSPC::XMLAPI
Order Allow,Deny
Allow from all
</Location>
frontend
/etc/httpd/conf/hspc_frontend.conf:
XML API 13
<VirtualHost _default_:443>
...
SSLEngine on
...
<Location /hspc/xml-api>
Order Deny,Allow
Allow from all
</VirtualHost>
<Location /hspc/xml-api>
Order Deny,Allow
Deny from all
</Location>
Security limitation is set by explicitly allowing /hspc/xml-api location for HTTPS
connections and denying for HTTP connections, so that plain text SOAP envelopes couldn't be
read by intruders.
Parallels Business Automation - Standard XML API Gate could be opened at another locations
as well by configuring backend and frontend server in the same way as described above, i.e. by
adding more Location blocks to backend and frontend servers' configurations.
Servers
Exported methods of packages providing API through Parallels Business Automation - Standard
XML API Gate should rely on the following rules:
in order to be available for remote requests, a package name should start from
HSPC::API:: prefix and have its version set:
our $VERSION = 1.0;
first parameter of each call to exported method is always package name, not reference or
whatever;
$ENV{session} is valid only for requests including session ID returned by
session_open() call, i.e. could be valid for local and always valid for remote requests;
$ENV{security_obj} is valid only for requests including session ID and contains valid
account and user IDs identified by call to session_open() (on page 16);
die with error message to immediately return it in SOAP fault envelope with message as
description, using the call like this:
## return fault with:
## - error code 'ErrorCode'
## - error message
die HSPC::API->fault('ErrorCode', 'Error description.');
Notes for HSPstore:
If error code starts with the User prefix, its description is shown to PHP Store visitor, so it
must be localized:
die HSPC::API->fault('UserPassword', string('passwords_do_not_match'));
If error code does not start with the User prefix, its description is not shown to PHP Store
visitor and is only logged to vendor's local log file, so it must not be localized:
XML API 14
die HSPC::API->fault('AuthenRequired', 'Authentication required.');
feel free to return any data structures that you can theoretically serialize to XML - and do not
expect an object to arrive at remote side by just returning its blessed reference (guess why it's
just ridiculous).
Examples
HSPC/Test.pm (local requests):
package HSPC::Test;
use strict;
use Data::Dumper;
## returns dump of parameters list, including class name
sub method {
return Dumper(\@_);
}
1;
HSPC/API/Test.pm (remote requests):
package HSPC::API::Test;
use strict;
our $VERSION = 1.0;
## gets/sets parameter with key passed as a parameter
sub param {
my (undef, $key, $value) = @_;
return defined $value
? $ENV{session}->{$key} = $value
: $ENV{session}->{$key};
}
1;
Clients
In order to initialize stable communication with Parallels Business Automation - Standard XML
API Gate, first call session_open() in HSPC/API (on page 16) namespace to receive
HSPC-SID value and then add HSPC-SID to either HTTP or SOAP headers to each request
before sending SOAP envelope.
Examples
local.pl:
use SOAP::Lite;
use strict;
my $result = SOAP::Lite
->proxy('http://127.0.0.1:8080/hspc/xml-api') ## Gate URL
->ns('HSPC/Test') ## package namespace
->method ## method name
('param1', {param2 => 'test', param3 => [1, 2, 3]}, 0); ## parameters
print $result->fault
? 'Fault: ' . $result->faultstring
: 'Result: ' . $result->result;
local.php:
<?
require_once('nusoap.php');
$client = new soap_client('http://127.0.0.1:8080/hspc/xml-api'); // Gate URL
$result = $client->call(
'method', // method name
array ("param1", array ("param2" => "test", "param3" => array (1, 2, 3)),
0), // parameters
'HSPC/Test' // package namespace
XML API 15
);
if ($client->fault)
die("Fault: {$client->faultstring}");
echo $result;
?>
remote.pl:
use strict;
use SOAP::Lite;
my $client = SOAP::Lite
->proxy('https://192.168.0.100/hspc/xml-api')
->on_fault(sub {die 'Fault: ' . $_[1]->faultstring});
## pass authentication and receive session ID
my $sid = $client->ns('HSPC/API/1.0')->session_open({
email => 'email@provider.com', password => 'password'
})->result->{session_id};
## put session ID to outgoing requests' HTTP headers
$client->transport->http_request->header('HSPC-SID' => $sid);
## make session-dependent calls
$client->ns('HSPC/API/Test/1.0');
$client->param('key' => 'value');
print $client->param('key')->result;
$client->ns('HSPC/API/1.0')->session_close;
remote.php
<? require_once('nusoap.php');
$client = new soap_client('https://192.168.0.100/hspc/xml-api'); // Gate URL
## pass authentication and receive session ID
$sid_result = $client->call('session_open', array (
array ('email' => 'root@provider.com', 'password' => '1q2w3e')
), 'HSPC/API/1.0');
$sid = $sid_result['session_id'];
if ($client->fault)
die("Fault: {$client->faultstring}");
## put session ID to outgoing requests' SOAP headers $client-
>setHeaders("<HSPC-SID>$sid</HSPC-SID>");
## make session-dependent calls
$client->call('param', array ('key', 'value'), 'HSPC/API/Test/1.0');
if ($client->fault)
die("Fault: {$client->faultstring}");
echo $client->call('param', array ('key'), 'HSPC/API/Test/1.0') . "\n";
if ($client->fault)
die("Fault: {$client->faultstring}");
$client->call('session_close', undef, 'HSPC/API/1.0');
if ($client->fault)
die("Fault: {$client->faultstring}"); ?>
XML API 16
HSPC/API
session_open
The function opens session with Parallels Business Automation - Standard XML API server.
The input parameters composition depends on the store installation: (local, i.e. Store is installed
on the same server as Parallels Business Automation - Standard or remote, i.e., the Store
installed on a remote server).
In the function call the namespace must be followed by API version number, e.g. HSPC/API/1.0
Note: Session ID returned by session_open must be included in HTTP Headers or SOAP
Headers for all the other methods called in the frame of each session.
Parameters:
account_id
ID of a vendor account a session is to be
opened for. This parameter is to be passed in
case of a local Store installation. Optional
parameter in case server_name is specified.
server_name Vendor server name used
for authentication.
This parameter is to be passed in case of a local
Store installation. Optional parameter in case
account_id is specified.
email Registered person e-
mail. Parameter is to be
specified in case of the Store remote
installation together with the password
parameter.
password
Registered person password. Parameter is to be
specified in case of the Store remote
installation together with the email parameter.
Returns: {
account_id =>
session_id => }
Parameter Means
account_id The numerical
identifier of an account a
session has been opened for. Account ID is
returned in any case, a vendor account ID is
then used by the other Store API functions.
session_id The identifier of the opened session.
XML API 17
Common SOAP Faults codes:
UserError Mandator
y parameter missing from SOAP
method call
WrongParams Invalid method parameters
No specific SOAP Faults codes.
session_close
The function closes session.
In the method call the namespace must be followed by API version number, e.g. HSPC/API/1.0
The function usage is not necessary but recommended.
No parameters.
No return value.
Common SOAP Faults codes:
UserError
Mandatory parameter missing from SOAP
method call
WrongParams Invalid method parameters
No specific codes.
XML API 18
HSPC/API/HP
check_app_compat
The function checks applications compatibility in Plesk and Virtuozzo Container hosting plans.
Parameters:
hp_sid Hosting plan series key
app_list The list of application templates IDs.
os_tmpl
Optional parameter: ID of OS template
selected for a hosing plan. If not passed, then
the method will return the result as if OS
template with the lowest ID (from OSes
included in hosting plan) was passed as
os_tmpl.
Returns: result => 1 on success or Fault
SOAP Faults codes:
HPNoApplicationSupport
Hosting plan passed as an argument does not
support an application.
UserAppIncompat
Application(s) passed are incompatible with
each other.
XML API 19
check_license_compat
The function checks licenses compatibility in hosting plans.
Parameters:
hp_sid Hosting plan series key
lic_list The list of licenses IDs
Returns: result => 1 on success or Fault
SOAP Faults codes:
HPNoLicClassSupport
Hosting plan does not support at least one
license
HPBaseLicConflict Base licenses specified are incompatible.
HPNoBaseForAddon No base license has been specified for an add-
on license.
XML API 20
get_categorized_plan_list
The method returns the list of hosting plans grouped by categories. Only the basic information is
returned.
The method is similar to get_sellable_plan_list (on page 31). Input parameters are
the same, but output parameters differ: the list of returned hosting plans is grouped by
categories.
Parameters:
type_id
type. Only hosting plans of the type specified
will be returned.
promo_id
applied to hosting plans prices.
account_id Optional parameter: ID of account the prices
are to be calculated for.
sb_sid
Sitebuilder.
sb_node
ID assigned in PBAS.
Returns: plan_list => HP list
SOAP Faults codes:
HPProviderNotAllowed
Provider account ID is used to get hosting
plan details. Only customer or reseller account
ID is allowed as parameter.
XML API 21
get_extended_plan_info
The function returns extended information about a hosting plan. Extended information is all the
data not shown in hosting plans listing.
Parameters:
hp_sid
Optional parameter: Hosting plan series key. If
not specified, the information about default
domain hosting plan will be returned.
promo_id Optional param
eter: The ID of promotion to be
applied to hosting plan prices.
account_id
Optional parameter: ID of account the prices
are to be calculated for.
period
Optional parameter: Subscription period the
discounts are to be calculated for.
for_trial Optional p
arameter: If this parameter is
specified then zero prices for add-
ons (custom
attributes, applications, etc.) will be returned.
os_tmpl
Optional parameter: ID of OS template
selected for a hosing plan. If not passed, then
the method will return the result
as if OS
template with the lowest ID (from OSes
included in hosting plan) was passed as
os_tmpl.
Returns: EXTENDED_HP_INFO (on page 22)
SOAP Faults codes:
HPNoTrial
The for_trial parameter has been specified, but
a hosting plan does not support trial periods.
HPNotFound The hosting plan specified is not found.
HPNoDefaultDMPlan
Hosting plan series key is not specified and
default domain hosting plan does exist.
HPProviderNotAllowed Provider account ID is used to get hosting plan
details. Only customer or reseller account ID is
allowed as parameter.
XML API 22
Example of EXTENDED_HP_INFO Hash
$VAR1 = {
'dns_hosting' => {
'is_unlim' => '0',
'included_value' => '5',
'max_value' => '10',
'overuse_rate' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' =>
'1.00',
'is_complimentary' => '0'
},
'price' => '439182056',
'full_discount_period' => undef,
'promo_name' => undef
}
},
'assigned_dm_plan' => '2',
'is_trial' => '0',
'vendor_id' => '1',
'name' => 'Domain Registration Support',
'provider_id' => '1',
'description' => '',
'question_list' => [
{
'question' => 'How do you like services
included in your subscription?',
'answer' => undef,
'id' => '1'
}
],
'custom_attribute_list' => [
{
'is_exclusive' => '1',
'cat_name' => 'Support'
'description' => 'Attribute
description'
'cat_id' => '1'
'cat_sort_order' => '1'
'option_list' => [
{
'is_default' => '0',
'sort_order' =>
'17',
'name' => 'Support
by phone',
'is_included' =>
'0',
'upgrade_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
XML API 23
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' => '50.0000',
'is_complimentary' => '0'
},
'price' => '437640876',
'full_discount_period' => undef,
'promo_name' => undef
},
'setup_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' => '20.0000',
'is_complimentary' => '0'
},
'price' => '382151368',
'full_discount_period' => undef,
'promo_name' => undef
},
'subscr_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
XML API 24
'price_original' => {
'price' => '50.0000',
'is_complimentary' => '0'
},
'price' => '440264964',
'full_discount_period' => undef,
'promo_name' => undef
},
'id' => '17'
},
{
'is_default' => '0',
'sort_order' =>
'18',
'name' => 'ICQ
Consultant',
'is_included' =>
'0',
'upgrade_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' => '30.0000',
'is_complimentary' => '0'
},
'price' => '438862184',
'full_discount_period' => undef,
'promo_name' => undef
},
'setup_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
XML API 25
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' => '20.0000',
'is_complimentary' => '0'
},
'price' => '440650072',
'full_discount_period' => undef,
'promo_name' => undef
},
'subscr_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' => '30.0000',
'is_complimentary' => '0'
},
'price' => '439183520',
'full_discount_period' => undef,
'promo_name' => undef
},
'id' => '18'
}
],
'sort_order' => '0',
'is_required' => '0',
'name' => 'Miscellaneous',
'id' => '6'
}
],
'summary' => '',
'fee_list' => [
{
'setup_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
XML API 26
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' =>
'10.0000',
'is_complimentary' => '0'
},
'price' => '440550508',
'full_discount_period' => undef,
'promo_name' => undef
},
'subscr_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' =>
'5.0000',
'is_complimentary' => '0'
},
'price' => '440553148',
'full_discount_period' => undef,
'promo_name' => undef
},
'period' => '2592000'
},
{
'setup_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' =>
'20.0000',
'is_complimentary' => '0'
},
'price' => '439338076',
'full_discount_period' => undef,
'promo_name' => undef
},
'subscr_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' =>
'10.0000',
'is_complimentary' => '0'
},
'price' => '440307792',
'full_discount_period' => undef,
XML API 27
'promo_name' => undef
},
'period' => '7776000'
},
{
'setup_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' =>
'30.0000',
'is_complimentary' => '0'
},
'price' => '439238836',
'full_discount_period' => undef,
'promo_name' => undef
},
'subscr_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' =>
'15.0000',
'is_complimentary' => '0'
},
'price' => '440439372',
'full_discount_period' => undef,
'promo_name' => undef
},
'period' => '15552000'
},
{
'setup_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' =>
'40.0000',
'is_complimentary' => '0'
},
'price' => '438988552',
'full_discount_period' => undef,
'promo_name' => undef
},
'subscr_fee' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
XML API 28
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' =>
'20.0000',
'is_complimentary' => '0'
},
'price' => '440380584',
'full_discount_period' => undef,
'promo_name' => undef
},
'period' => '31104000'
}
],
'id' => '21',
'category' => undef,
'type' => {
'summary' => 'Miscellaneous hosting plans designed for
selling any arbitrary services. It gives highest flexibility together with
Custom Attributes and Questionnaire.',
'name' => 'Miscellaneous',
'id' => '7',
'description' => ''
},
'qos_list' => [
{
'is_unlim' => '0',
'incl_amount' => '5',
'max_amount' => '10',
'overuse_rate' => {
'is_discount' => '0',
'promo_period' => undef,
'promo_percent' => undef,
'is_promo' => '0',
'discount_percent' => undef,
'discount_amount' => undef,
'promo_amount' => undef,
'price_original' => {
'price' =>
'1.00',
'is_complimentary' => '0'
},
'price' => '439020192',
'full_discount_period' => undef,
'promo_name' => undef
},
'id' => '4000',
'name' => 'Number of domains with DNS hosting
provided',
'is_metered' => '0',
'short_name' => 'numdnshosting',
'units' => 'domain(s)',
'is_rateable' => '1',
'multiplier' => '1'
}
],
'series_key' => '3'
};
XML API 29
get_full_extended_plan_info
The method returns extended information about a hosting plan. Extended information is all the
data not shown in hosting plans listing.
The method is similar to the get_extended_plan_info (on page 21).
The difference between these methods is: the get_extended_plan_info method returns
resources and applications for a specified OS. The get_full_extended_plan_info
method returns resources and applications for all OSes enabled for a hosting plan.
Parameters:
hp_sid
Optional parameter: Hosting plan series key. If
not specified, the information about default
domain hosting plan will be returned.
promo_id
Optional parameter: The ID of promotion to be
applied to hosting plan prices.
account_id
Optional parameter: ID of account the prices
are to be calculated for.
period
Optional parameter: Subscription period the
discounts are to be calculated for.
for_trial
Optional parameter: If this parameter is
specified then zero prices for add-
ons (custom
attributes, applications, etc.) will be returned.
os_tmpl
Optional parameter: ID of OS template
selected for a hosing plan. If not passed, then
the method will return the result as if OS
template with the lowest ID (from OSes
included in
hosting plan) was passed as
os_tmpl.
Returns: EXTENDED_HP_INFO (on page 22)
SOAP Faults codes:
HPNoTrial
The for_trial parameter has been specified, but
a hosting plan does not support trial periods.
HPNotFound The hosting plan specified is not found.
HPNoDefaultDMPlan
Hosting plan series key is not specified and
default domain hosting plan does exist.
HPProviderNotAllowed
Provider account ID is used to get hosting plan
details. Only customer or reseller account ID is
allowed as parameter.
XML API 30
get_plan_promotion_list
The function returns the list of promotions applicable to a hosting plan.
Parameters:
hp_sid Hosting plan series key.
Returns: PROMOTION list
SOAP Faults codes:
HPNoPromoFound No promotions are applied to a hosting plan.
get_promotion
The function returns information about a promotion by a promotion ID.
Parameters:
promo_id Promotion ID.
Returns: PROMOTION:
SOAP Faults codes:
HPNoPromoSeriesFound No promotion with ID specified exists.
XML API 31
get_sellable_plan_list
The function returns the list of hosting plans for sale. The base information only is returned.
Parameters:
type_id
type. Only hosting pl
will be returned.
promo_id
applied to hosting plans prices.
account_id
are to be calculated for.
sb_sid Optional parameter: Trial site ID. The
Sitebuilder.
sb_node
numeric ID assigned in PBAS.
Returns: plan_list => HP list
SOAP Faults codes:
HPProviderNotAllowed
Provider account ID is used to get hosting
plan detai
ls. Only customer or reseller account
ID is allowed as parameter.
XML API 32
validate_plesk_login
The function checks Plesk Administrator login, password, and forward URL.
Parameters:
login
Optional parameter: Plesk Administrator
login.
password
Optional parameter: Plesk Administrator
password.
forward_url Optional parameter: Plesk forwarding URL.
Returns: result => 1 on success, Fault otherwise
SOAP Faults codes:
PleskLoginInvalid Plesk Administrator login invalid.
PleskPasswordInvalid Plesk Administrator password invalid.
UserPleskForwardURLInvalid Plesk forwarding URL invalid.
XML API 33
HSPC/API/Billing
calculate_order
The function calculates prices in an order.
Parameters:
account_id ID of account the prices are to be calculated for.
hp_sid Optional parameter: Hosting plan series key.
hp_id Optional parameter: Hosting plan ID.
period
Optional parameter in case a period is trial (for_trial
parameter is specified) or if a domain hosting plan is
purchased. Subscription period.
promo_id
Optional parameter: The ID of promotion to be applied to
hosting plan prices.
domain_hash Optional parameter: The list of domains.
app_list Optional parameter: The list of application templates IDs.
attribute_list The list of custom attributes.
sb_plan
Optional parameter: The parameter is to be used only if
Sitebuilder service is included in a hosting plan.
If a Sitebuilder site already exists, the Sitebuilder site alias
must be passed. If a new Sitebuild
er site is to be created,
the 'new' value must be passed.
XML API 34
license_list
Optional parameter: List of licenses included in a hosting
plan. The list of licences is presented as the following
hash:
'license_list' => {
'plugin_1' => {
'SITEBUILDER' => {
'feature_list' => [
'500_SITES',
'1YR_PREMIUM_SUPPORT_PACK',
'MULTI_SERVER_CAPABILITY',
'1YR_EMAIL_SUPPORT_PACK'
]
},
'PLESK_75_RELOADED' => {
'addon_list' => {
'PLESK_BATTLEFIELD' => {
'feature_list' => [
'5_BATTLEFIELD_SERVERS'
]
},
'PLESK_CS_GAMESERVER' => {
'feature_list' => []
}
},
'feature_list' => [
'100_DOMAINS',
'TROUBLE_TICKETING_SYSTEM',
'1YR_PREMIUM_SUPPORT_PACK',
'COLDFUSION',
'INEXPENSIVE_SERVER',
'EXPENSIVE_SERVER'
]
}
}
}
login Optional parameter: The list can include three parameters:
password
login
forwarding URL
The parameters composition depends upon hosting plan
type.
answer_list
The list of answers on a hosting plan questionnaire. Each
answer is a list consisting of a question ID and an answer
string.
qos_list
Optional parameter. The list of billable resources
presented as the following hash:
{
'res_id_1003' => {'res_id' =>
'1003','value' => '2','multiplier' => '1'},
'res_id_1012' => {'res_id' =>
'1012','value' => '1','multiplier' => '1'},
...
XML API 35
}
Where:
res_id -
is a resource numerical identifier assigned in the
Parallels Business Automation - Standard database
multiplier - is a resource units
value -
is an additional resource value ordered over the
included value.
Returns: ORDER (on page 37).
SOAP Faults codes:
AFMdenied Anti-Fraud Manager has stopped an order.
AuthzError Authorization error.
DomainRequired
Hosting plan requires a domain registration, but no
domains were registered.
HPNoApps
Applications specified are not supported by a hosting
plan.
HPNoDomainAction A domain operation specified is not supported.
HPNoDomainAvailable A domain name is not available for registration.
HPNoDomainReg Hosting plan does not support domain registration.
HPNoDomainSubscrAllowed
No more domains allowed for a hosting plan. Allowed
limit for domains registration is used up.
HPNoLicClasses Licenses specified are not supported by a hosting plan.
HPNoSB
Sitebuilder service specified is not supported by a hosting
plan.
HPNoSecureWhois
A domain hosting plan does not support secure whois
service.
HPNoTransferDomainAvailab
le A domain specified is not available fo
r transfer in a
particular hosting plan.
HPNoTrial Hosting plan does not support trial periods.
HPSBErrors
Errors connected with Sitebuilder site have occurred
during order processing.
InvalidDomain Invalid domain name was specified.
NoOrderForProvider Provider tries to place order for themselves.
XML API 36
NoPointerAllowed
Domain pointer operation is not available for a domain
specified.
NoQuestion
No question exists in a hosting plan for an answer
specified.
NoSubdomain Subdomain creation is not available fo
r a domain
specified.
OrderFailed Order creation error.
SubscrNotFound
A subscription a domain registration is to be added to
does not exist.
TLDNoSuchPeriod
A domain registration period specified does not
supported for a TLD.
UserNoVPSPasswd No password specified for Container.
UserVPSPasswdWeak
Container password does not meet the password strength
requirements.
NoHPSidOrID Hosting plan sid or id is not set.
NOPersonId Require person_id but not set in request
XML API 37
Examples of ORDER Hash
Example 1:
$VAR1 = {
'time_stamp' => '2006-08-07 10:34:59',
'doc_balance_print' => '15.0000',
'detail_list' => [
{
'count' => undef,
'period' => '0',
'taxfree_amount' => '10.0000',
'quantity' => undef,
'taxfree_gross_amount' =>
'10.0000',
'duration' => '0',
'discount' => '0.00',
'rate' => '10.000001',
'amount' => '10.0000',
'unit' => '0',
'comment' => 'Dedicated Server
hosting plan setup fee',
'gross_amount' => '10.0000',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '2592000',
'taxfree_amount' => '5.0000',
'quantity' => undef,
'taxfree_gross_amount' => '5.0000',
XML API 38
'duration' => '0',
'discount' => '0.00',
'rate' => '5.000001',
'amount' => '5.0000',
'unit' => '0',
'comment' => 'Dedicated Server
hosting plan subscription fee',
'gross_amount' => '5.0000',
'multiplier' => undef
}
],
'rperiod' => '2592000',
'order_type' => '100',
'doc_status_txt' => 'open',
'plan_type' => '3',
'added_by_account' => '3',
'bhp_id' => '1',
'doc_total' => '15.0000',
'id' => '354057',
'doc_balance' => '15.0000',
'doc_subtotal_print' => '15.0000',
'subscr_end_date' => undef,
'period' => '2592000',
'is_tax_included' => undef,
'name' => 'order',
'doc_subscr_prices' => undef,
'description' => 'Order on purchase Dedicated
Hosting',
'plan_id' => '1',
XML API 39
'doc_type' => 'OR'
};
Example 2:
XML API 40
$VAR1 = {
'doc_balance_print' => '0.0000',
'time_stamp' => '2007-12-14 16:04:12',
'detail_list' => [
{
'count' => undef,
'period' => '0',
'taxfree_amount' => '5.0000',
'quantity' => '',
'taxfree_gross_amount' => '5.0000',
'duration' => '',
'discount' => '0.00',
'rate' => '4.240000',
'amount' => '4.2400',
'unit' => '',
'comment' => 'Virtuozzo Container with lics hosting plan setup
fee',
'gross_amount' => '4.2400',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '2592000',
'taxfree_amount' => '5.0000',
'quantity' => '',
'taxfree_gross_amount' => '5.0000',
'duration' => '1 month(s)',
'discount' => '0.00',
'rate' => '4.240000',
'amount' => '4.2300',
'unit' => '',
'comment' => 'Virtuozzo Container with lics hosting plan
subscription fee',
'gross_amount' => '4.2400',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '31104000',
'taxfree_amount' => '10.0000',
'quantity' => '',
'taxfree_gross_amount' => '10.0000',
'duration' => '1 year(s)',
'discount' => '0.00',
'rate' => '8.470000',
'amount' => '8.4800',
'unit' => '',
'comment' => 'Domain testdomain.com registration for 1 year',
'gross_amount' => '8.4700',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '0',
XML API 41
'taxfree_amount' => '123.0000',
'quantity' => '',
'taxfree_gross_amount' => '123.0000',
'duration' => '',
'discount' => '0.00',
'rate' => '104.240000',
'amount' => '104.2400',
'unit' => '',
'comment' => 'Workgroup Administrator Control Panel setup fee',
'gross_amount' => '104.2400',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '2592000',
'taxfree_amount' => '11.0000',
'quantity' => '',
'taxfree_gross_amount' => '11.0000',
'duration' => '1 month(s)',
'discount' => '0.00',
'rate' => '9.320000',
'amount' => '9.3200',
'unit' => '',
'comment' => 'Workgroup Administrator Control Panel monthly
fee',
'gross_amount' => '9.3200',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '0',
'taxfree_amount' => '33.0000',
'quantity' => '',
'taxfree_gross_amount' => '33.0000',
'duration' => '',
'discount' => '0.00',
'rate' => '27.970000',
'amount' => '27.9600',
'unit' => '',
'comment' => 'Php As3 setup fee',
'gross_amount' => '27.9700',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '2592000',
'taxfree_amount' => '21.0000',
'quantity' => '',
'taxfree_gross_amount' => '21.0000',
'duration' => '1 month(s)',
'discount' => '0.00',
'rate' => '17.800000',
'amount' => '17.8000',
'unit' => '',
'comment' => 'Php As3 monthly fee',
XML API 42
'gross_amount' => '17.8000',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '0',
'taxfree_amount' => '23.0000',
'quantity' => '',
'taxfree_gross_amount' => '23.0000',
'duration' => '',
'discount' => '0.00',
'rate' => '19.490000',
'amount' => '19.4900',
'unit' => '',
'comment' => 'Psa Sb Publish As3 setup fee',
'gross_amount' => '19.4900',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '2592000',
'taxfree_amount' => '3.0000',
'quantity' => '',
'taxfree_gross_amount' => '3.0000',
'duration' => '1 month(s)',
'discount' => '0.00',
'rate' => '2.540000',
'amount' => '2.5500',
'unit' => '',
'comment' => 'Psa Sb Publish As3 monthly fee',
'gross_amount' => '2.5400',
'multiplier' => undef
},
{
'count' => undef,
'period' => '0',
'taxfree_amount' => '5.0000',
'quantity' => '',
'taxfree_gross_amount' => '5.0000',
'duration' => '',
'discount' => '0.00',
'rate' => '4.240000',
'amount' => '4.2300',
'unit' => '',
'comment' => '512 MB DDR setup fee',
'gross_amount' => '4.2400',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '2592000',
'taxfree_amount' => '6.0000',
'quantity' => '',
'taxfree_gross_amount' => '6.0000',
'duration' => '1 month(s)',
XML API 43
'discount' => '0.00',
'rate' => '5.080000',
'amount' => '5.0900',
'unit' => '',
'comment' => '512 MB DDR monthly fee',
'gross_amount' => '5.0800',
'multiplier' => undef
},
{
'count' => undef,
'period' => '0',
'taxfree_amount' => '2.0000',
'quantity' => '',
'taxfree_gross_amount' => '2.0000',
'duration' => '',
'discount' => '0.00',
'rate' => '1.690000',
'amount' => '1.6900',
'unit' => '',
'comment' => '80 GB setup fee',
'gross_amount' => '1.6900',
'multiplier' => undef
},
{
'count' => '1.000000',
'period' => '2592000',
'taxfree_amount' => '2.0000',
'quantity' => '',
'taxfree_gross_amount' => '2.0000',
'duration' => '1 month(s)',
'discount' => '0.00',
'rate' => '1.690000',
'amount' => '1.7000',
'unit' => '',
'comment' => '80 GB monthly fee',
'gross_amount' => '1.6900',
'multiplier' => undef
},
{
'count' => undef,
'period' => '2592000',
'taxfree_amount' => '8.0000',
'quantity' => '2',
'taxfree_gross_amount' => '8.0000',
'duration' => '1 month(s)',
'discount' => '0.00',
'rate' => '3.390000',
'amount' => '6.7800',
'unit' => 'domain',
'comment' => 'Number of domains with DNS hosting provided
monthly fee',
'gross_amount' => '6.7800',
'multiplier' => '1.000000'
},
{
XML API 44
'count' => undef,
'period' => '2592000',
'taxfree_amount' => '2.0000',
'quantity' => '1',
'taxfree_gross_amount' => '2.0000',
'duration' => '1 month(s)',
'discount' => '0.00',
'rate' => '1.690000',
'amount' => '1.6900',
'unit' => 'ip(s)',
'comment' => 'Number of Static IP addresses monthly fee',
'gross_amount' => '1.6900',
'multiplier' => '1.000000'
},
{
'count' => undef,
'period' => '0',
'taxfree_amount' => '2.0000',
'quantity' => '',
'taxfree_gross_amount' => '2.0000',
'duration' => '',
'discount' => '0.00',
'rate' => '1.690000',
'amount' => '1.7000',
'unit' => '',
'comment' => 'Plesk 7.5 Plus setup fee',
'gross_amount' => '1.6900',
'multiplier' => undef
},
{
'count' => undef,
'period' => '2592000',
'taxfree_amount' => '3.0000',
'quantity' => '1',
'taxfree_gross_amount' => '3.0000',
'duration' => '1 month(s)',
'discount' => '0.00',
'rate' => '2.540000',
'amount' => '2.5400',
'unit' => '',
'comment' => 'Plesk 7.5 Plus monthly fee',
'gross_amount' => '2.5400',
'multiplier' => undef
},
{
'count' => undef,
'period' => '0',
'taxfree_amount' => '2.0000',
'quantity' => '',
'taxfree_gross_amount' => '2.0000',
'duration' => '',
'discount' => '0.00',
'rate' => '1.690000',
'amount' => '1.6900',
'unit' => '',
XML API 45
'comment' => 'Unlimited Domains w/1 yr SUS (Plesk 7.5 Plus)
setup fee',
'gross_amount' => '1.6900',
'multiplier' => undef
},
{
'count' => undef,
'period' => '2592000',
'taxfree_amount' => '3.0000',
'quantity' => '1',
'taxfree_gross_amount' => '3.0000',
'duration' => '1 month(s)',
'discount' => '0.00',
'rate' => '2.540000',
'amount' => '2.5500',
'unit' => '',
'comment' => 'Unlimited Domains w/1 yr SUS (Plesk 7.5 Plus)
monthly fee',
'gross_amount' => '2.5400',
'multiplier' => undef
},
{
'count' => undef,
'period' => '0',
'taxfree_amount' => '5.0000',
'quantity' => '',
'taxfree_gross_amount' => '5.0000',
'duration' => '',
'discount' => '0.00',
'rate' => '4.240000',
'amount' => '4.2300',
'unit' => '',
'comment' => '1 yr E-mail Support Package (Plesk 7.5 Plus) setup
fee',
'gross_amount' => '4.2400',
'multiplier' => undef
},
{
'count' => undef,
'period' => '2592000',
'taxfree_amount' => '4.0000',
'quantity' => '1',
'taxfree_gross_amount' => '4.0000',
'duration' => '1 month(s)',
'discount' => '0.00',
'rate' => '3.390000',
'amount' => '3.3900',
'unit' => '',
'comment' => '1 yr E-mail Support Package (Plesk 7.5 Plus)
monthly fee',
'gross_amount' => '3.3900',
'multiplier' => undef
},
{
'count' => undef,
XML API 46
'period' => '0',
'taxfree_amount' => '0.0000',
'quantity' => '',
'taxfree_gross_amount' => '0.0000',
'duration' => '',
'discount' => '0.00',
'rate' => '0.000000',
'amount' => '42.4100',
'unit' => '',
'comment' => '+ NDS 18.00 %',
'gross_amount' => '42.4100',
'multiplier' => undef
}
],
'rperiod' => '2592000',
'subscr_id' => '240',
'order_type' => '100',
'doc_date' => '2007-12-14 16:03:26',
'doc_subtotal' => '235.5900',
'subscriptions' => [
{
'ar_doc_id' => '745',
'subscr_status' => '1',
'applied' => '1',
'start_date' => '2007-12-14 16:03:56',
'id' => '240'
},
{
'ar_doc_id' => '745',
'subscr_status' => '1',
'applied' => '1',
'start_date' => '2007-12-14 16:04:06',
'id' => '241'
}
],
'added_by_account' => '2',
'doc_status_txt' => 'ds_completed',
'plan_type' => '1',
'plan_type_txt' => 'Virtuozzo Container',
'domain' => 'testdomain.com',
'bhp_id' => '314',
'doc_balance' => '0.0000',
'doc_total' => '278.0000',
'id' => '745',
'provider_tax_ex_number' => '',
'doc_subtotal_print' => '235.5900',
'period' => '2592000',
'subscr_end_date' => undef,
'is_tax_included' => '1',
'name' => 'order',
'order_id' => '745',
'doc_num' => '1336',
'description' => 'Order on the Container creation',
'plan_id' => '314',
'doc_type' => 'OR',
XML API 47
'added_by_ip' => '10.30.64.209',
'plan_name' => 'Virtuozzo Container with lics'
};
get_hosting_target_list
The function returns the list of subscriptions (that already exist for an account) with not fully
used resources, which allows creating hosting in the range of these remaining resources.
Parameters:
account_id Account ID.
Returns: {hosting_target_list => {id => ID, name => STRING, plan_name => STRING,
sites_available => NUMBER} }
SOAP Faults codes:
No specific codes.
XML API 48
place_order
The function places order.
Parameters:
account_id ID of account the prices are to be calculated for.
hp_sid Hosting plan series key.
period
Optional parameter in case a period is trial (for_trial
parameter is specified) or if a domain hosting plan is
purchased. Subscription period.
campaign Optional parameter. ID of campaign (Marketing Director >
Campaign Manager > Campaigns
). When user is redirected
to store via a Campaign link, redirector adds
HSPC_MM=<campaign_id> parameter to store URL.
Example:
Redirect To URL: http://mystore.host.com
Campaign ID: 25
Redirecti
on is done to URL
http://mystore.host.com?HSPC_MM=25
In this way store gets campaign ID.
When order is placed, campaign ID must be send back to
the server, to add this order to campaign report.
promo_id Optional parameter: The ID of promotion to be appli
ed to
hosting plan prices.
XML API 49
domain_hash
The list of domains. Each domain in this list is presented
by the following hash:
{'domain1' => {
domain_name => 'example.com' -- self-explanatory
dm_action => 'register_new' -- action over domain
period => 2, -- registration period in years
whois_privacy => 1|0 -- use whois privacy yes|no
is_manual => 1| 0 --
use manual registration yes|no. Use
when importing domain subscription.
expire_time => Expiration date for domain. Use when
importing domains. Format: Use any
string parsable by
Date::Manip (which is, well, just about anything).
contact_hash => {admin => 45, billing => 0, owner =>
undef} --
mapping of contact types to use for domain to
contact IDs. If contact id is 'undef' or '0', it will be created
on the basis of account contact information
create_site => 1|0 - create site for this domain or no.
hosting_destination => 56 -
Subscription number, for
which this domain is bought.
is_default => 1|0 --
If 1, this domain is specified as the
default one in the order.
ns_list => [[HOSTNAME, IP], [HOSTNAME, IP], ...] --
list of nameservers for domain. If present,
no DNS hosting service will be provided.
},
'domain2' => { ... },
ext_data => { purpose of domaun usage => 'Business', ... }
-- any additional information requ
ired by a registrar. This
parameter is always the only one in the hash.
}
app_list The list of application templates IDs.
XML API 50
attribute_list The list of custom attributes.
sb_plan
Optional parameter: The parameter is to be used only if
Sitebuilder service is included in a hosting plan.
If a Sitebuilder site already exists, the Sitebuilder site alias
must be passed. If a new Sitebuilder site is to be created,
the 'new' value must be passed.
license_list List of licenses included in a hosting plan.
login The list can include three parameters:
password
login
forwarding URL
The parameters composition depends upon hosting plan
type.
answer_list
The list of answers on a hosting plan questionnaire. Each
answer is a list consisting of a question ID and an answer
string.
for_trial If an order is for trial period.
initiator_email E-mail of a person that has added an order.
initiator_ip IP address of a person that has added an order.
description Optional parameter. Order description.
XML API 51
is_free 1 - yes or 0 - n
o. Optional parameter that can be used by
provider only. The parameter specifies whether an order
should be free (1) or not (0). If yes, the balance of an order
created on a subscription import is adjusted to zero, that is
a special 'balance correction' st
ring is added to an order.
This parameter can be used, for example if a provider
wants to import a a subscription or a number of
subscriptions into Parallels Business Automation -
Standard and it is necessary that a corresponding orders to
be generated for
these subscriptions will be of a zero
amount.
Note: Only provider is allowed to use the is_free
parameter. If this parameter is used by a reseller, this will
result in SOAP fault (see the list of SOAP Fault Codes
below this table).
ext_data List of extended attributes
qos_list
Optional parameter. The list of billable resources
presented as the following hash:
{
'res_id_1003' => {'res_id' =>
'1003','value' => '2','multiplier' => '1'},
'res_id_1012' => {'res_id' =>
'1012','value' => '1','multiplier' => '1'},
...
}
Where:
res_id -
is a resource numerical identifier assigned in the
Parallels Business Automation - Standard database
multiplier - is a resource units
value -
is an additional resource value ordered over the
included value.
Returns: ORDER (on page 37).
SOAP Faults codes:
AFMdenied Anti-Fraud Manager has stopped an order.
AuthzError Authorization error.
DomainRequired
Hosting plan requires a domain registration, but no
domains were registered.
HPNoApps Applications speci
fied are not supported by a hosting
plan.
XML API 52
HPNoDomainAction A domain operation specified is not supported.
HPNoDomainAvailable A domain name is not available for registration.
HPNoDomainReg Hosting plan does not support domain registration.
HPNoDomainSubscrAllowed
No more domains allowed for a hosting plan. Allowed
limit for domains registration is used up.
HPNoLicClasses Licenses specified are not supported by a hosting plan.
HPNoSB
Parallels Sitebuilder service specified is not supported by
a hosting plan.
HPNoSecureWhois
A domain hosting plan does not support secure whois
service.
HPNoTransferDomainAvailab
le
A domain specified is not available for transfer in a
particular hosting plan.
HPNoTrial Hosting plan does not support trial periods.
HPSBErrors
Errors connected with Parallels Sitebuilder site have
occurred during order processing.
InvalidDomain Invalid domain name was specified.
NoOrderForProvider Provider tries to place order for themselves.
NoPointerAllowed Domain pointer operation is n
ot available for a domain
specified.
NoQuestion
No question exists in a hosting plan for an answer
specified.
NoSubdomain
Subdomain creation is not available for a domain
specified.
OrderFailed Order creation error.
OrderFreeDenied The is_free paramete
r is used not by provider (for
example, reseller tries to create a free order).
OrderExtData Extended attribute addition error.
SubscrNotFound
A subscription a domain registration is to be added to
does not exist.
TLDNoSuchPeriod A domain registration p
eriod specified does not
supported for a TLD.
UserNoVPSPasswd No password specified for Container.
XML API 53
UserVPSPasswdWeak
Container password does not meet the password strength
requirements.
XML API 54
create_offline_payment
This function allows creating an offline payment and, at the same moment, applying this
payment to a number of documents.
Note: The payment created by this function can be applied to documents with Open or Overdue
status. The payment can be applied only to the following types of documents: Order, Invoice,
Debit Adjustment, and Payment Request. A payment can be applied only to documents assigned
to an account a payment was issued for.
Parameters:
amount A payment total amount.
account_id ID of account a payment is issued for.
ref_num A payment reference number.
doc_list
Optional parameter. List of IDs of documents a payment
is to be applied to.
adjust_error_fatal
Optional parameter that defines the function behavior in
case of error, depending of a value assigned to
this
parameter :
If 1, then any error that occurs will stop payment
processing and produce SOAP fault DocAdjustError.
Errors will be placed into SOAP details.
If 0, then in case errors occur, the function will keep
trying to pay documents, but all the erro
rs will be
returned.
Returns:
{ result => 1 } if no errors occurred, and offline payment has been placed successfully.
or
{ result => 0, error_info => ARRAYREF } if adjust_error_fatal=0 and some
errors occurred.
Example of returned value:
{
'error_info' => [
{
'error_message' => 'Document 103 has been paid',
'document' => '103',
'error_code' => 'DocPaid'
XML API 55
}
],
'result' => '0'
};
SOAP Faults codes:
DocAdjustError Error adjusting documents!
Document type specific errors:
DocInvalidAccount
Document %DOCID% was not added by the account
trying to pay for it.
DocPaid Document %DOCID% has been paid
DocNotOpen Document %DOCID% is not open
DocWrongType Document %DOCID% is of an inappropriate type.
Example of Test Code for create_offline_payment Function
#!/usr/bin/perl
use strict;
use SOAP::Lite;
use Data::Dumper;
my $client = SOAP::Lite
->proxy('https://hspc_mn_server_name/hspc/xml-api')
->on_fault(sub {die 'Fault: '.$_[1]->faultstring.' '.$_[1]->faultcode.'
'.$_[1]->faultdetail});
my $sid = $client->ns('HSPC/API/1.0')->session_open(
{
email => 'someuser@somehost', password => 'somepassword'
}
)->result->{session_id};
$client->transport->http_request->header('HSPC-SID' => $sid);
my %h = (
amount => 5,
account_id => 2,
ref_num => 'test offline payment',
doc_list => [103],
adjust_error_fatal => 1,
);
my $obj = $client->ns('HSPC/API/Billing/1.0')->create_offline_payment(%h)-
>result;
print "\nResult: " . Dumper($obj);
$client->ns('HSPC/API/1.0')->session_close;
XML API 56
get_order_details
This function allows getting the full information about an order by an order ID.
Parameters:
order_id
An order numerical identifier assigned in the
Parallels Business Automation - Standard database.
doc_num An order reference number (optional).
Returns: ORDER (on page 37), see Example 2.
Note: The function can be used to get details of other types of documents, for example, invoice.
To use the function this way, a document ID is to be passed. In this case, th parameter name
remains the same, order_id.
SOAP Faults codes:
OrderNotFound
Order not found. This means that no order with the
ID specified.
AuthzError Access Denied.
get_extended_attr_list
The function returns extended attributes available for a particular hosting plan type.
Parameters:
order_type
Order type: corresponds to a hosting plan type, the
parameter value (constant) is a hosting plan code used
in Store.
Returns value: [ { view_name=>, title=>, value=>, type=> }, .. ]
SOAP Faults codes:
No specific codes.
XML API 57
get_account_subscr
The function returns the list of account subscriptions.
Parameters:
account_id ID of account the list of subscriptions is requested.
Returns an array of hashes:
{'plan_type_txt' => STRING, 'plan_type' => INT, 'status' => STRING, 'plan_name' =>
STRING, 'subscr_name' => STRING, 'subscr_id' => ID }
SOAP Faults codes:
MissingAccount No accounts with passed ID has been found.
AccessDenied
Function is called by a person not logged in or
logged in
with insufficient permissions. Access to
account information is denied.
AccountAccessDenied
Access to account information is denied in case a
reseller uses this function, but account belongs to
another reseller. Another match is the situation when
a user
is logged in and requests information about
account that does not belong to him/her.
subscr_auth
The function authorizes an account against subscription ID.
Parameters:
account_id ID of account the list of subscriptions is requested.
subscr_id ID of subscription.
Returns:
is_authorized => 1 or 0
SOAP Faults codes:
SubscrNotFound No subscription with ID passed.
AuthzError
Subscription belongs to another account or in case a
reseller uses this function, to another reseller.
XML API 58
get_subscr_info
The function returns full subscription information.
Parameters:
subscr_id ID of subscription.
account_id Optional parameter. ID of account subscription belongs
to.
If account_id is provided, subscription is verified for belonging to the account.
Returns:
Various outputs depending on Subscription type, see examples (on page 62).
In general, the following parameters are returned.
All subscriptions:
Common output fields for all subscription types:
id ID of subscription.
name Subscription name.
account_no ID of account.
status_txt
Subscription status in text form ( Active, On Hold,
etc.).
status ID of subscription status.
prev_status Subscription previous status ID.
plan_type Hosting plan ID.
plan_type_txt Hosting plan type in text.
plan_id Hosting plan ID.
plan_sid Hosting plan series key.
plan_name Hosting plan name in text.
create_order_id ID of order placed for subscription.
period Subscription period duration (given in seconds).
next_period
If subscription has been renewed, next subscription
period.
XML API 59
renewal_policy Renewal policy code:
0 - Do not generate renewal order automatically;
1 -
Generate renewal order automatically and try to
pay it.
2. - Generate renewal order automatical
ly and do
not to pay it.
trial_period
If subscription is trial, then trial period duration in
seconds is returned.
custom_subscr_fee
Custom subscription fee (if such has been set for
subscription).
start_date Subscription start date.
end_date Subscription end date.
grace_date
If subscription is in Graced status, the grace period start
date.
expiration_date Subscription expiration date.
termination_date
If subscription has been terminated, subscription
termination date is returned.
goaway_date
If subscription has been deleted, the deletion date is
returned.
Common returned parameters for all subscription types except for Domain registration ones:
prom_id
If promotion has been applied to subscription,
promotion ID is returned.
prom_start_date
Promotion period start date (if promotion has been
applied).
prom_end_date
Promotion period end date (if promotion has been
applied).
res_info All resources included in subscription.
bm_attr Custom attributes assigned to subscription (if any).
questions
Questions specified (Questionnaire) for subscription, if
any.
assigned_domains Domains assigned to subscription, if any.
The following subscription types have some extra output fields:
Domain registration subscription returned parameters:
XML API 60
domain Hash containing information about domain zone.
regdomain Hash containing information about domain registration.
Virtuozzo Container subscription:
platform_id ID of Container platform:
-1 - Unknown
0 - All
1 - Linux Vz2.0
3 - Linux Vz3.x
4 - Windows Vz3.x
5 - Linux Vz3.x EM64T
6 - Linux Vz3.x IA64
100 - Non-VZ
201 - Plesk for Unix
202 - Plesk for Windows
platform Platform name in text form.
traf_class
Traffic class ID, if such has been configured for
subscription.
app_resources Applications available for subscription.
is_root_access If root access allowed for Container.
ve_id Container ID.
ve Container name.
Plesk Client subscription:
traf_class
Traffic class ID, if such has been configured for
subscription.
plesk_client Hash containing info
rmation about Plesk client (ID,
node, status, etc.)
platform_id
Plesk platform ID (name as for Virtuozzo Container
subscription.
platform Plesk platform name in text form.
app_resources Applications available for subscription.
Plesk Domain subscription:
XML API 61
traf_class
Traffic class ID, if such has been configured for
subscription.
plesk_domain
Hash containing information about Plesk domain (ID,
node, status, etc.)
platform_id
Plesk platform ID (name as for Virtuozzo Container
subscription.
platform Plesk platform name in text form.
app_resources Applications available for subscription.
Plesk Dedicated Server subscription:
hw_id Server ID assigned in Parallels Business Automation.
server_properties
Hash containing information about server
configuration.
Dedicated Server subscription:
platform_id
Server platform ID (name as for Virtuozzo Container
subscription.
platform Platform name in text form.
traf_class
Traffic class ID, if such has been configured for
subscription.
server_properties
Hash containing information about server
configuration.
hw_id Server ID assigned in Parallels Business Automation.
SOAP Faults codes:
SubscrNotFound No subscription with ID passed.
AuthzError
Subscription belongs to another account or in case a
reseller uses this function, to another reseller.
XML API 62
Example of get_subscr_info Returned Values
Examples of get_subscr_info function output depending on a subscription type are presented in
this topic.
Dedicated server
{
'goaway_date' => undef,
'prom_start_date' => '2007-09-10 08:54:12',
'trial_period' => '0',
'traf_class' => undef,
'plan_type' => '3',
'plan_type_txt' => 'Dedicated Server',
'account_no' => '3',
'renewal_policy' => '1',
'assigned_domains' => [],
'id' => '7',
'bm_attr' => [
{
'group_id' => '1',
'group_name' => 'Hard Disk',
'bm_attr_id' => '2',
'name' => '80 GB',
'subscr_id' => '7',
'is_complimentary' => '0'
},
{
'group_id' => '2',
'group_name' => 'Memory',
'bm_attr_id' => '5',
'name' => '512 MB DDR',
'subscr_id' => '7',
'is_complimentary' => '0'
},
{
'group_id' => '3',
'group_name' => 'Processor',
'bm_attr_id' => '8',
'name' => 'AMD Athlon64 3000',
'subscr_id' => '7',
'is_complimentary' => '0'
},
{
'group_id' => '5',
'group_name' => 'Operating System',
'bm_attr_id' => '14',
'name' => 'Windows Server 2003',
'subscr_id' => '7',
'is_complimentary' => '0'
}
],
'period' => '2592000',
'prom_id' => '0',
'name' => 'DS1234',
'questions' => [],
'prom_end_date' => undef,
'custom_subscr_fee' => undef,
'is_traffic_overused' => '0',
'end_date' => '2008-11-30 00:00:00',
'plan_name' => 'DS',
'next_period' => '2592000',
'base_date' => '2000-01-30 00:00:00',
'res_info' => [
{
XML API 63
'short_name' => 'numstaticip',
'is_unlim' => '0',
'is_advanced' => '0',
'id' => '7',
'value' => '1',
'name' => 'Number of Static IP addresses',
'is_domain' => '0',
'is_countable' => '1',
'max_value' => '1048576',
'overuse_rate' => '0.000000',
'is_ve_related' => '0',
'is_metered' => '0',
'res_id' => '201',
'is_reducible' => '1',
'multiplier' => '1',
'units' => 'ip(s)'
},
{
'short_name' => 'numdnshosting',
'is_unlim' => '0',
'id' => '7',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of domains with DNS hosting
provided',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1048576',
'is_metered' => '0',
'res_id' => '208',
'is_reducible' => '0',
'units' => 'domain',
'multiplier' => '1'
}
],
'server_properties' => {
'port' => '',
'identification' => 'DS1234',
'switch_id' => '0',
'ipaddresses' => [
'12.13.14.15',
'12.13.14.16'
],
'comment' => 'test dedicated',
'switch' => undef,
'rack' => undef,
'id' => '3',
'attributes' => [
{
'attr_id' => '6',
'name' => '1024 MB DDR'
},
{
'attr_id' => '11',
'name' => 'VIRUS
Protection'
},
{
'attr_id' => '3',
'name' => '120 GB'
},
{
'attr_id' => '13',
'name' => 'ROOT Access'
},
XML API 64
{
'attr_id' => '9',
'name' => 'Dual Intel Xeon
D 2.8 GHz'
},
{
'attr_id' => '12',
'name' => 'Development
Tools'
},
{
'attr_id' => '15',
'name' => 'Fedora Linux'
}
],
'form_factor' => '45'
},
'plan_sid' => '16',
'status' => '1',
'is_upgrade' => undef,
'is_notify' => undef,
'prev_status' => '10',
'create_order_id' => '31',
'status_txt' => 'active',
'grace_date' => '2008-05-14 08:48:21',
'billable_items' => [],
'start_date' => '2007-09-10 08:54:12',
'platform' => 'Non-VZ',
'termination_date' => undef,
'hw_id' => '3',
'expiration_date' => '2008-10-26 00:00:00',
'plan_id' => '16',
'platform_id' => '100'
};
Miscellaneous Subscription
{
'goaway_date' => undef,
'prom_start_date' => '2008-04-29 11:25:58',
'trial_period' => '0',
'plan_type' => '7',
'plan_type_txt' => 'Miscellaneous',
'account_no' => '2',
'renewal_policy' => '1',
'assigned_domains' => [
'fdgfdgdfg.com'
],
'id' => '166',
'bm_attr' => [],
'period' => '2592000',
'prom_id' => '0',
'name' => 'Miscellaneous (34)',
'questions' => [
{
'question' => 'Question 1',
'value' => 'answer 1',
'question_id' => '1',
'hp_id' => '238',
'subscr_id' => '166'
},
{
'question' => 'Question 2',
'value' => 'answer 2',
'question_id' => '2',
'hp_id' => '238',
'subscr_id' => '166'
},
XML API 65
{
'question' => 'Question 3',
'value' => 'answer 3',
'question_id' => '3',
'hp_id' => '238',
'subscr_id' => '166'
}
],
'prom_end_date' => undef,
'custom_subscr_fee' => undef,
'end_date' => '2008-05-29 00:00:00',
'plan_name' => 'Misc 21',
'next_period' => '7776000',
'base_date' => '2008-05-29 00:00:00',
'res_info' => [
{
'short_name' => 'numdnshosting',
'is_unlim' => '0',
'is_advanced' => '0',
'id' => '166',
'value' => '10',
'name' => 'Number of domains with DNS hosting
provided',
'is_domain' => '0',
'is_countable' => '1',
'max_value' => '1048576',
'overuse_rate' => '1.000000',
'is_ve_related' => '0',
'is_metered' => '0',
'res_id' => '4000',
'is_reducible' => '0',
'multiplier' => '1',
'units' => 'domain'
}
],
'plan_sid' => '127',
'status' => '1',
'is_upgrade' => undef,
'is_notify' => undef,
'prev_status' => '3',
'create_order_id' => '922',
'status_txt' => 'active',
'grace_date' => undef,
'billable_items' => [],
'start_date' => '2008-04-29 11:25:58',
'termination_date' => undef,
'expiration_date' => undef,
'plan_id' => '241'
};
Plesk Client Subscription
{
'goaway_date' => '2008-03-08 00:00:00',
'prom_start_date' => '2007-12-21 13:31:32',
'trial_period' => '0',
'traf_class' => undef,
'plan_type' => '10',
'plan_type_txt' => 'Plesk Client',
'account_no' => '4',
'renewal_policy' => '0',
'assigned_domains' => [
'sub-cli-2.com'
],
'id' => '36',
'bm_attr' => [],
'period' => '2592000',
'prom_id' => '0',
XML API 66
'name' => 'Dr. John Lector (4-1047)',
'questions' => [],
'app_resources' => [],
'prom_end_date' => undef,
'plesk_client' => {
'status' => '0',
'status_txt' => 'active',
'subscr_id' => '36',
'hw_id' => '1',
'id' => '244',
'plesk_status' => '0',
'plesk_id' => '26',
'plesk_name' => 'Dr. John Lector (4-1047)'
},
'custom_subscr_fee' => undef,
'is_traffic_overused' => '0',
'end_date' => '2008-02-21 13:37:43',
'plan_name' => 'PC Win Uniq HN',
'next_period' => '2592000',
'base_date' => '2007-12-21 13:37:43',
'res_info' => [
{
'short_name' => 'pc_diskquota',
'is_unlim' => '0',
'is_advanced' => '0',
'id' => '36',
'value' => '100',
'name' => 'Disk space quota',
'is_domain' => '0',
'is_countable' => '1',
'max_value' => '1024000',
'overuse_rate' => '0.000000',
'is_ve_related' => '0',
'is_metered' => '0',
'res_id' => '1300',
'is_reducible' => '0',
'multiplier' => '1048576',
'units' => 'MB'
},
{
'short_name' => 'pc_numwebusers',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of web users',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1302',
'is_reducible' => '0',
'units' => 'users',
'multiplier' => '1'
},
{
'short_name' => 'pc_nummailbox',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mailboxes',
'is_ve_related' => '0',
XML API 67
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1304',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_mailboxquota',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Mailbox quota',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '102400',
'is_metered' => '0',
'res_id' => '1305',
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
},
{
'short_name' => 'pc_nummailredir',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mail redirects',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1306',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_nummailgrp',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mail groups',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1307',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_nummailautoresp',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
XML API 68
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mail autoresponders',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1308',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_nummaillist',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mailing lists',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1309',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_numwebapp',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of web applications',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1310',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_numsubdomains',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of subdomains',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1311',
'is_reducible' => '0',
'units' => 'subdomains',
'multiplier' => '1'
},
XML API 69
{
'short_name' => 'pc_numdomains',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '2',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of domains',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1312',
'is_reducible' => '0',
'units' => 'domains',
'multiplier' => '1'
},
{
'short_name' => 'pc_numips',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '0',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of IP',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1313',
'is_reducible' => '0',
'units' => 'ip(s)',
'multiplier' => '1'
},
{
'short_name' => 'pc_mysqldbquota',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '100',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'mysql database quota',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1024000',
'is_metered' => '0',
'res_id' => '1321',
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
},
{
'short_name' => 'pc_micsqldbquota',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '100',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'microsoft sql database quota',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1024000',
'is_metered' => '0',
XML API 70
'res_id' => '1322',
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
},
{
'short_name' => 'pc_micsqlnumdb',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'maximum number of microsoft sql serever
databases',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1024',
'is_metered' => '0',
'res_id' => '1323',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_sslshlinksnumber',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'maximum number of shared ssl links',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1000',
'is_metered' => '0',
'res_id' => '1324',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_subftpusers',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of FTP subaccounts',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1000',
'is_metered' => '0',
'res_id' => '1325',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_fpseusers',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
XML API 71
'is_domain' => '0',
'name' => 'Maximum number of Microsoft FrontPage
subaccounts',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1000',
'is_metered' => '0',
'res_id' => '1326',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_numodbc',
'is_unlim' => '1',
'id' => '36',
'is_advanced' => '0',
'value' => '0',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of ODBC connections',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '0',
'is_metered' => '0',
'res_id' => '1327',
'is_reducible' => '1',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_numiispools',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of IIS application pools',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1024',
'is_metered' => '0',
'res_id' => '1331',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pc_mysqlnumdb',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'maximum number of MySQL databases',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1024',
'is_metered' => '0',
'res_id' => '1332',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
XML API 72
'short_name' => 'pc_numdomainalias',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'maximum number of domain aliases',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1333',
'is_reducible' => '0',
'units' => 'alias(es)',
'multiplier' => '1'
},
{
'short_name' => 'pc_totalmailbquota',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Total mailboxes quota',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '102400',
'is_metered' => '0',
'res_id' => '1334',
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
},
{
'short_name' => 'numdnshosting',
'is_unlim' => '0',
'id' => '36',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of domains with DNS hosting
provided',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1048576',
'is_metered' => '0',
'res_id' => '1335',
'is_reducible' => '0',
'units' => 'domain',
'multiplier' => '1'
},
{
'short_name' => 'pc_numcfdsn',
'is_unlim' => '1',
'id' => '36',
'is_advanced' => '0',
'value' => '0',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of ColdFusion DSN
connections',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '0',
XML API 73
'is_metered' => '0',
'res_id' => '1336',
'is_reducible' => '1',
'units' => 'unit',
'multiplier' => '1'
}
],
'plan_sid' => '49',
'status' => '11',
'is_upgrade' => undef,
'is_notify' => undef,
'add_params' => '76',
'prev_status' => '10',
'create_order_id' => '151',
'billable_items' => [],
'grace_date' => '2008-03-08 00:00:00',
'status_txt' => 'expired',
'start_date' => '2007-12-21 13:31:32',
'platform' => 'Plesk for Windows',
'termination_date' => undef,
'expiration_date' => '2009-03-08 00:00:00',
'plan_id' => '51',
'platform_id' => '202'
};
Plesk Domain Subscription
{
'goaway_date' => undef,
'prom_start_date' => '2008-03-03 12:35:00',
'trial_period' => '0',
'traf_class' => undef,
'plan_type_txt' => 'Plesk Domain',
'plan_type' => '9',
'account_no' => '5',
'renewal_policy' => '0',
'assigned_domains' => [
'hadelen.com'
],
'id' => '90',
'bm_attr' => [],
'period' => '31104000',
'prom_id' => '0',
'name' => 'hadelen.com',
'questions' => [],
'app_resources' => [],
'prom_end_date' => undef,
'custom_subscr_fee' => undef,
'is_traffic_overused' => '0',
'end_date' => '2009-11-14 00:00:00',
'plan_name' => 'PD check webmail',
'next_period' => '31104000',
'base_date' => '2009-11-14 00:00:00',
'res_info' => [
{
'short_name' => 'pd_diskquota',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '100',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Disk space quota',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1024000',
'is_metered' => '0',
'res_id' => '1200',
XML API 74
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
},
{
'short_name' => 'pd_numwebusers',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of web users',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1202',
'is_reducible' => '0',
'units' => 'users',
'multiplier' => '1'
},
{
'short_name' => 'pd_nummailbox',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mailboxes',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1204',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_mailboxquota',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Mailbox quota',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '102400',
'is_metered' => '0',
'res_id' => '1205',
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
},
{
'short_name' => 'pd_nummailredir',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mail redirects',
XML API 75
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1206',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_nummailgrp',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mail groups',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1207',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_nummailautoresp',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mail autoresponders',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1208',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_nummaillist',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mailing lists',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1209',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_numwebapp',
'is_unlim' => '0',
'id' => '90',
XML API 76
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of web applications',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1210',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_numsubdomains',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of subdomains',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1211',
'is_reducible' => '0',
'units' => 'subdomains',
'multiplier' => '1'
},
{
'short_name' => 'pd_ip',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '0',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Dedicated IPs',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1',
'is_metered' => '0',
'res_id' => '1212',
'is_reducible' => '0',
'units' => 'IP',
'multiplier' => '1'
},
{
'short_name' => 'pd_harddiskquota',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '100',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Hard disk space quota',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1024000',
'is_metered' => '0',
'res_id' => '1219',
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
XML API 77
},
{
'short_name' => 'pd_numdomainalias',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '0',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of domain aliases',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '1220',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_mysqldbquota',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '100',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Mysql database quota',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1024000',
'is_metered' => '0',
'res_id' => '1221',
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
},
{
'short_name' => 'pd_micsqldbquota',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '100',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Microsoft sql database quota',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1024000',
'is_metered' => '0',
'res_id' => '1222',
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
},
{
'short_name' => 'pd_micsqlnumdb',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of microsoft sql serever
databases',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
XML API 78
'max_value' => '1024',
'is_metered' => '0',
'res_id' => '1223',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_sslshlinksnumber',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of shared ssl links',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1000',
'is_metered' => '0',
'res_id' => '1224',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_mysqlnumdb',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of MySQL databases',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1024',
'is_metered' => '0',
'res_id' => '1225',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_totalmailboxquota',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Total mailboxes quota',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '102400',
'is_metered' => '0',
'res_id' => '1226',
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
},
{
'short_name' => 'numdnshosting',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
XML API 79
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of domains with DNS hosting
provided',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1048576',
'is_metered' => '0',
'res_id' => '1227',
'is_reducible' => '0',
'units' => 'domain',
'multiplier' => '1'
},
{
'short_name' => 'pd_subftpusers',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of FTP subaccounts',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1000',
'is_metered' => '0',
'res_id' => '1228',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_fpseusers',
'is_unlim' => '0',
'id' => '90',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of Microsoft FrontPage
subaccounts',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '1000',
'is_metered' => '0',
'res_id' => '1229',
'is_reducible' => '0',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'pd_numodbc',
'is_unlim' => '1',
'id' => '90',
'is_advanced' => '0',
'value' => '0',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of ODBC connections',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '0',
'is_metered' => '0',
'res_id' => '1230',
'is_reducible' => '1',
'units' => 'unit',
'multiplier' => '1'
XML API 80
},
{
'short_name' => 'pd_numcfdsn',
'is_unlim' => '1',
'id' => '90',
'is_advanced' => '0',
'value' => '0',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Maximum number of ColdFusion DSN
connections',
'is_ve_related' => '0',
'overuse_rate' => '0.000000',
'max_value' => '0',
'is_metered' => '0',
'res_id' => '1231',
'is_reducible' => '1',
'units' => 'unit',
'multiplier' => '1'
}
],
'plan_sid' => '113',
'status' => '1',
'is_upgrade' => undef,
'is_notify' => undef,
'add_params' => '90',
'prev_status' => '3',
'create_order_id' => '424',
'status_txt' => 'active',
'grace_date' => undef,
'billable_items' => [],
'start_date' => '2008-03-03 12:35:00',
'platform' => 'Plesk for Windows',
'plesk_domain' => {
'status' => '0',
'hw_id' => '10',
'subscr_id' => '90',
'plesk_status' => '0',
'plesk_id' => '102',
'plesk_ip' => '10.26.0.97',
'status_txt' => 'active',
'id' => '206',
'plesk_name' => 'hadelen.com'
},
'termination_date' => undef,
'expiration_date' => undef,
'plan_id' => '113',
'platform_id' => '202'
};
Virtuozzo Container Subscription
{
'goaway_date' => undef,
'prom_start_date' => '2008-03-31 13:09:36',
'is_root_access' => '1',
'trial_period' => '0',
'traf_class' => undef,
'plan_type_txt' => 'Container',
'plan_type' => '1',
'account_no' => '3',
'renewal_policy' => '1',
'assigned_domains' => [
'app.ssl.lmtest.ru'
],
'id' => '129',
'bm_attr' => [],
'period' => '2592000',
XML API 81
'prom_id' => '0',
'name' => 'Plesk',
'questions' => [],
'app_resources' => [
{
'name' => 'Majordomo with Autoresponder',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'autoresponder-majordomo-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '0',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Awstats Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'awstats-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '1',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Jdk Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'jdk-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '0',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Jre Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'jre-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '0',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Mod Perl Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'mod_perl-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '1',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Mod Ssl Fc4',
'is_upgrade' => '0',
XML API 82
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'mod_ssl-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '1',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Mysql Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'mysql-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '1',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Openwebmail Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'openwebmail-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '0',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Php Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'php-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '1',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Phpmyadmin Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'phpmyadmin-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '1',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'PostgreSQL',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'postgresql-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '0',
'type' => '1',
'id' => '129',
XML API 83
'cid' => '1'
},
{
'name' => 'Proftpd Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'proftpd-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '0',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Psa Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'psa-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '1',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'SSH 3.1',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'ssh',
'subscr_fee' => '0.00',
'is_complementary' => '1',
'type' => '4',
'id' => '129',
'cid' => '3'
},
{
'name' => 'Usermin Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'usermin-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '0',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'Webmin Fc4',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
'app_key' => 'webmin-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '0',
'type' => '1',
'id' => '129',
'cid' => '1'
},
{
'name' => 'ZendOptimizer',
'is_upgrade' => '0',
'is_notify' => '0',
'setup_fee' => '0.00',
XML API 84
'app_key' => 'zend-optimizer-fc4',
'subscr_fee' => '0.00',
'is_complementary' => '0',
'type' => '1',
'id' => '129',
'cid' => '1'
}
],
'prom_end_date' => undef,
'custom_subscr_fee' => undef,
'is_traffic_overused' => '0',
'end_date' => '2008-06-01 08:18:06',
'plan_name' => '99026 test',
've_id' => '1027',
'next_period' => '2592000',
'base_date' => '2008-05-01 08:18:06',
'res_info' => [
{
'short_name' => 'numstaticip',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of Static IP addresses',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '1048576',
'is_metered' => '0',
'res_id' => '25',
'is_reducible' => '0',
'units' => 'ip(s)',
'multiplier' => '1'
},
{
'short_name' => 'nummailbox',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '0',
'value' => '1024',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of mailboxes',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '1048576',
'is_metered' => '0',
'res_id' => '38',
'is_reducible' => '0',
'units' => 'mailbox',
'multiplier' => '1'
},
{
'short_name' => 'numwebsites',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of websites',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '1048576',
'is_metered' => '0',
'res_id' => '69',
XML API 85
'is_reducible' => '0',
'units' => 'website',
'multiplier' => '1'
},
{
'short_name' => 'numdbs',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of databases',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '1048576',
'is_metered' => '0',
'res_id' => '72',
'is_reducible' => '0',
'units' => 'database',
'multiplier' => '1'
},
{
'short_name' => 'numbks',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of backups',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '1048576',
'is_metered' => '0',
'res_id' => '74',
'is_reducible' => '0',
'units' => 'backup',
'multiplier' => '1'
},
{
'short_name' => 'sizebks',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '0',
'value' => '100',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Total size of all backups',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '1048576',
'is_metered' => '0',
'res_id' => '76',
'is_reducible' => '0',
'units' => 'MB',
'multiplier' => '1048576'
},
{
'short_name' => 'numdnshosting',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '0',
'value' => '1',
'is_countable' => '1',
'is_domain' => '0',
XML API 86
'name' => 'Number of domains with DNS hosting
provided',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '1048576',
'is_metered' => '0',
'res_id' => '100',
'is_reducible' => '0',
'units' => 'domain',
'multiplier' => '1'
},
{
'short_name' => 'kmemsize',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '10800',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Size of unswappable kernel memory',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2097151',
'is_metered' => '0',
'res_id' => '101',
'is_reducible' => '1',
'units' => 'KB',
'multiplier' => '1024'
},
{
'short_name' => 'lockedpages',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '256',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Unswappable user pages',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '102',
'is_reducible' => '1',
'units' => 'pages',
'multiplier' => '1'
},
{
'short_name' => 'vmguarpages',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '6144',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Memory allocation guarantee',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '103',
'is_reducible' => '1',
'units' => 'pages',
'multiplier' => '1'
},
{
'short_name' => 'shmpages',
XML API 87
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '21504',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Total size of SysV IPC shared memory',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '104',
'is_reducible' => '1',
'units' => 'pages',
'multiplier' => '1'
},
{
'short_name' => 'privvmpages',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '655360',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Total size of private pages',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '105',
'is_reducible' => '1',
'units' => 'pages',
'multiplier' => '1'
},
{
'short_name' => 'numproc',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '240',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of processes',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '32000',
'is_metered' => '0',
'res_id' => '106',
'is_reducible' => '1',
'units' => '',
'multiplier' => '1'
},
{
'short_name' => 'physpages',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '2147483647',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Total number of physical memory pages',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '107',
'is_reducible' => '1',
XML API 88
'units' => 'pages',
'multiplier' => '1'
},
{
'short_name' => 'oomguarpages',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '6144',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Guaranteed allocating address space',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '108',
'is_reducible' => '1',
'units' => 'pages',
'multiplier' => '1'
},
{
'short_name' => 'numfile',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '9312',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of open files',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '109',
'is_reducible' => '1',
'units' => '',
'multiplier' => '1'
},
{
'short_name' => 'numtcpsock',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '360',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of TCP/IP sockets',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '110',
'is_reducible' => '1',
'units' => '',
'multiplier' => '1'
},
{
'short_name' => 'numflock',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '206',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of file locks',
'is_ve_related' => '1',
XML API 89
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '111',
'is_reducible' => '1',
'units' => '',
'multiplier' => '1'
},
{
'short_name' => 'numpty',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '16',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of pseudo-terminals',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '112',
'is_reducible' => '1',
'units' => '',
'multiplier' => '1'
},
{
'short_name' => 'numsiginfo',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '256',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of siginfo structures',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2560',
'is_metered' => '0',
'res_id' => '113',
'is_reducible' => '1',
'units' => '',
'multiplier' => '1'
},
{
'short_name' => 'tcpsndbuf',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '1680',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Total size of TCP send buffers',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2095171',
'is_metered' => '0',
'res_id' => '114',
'is_reducible' => '1',
'units' => 'KB',
'multiplier' => '1024'
},
{
'short_name' => 'tcprcvbuf',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
XML API 90
'value' => '1680',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Total size of TCP receive buffers',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2095171',
'is_metered' => '0',
'res_id' => '115',
'is_reducible' => '1',
'units' => 'KB',
'multiplier' => '1024'
},
{
'short_name' => 'othersockbuf',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '2048',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Total size of other socket buffers',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2097151',
'is_metered' => '0',
'res_id' => '116',
'is_reducible' => '1',
'units' => 'KB',
'multiplier' => '1024'
},
{
'short_name' => 'dgramrcvbuf',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '256',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Total size of UDP receive buffers',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2097151',
'is_metered' => '0',
'res_id' => '117',
'is_reducible' => '1',
'units' => 'KB',
'multiplier' => '1024'
},
{
'short_name' => 'numiptent',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '128',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of entries in IP tables',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '3000',
'is_metered' => '0',
'res_id' => '118',
'is_reducible' => '1',
'units' => '',
'multiplier' => '1'
},
XML API 91
{
'short_name' => 'netrateguar',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '0',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Guaranteed network rate',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '1024',
'is_metered' => '0',
'res_id' => '119',
'is_reducible' => '1',
'units' => 'MBit/sec',
'multiplier' => '1024'
},
{
'short_name' => 'diskspace',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '0',
'value' => '1024',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Disk space quota',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '4194303',
'is_metered' => '0',
'res_id' => '121',
'is_reducible' => '1',
'units' => 'MB',
'multiplier' => '1024'
},
{
'short_name' => 'diskinodes',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '200000',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Disk inode quota',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '122',
'is_reducible' => '1',
'units' => 'inodes',
'multiplier' => '1'
},
{
'short_name' => 'cpuunits',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '0',
'value' => '1000',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'CPU usage',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '500000',
'is_metered' => '0',
XML API 92
'res_id' => '124',
'is_reducible' => '1',
'units' => 'unit',
'multiplier' => '1'
},
{
'short_name' => 'dcachesize',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '3624960',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Size of busy dentry/inode cache',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147482624',
'is_metered' => '0',
'res_id' => '125',
'is_reducible' => '1',
'units' => 'bytes',
'multiplier' => '1'
},
{
'short_name' => 'quotaugidlimit',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '100',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Limit of user quotas',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '126',
'is_reducible' => '1',
'units' => '',
'multiplier' => '1'
},
{
'short_name' => 'numothersock',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '360',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'Number of sockets other than TCP/IP',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '2147483647',
'is_metered' => '0',
'res_id' => '127',
'is_reducible' => '1',
'units' => '',
'multiplier' => '1'
},
{
'short_name' => 'rate_bound',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '0',
'is_countable' => '0',
'is_domain' => '0',
XML API 93
'name' => 'Guaranteed network rate is network rate
limit',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '1',
'is_metered' => '0',
'res_id' => '178',
'is_reducible' => '1',
'units' => '',
'multiplier' => '1'
},
{
'short_name' => 'cpulimit',
'is_unlim' => '0',
'id' => '129',
'is_advanced' => '1',
'value' => '100',
'is_countable' => '1',
'is_domain' => '0',
'name' => 'CPU limit',
'is_ve_related' => '1',
'overuse_rate' => '0.000000',
'max_value' => '100',
'is_metered' => '0',
'res_id' => '181',
'is_reducible' => '1',
'units' => '%',
'multiplier' => '1'
}
],
'plan_sid' => '100',
'status' => '1',
'is_upgrade' => undef,
'is_notify' => undef,
'add_params' => undef,
'prev_status' => '3',
'create_order_id' => '696',
'status_txt' => 'active',
'grace_date' => undef,
'billable_items' => [],
'start_date' => '2008-03-31 13:09:36',
'platform' => 'Linux Vz3.x',
'termination_date' => undef,
'expiration_date' => undef,
'plan_id' => '206',
'platform_id' => '3',
've' => {
'slm_mode' => '0',
'hn_ip_address' => '10.30.64.248',
'status' => 'running',
'apps' => undef,
'qos' => undef,
'hn_vz_interface' => '2',
'ips' => undef,
'offline_management' => '0',
'status_txt' => 'running',
'id' => '1027',
'is_root_pwd_syncd' => '1',
'ip_address' => '10.25.41.34',
'vza_status' => 'running',
'is_bandwidth_limited' => undef,
'is_custom_resolver' => undef,
'vendor_id' => '1',
'hw_id' => '2',
'os_tmpl_id' => '56',
'hn_service_ve_ip' => '10.24.8.101',
'account_id' => '3',
XML API 94
'utf_ve_name' => 'Plesk',
'platform_id' => '3',
've_name' => 'Plesk'
}
};
Domain Registration Subscription
{
'goaway_date' => undef,
'plan_sid' => '185',
'status' => '1',
'is_notify' => undef,
'prev_status' => '3',
'create_order_id' => '884',
'plan_type' => '6',
'plan_type_txt' => 'Domain Registration',
'account_no' => '6',
'domain' => {
'domain' => 'ros-test-851.cc',
'dns_enabled' => '1',
'added_by' => '1',
'nsset_id' => '1',
'ns_info' => undef,
'action' => '2',
'utf_domain' => 'ros-test-851.cc'
},
'renewal_policy' => '1',
'status_txt' => 'active',
'grace_date' => undef,
'id' => '163',
'start_date' => '2008-04-22 16:52:41',
'period' => '31104000',
'name' => 'ros-test-851.cc',
'termination_date' => undef,
'expiration_date' => undef,
'regdomain' => {
'real_expire_time_check' => undef,
'reg_status' => '1',
'period' => '1',
'plugin_name' => 'WebNIC',
'real_expire_time' => undef,
'reg_time' => '2008-04-22 16:52:42',
'domain' => 'ros-test-851.cc',
'id_protect' => undef,
'registrar' => 'WebNIC',
'action' => '2',
'reg_status_txt' => 'registered',
'expire_time' => '2009-04-22 16:52:42'
},
'plan_id' => '189',
'custom_subscr_fee' => undef,
'end_date' => '2009-04-22 16:52:41',
'plan_name' => '[WebNIC] Domain Registration',
'next_period' => '31104000',
'base_date' => '1941-04-01 13:38:32'
};
XML API 95
create_custom_invoice
The function allows adding an invoice manually, without aforegoing orders. A custom includes
custom items and fees.
Parameters
subscr_id
Optional parameter: ID of subscription. Optional
parameter.
vendor_id ID of vendor account.
description Invoice description text.
account_no ID of account an invoice is created for.
items
Services or any other items included in an invoice.
Array of hashes of the following kind:
{
rate - fee for an item;
quantity - number of items (optional), 1 by default;
comment - item name or comment to an item;
start_time - item provisionin
g start date. Optional
parameter. If not specified, invoice creation date is
used.
}
amount Invoice total amount. Optional parameter.
Returns:
In case of success, ID of added invoice is returned.
In case of error, error message is returned.
SOAP Faults codes:
NoOrderForProvider Provider tries to place invoice for themselves.
InvalidAccount A person logged in and trying to place an invoice is not
registered for an account that stands as vendor in
respect to an account an invoice is placed for.
Initiator
Failed to find a registered person that places an order
by initiator_email passed.
XML API 96
InvoiceFailed
A list of invoice items has been passed, but amount
specified for at least one of items is negative. In this
case, fees for all invoice items must be positive.
'Wrong amount value' A list of invoice items has not been passed and invoice
amount passed is zero. In this case, an invoice amount
must be either positive or negative (for credit invoice).
get_account_campaigns
The function allows getting the information about marketing campaigns applied to a given
account.
Parameters:
account_id ID of account the list of campaigns is needed.
Returns:
List o f arrays, each array consists of campaign ID (in database) and campaign digest (campaign
ID used in campaign URL):
Example of returned value:
return [
[3,'97651bf001'],....]
SOAP Faults codes:
No specific codes.
XML API 97
HSPC/API/Account
create_customer
The function adds a new customer account and person.
Parameters:
address1 Address line 1.
address2 Optional parameter: Address line 2.
city City.
comment Comment to account.
company_name
Optional parameter: If specified, account is
business.
country Customer country.
email Customer administrative e-mail.
fax_src Customer fax number.
first_name Customer first name.
fraud_check
Optional parameter: A flag that defines whether
an account is to be checked by anti-fraud
manager or not.
gender Customer gender.
insertion Customer name insertion.
lang Customer personal language.
last_name Customer last name.
middle_name Customer middle name.
mobile_src Customer mobile phone.
password Customer personal password.
phone_src Customer phone number.
prefix Customer name prefix.
XML API 98
state Customer state of residence.
suffix Customer name suffix.
tax_ex_number Customer VAT number.
zip Customer address zip code.
ext_data List of extended attributes
timezone Customer time zone.
Returns: {account_id => NUMBER}
SOAP Faults codes:
NewAccountsDenied New accounts creation is denied.
UserExtData Extended attribute addition error.
UserAccount Account creation error.
XML API 99
create_domain_contact
The function creates domain contacts.
Parameters:
account_id Customer account ID.
address Postal Address.
city Customer city.
country Customer country.
email Customer administrative e-mail.
fax Customer fax number.
first_name Customer first name.
last_name Customer last name.
company_name
Optional parameter: If specified, account is
business. Company name
phone Customer phone number.
state Customer state of residence.
zip Customer address zip code.
Returns: {contact_id => NUMBER}
SOAP Faults codes:
No specific codes.
XML API 100
create_reseller
The function creates a partner application.
Parameters:
address1 Address line 1.
address2 Optional parameter: Address line 2.
city City.
comment
Optional parameter: Comment to partner
application.
company_name Company name.
description Optional parameter: The text passed from the
comment parameter and shown in Partner
Application details in PCC.
country Reseller country.
email Reseller administrative e-mail.
ext_date
Optional parameter: Any additional information
needed in case specific accounting plug-
in is
used.
fax_src Optional parameter: Reseller fax number.
first_name Reseller first name.
gender Optional parameter: Customer gender.
insertion Optional parameter: Reseller name insertion.
lang Optional parameter: Reseller personal language.
last_name Reseller last name.
middle_name Optional parameter: Reseller middle name.
mobile_src Reseller mobile phone.
password Customer personal password.
phone_src Reseller phone number.
prefix Optional parameter: Reseller name prefix.
XML API 101
state Optional parameter (for non USA o
r Canada
countries): Reseller state of residence.
suffix Optional parameter: Reseller name suffix.
tax_ex_number Optional parameter: Reseller VAT number.
zip Reseller address zip code.
Returns: {account_id => NUMBER}
SOAP Faults codes:
NewResellerDenied New reseller accounts creation denied.
CompanyRegistered
A company with similar name is already
registered.
UserExtData Extended attribute addition error.
ResellerSaveError Reseller account creation error.
get_account_info
The function returns information on an account.
Parameters:
account_id Account ID
Returns: ACCOUNT_INFO (on page 102)
SOAP Faults codes:
No specific codes.
XML API 102
Example of ACCOUNT_INFO Hash
{
'vendor_name' => 'Provider',
'technical_phone' => '+1 1239867',
'technical_fax' => '',
'admin_first_name' => 'Kate',
'address' => {
'country' => 'US',
'country_loc' => 'United States',
'city' => 'Karson',
'zip' => '123456',
'fax' => '',
'state' => 'AL',
'state_loc' => 'Alabama',
'address1' => 'Park Lane 45',
'phone' => '+1 1239867',
'mobile' => '',
'address2' => '',
'state' => undef
},
'admin_phone' => '+1 1239867',
'billing_prefix' => '',
'admin_prefix' => '',
'billing_mobile' => '',
'billing_last_name' => 'Green',
'lang' => 'en',
'billing_middle_name' => '',
'technical_middle_name' => '',
XML API 103
'name' => 'Kate Green',
'admin_last_name' => 'Green',
'account_id' => '228315',
'technical_email' => 'kate@green.com',
'admin_middle_name' => '',
'account_type' => '3',
'technical_insertion' => '',
'technical_suffix' => '',
'admin_suffix' => '',
'billing_fax' => '',
'billing_email' => 'kate@green.com',
'billing_phone' => '+1 1239867',
'status' => 'active',
'billing_first_name' => 'Kate',
'admin_gender' => '',
'admin_email' => 'kate@green.com',
'technical_prefix' => '',
'admin_fax' => '',
'admin_insertion' => '',
'technical_last_name' => 'Green',
'billing_gender' => '',
'technical_first_name' => 'Kate',
'vendor_id' => '1',
'billing_insertion' => '',
'technical_gender' => '',
'billing_suffix' => '',
'admin_mobile' => '',
'technical_mobile' => '',
XML API 104
'comment' => ''
};
get_domain_contact_list
The function returns the list of domain contacts.
account_id Account ID.
Returns: {contact_list => DM_CONTACT list}
SOAP Faults codes:
No specific codes.
get_reseller_terms
The function returns reseller Terms and Conditions.
Returns: {title => STRING, body => STRING}
SOAP Faults codes:
No specific codes.
validate_password
The function checks password in accordance with password strength settings.
Parameters:
password Password.
Returns: {result => 1}
SOAP Faults codes:
UserBadPassword Password is invalid or not acceptable.
XML API 105
get_extended_attr_list
The function returns extended attributes needed for customer or reseller account creation if a
specific accounting plug-in is enabled or just some custom extended attributes (on page 199)
are used.
Parameters:
customer_type Account type: customer or reseller, value:
1 - customer account
2 - reseller account
Returns value: [ { view_name=>, title=>, value=>, type=> }, .. ]
SOAP Faults codes:
No specific codes.
XML API 106
get_person_list
The function returns the detailed information about person(s) associated with a particular
account, i.e., account users.
Parameters:
account_id
Account numerical identifier assigned in the
Parallels Business Automation - Standard
database.
Returns: a hash or a hash of hashes (if several users are associated with an account). A hash per
person looks like:
'person_list' => [
{
'lang' => 'en',
'person_id' => '2',
'account_list' => [
{
'status' => '0',
'vendor_id' => '1',
'person_id' => '2',
'name' => 'First Last',
'type' => '3',
'account_id' => '2'
}
],
'middle_name' => '',
'last_name' => 'Last',
'email' => 'mail@provider.com',
'insertion' => '',
'comment' => '',
'suffix' => '',
'gender' => 'M',
'prefix' => '',
'first_name' => 'First'
}
],
...
};
SOAP Faults codes:
MissingAccount Account not found.
AccountsDenied Access denied.
AccountAccessDenied Access denied.
MissingPerson Person not found.
PersonsDenied You are not allowed to access persons.
XML API 107
XML API 108
HSPC/API/Person
auth_person
The function authenticates a person.
Parameters:
email Person e-
mail. Together with password can be
replaced with sid.
password Person password. Together with email
can be
replaced with sid.
ip
Optional parameter. Customer IP. If specified,
the anti-fraud Login Filter is activated.
sid
Client CP session ID (SID). Optional
parameter. Can be passed instead of email and
password and in this case a customer will be
authenticated in Store by this session ID.
login_to_cp
Optional parameter. The value can be 1 (true)
or 0 (false). If true, the function will include
the client CP session ID (SID) into the
response.
Returns: PERSON_INFO:
{
'sid' => 'e3b09cb237a41b6867bcbb62ac8899da',
'person' => {
'lang' => 'en',
'person_id' => '5',
'account_list' => [
{
'status' => '0',
'vendor_id' => '1',
'person_id' => '5',
XML API 109
'name' => 'Account
Name',
'type' => '3',
'account_id' => '5'
}
],
'middle_name' => '',
'last_name' => 'Smith',
'email' => 'smith@mail.com',
'insertion' => '',
'comment' => '',
'suffix' => '',
'gender' => 'female',
'prefix' => '',
'first_name' => 'Jane'
}
};
SOAP Faults codes:
UserAuthen User authentication error.
The returned hash presents person information:
Parameter Means
sid Client CP session ID. Returned in case the sid
parameter is
passed with the 'true' value.
XML API 110
person Person information. Contains hash:
Parameter Means
lang Two-letter ISO 639
(http://www.loc.gov/standards/iso639-
2/php/code_list.php
) language codes
abbreviatio
n in lower case of the
interface language set for a person.
person_id
Person numerical identifier assigned in
the Parallels Business Automation -
Standard database.
account_list
Properties of the account a person is
associated with. Contains hash:
status - Account status: 0 - 'active',
1 - 'on_hold', 2 -
'for_approval' (held
by anti-
fraud filter and waits for
vendor manual approval), 255 -
'deleted'.
vendor_id -
Numerical identifier
of vendor account (provider or
reseller). This is an account ID
assigned a
utomatically in Parallels
Business Automation - Standard.
person_id -
Person numerical
identifier assigned in the Parallels
Business Automation - Standard
database.
name - Account name.
type - Account type: 1- Provider
account, 2 -Reseller account, 3 -
Customer account.
account_id -
Account numerical
identifier assigned automatically in
Parallels Business Automation -
Standard.
middle_name Person middle name.
last_name Person last name.
email Person e-mail used as password.
insertion Person last name insertion.
comment Free-
form comment that can be added
to a person information.
suffix Person name suffix.
gender Person gender: Male or Female.
prefix Person name prefix (Mr, Mrs, etc.).
first_name Person first name.
XML API 111
get_person_info
The function returns a registered person details by a person numerical ID assigned on
registration in the Parallels Business Automation - Standard database.
Parameters:
person_id
A registered person numerical identifier
assigned in the Parallels Business
Automation - Standard database
SOAP Faults codes:
MissingPerson Person not found
PersonsDenied You are not allowed to access persons
Returns:
$VAR1 = {
'lang' => 'en',
'person_id' => '2',
'account_list' => [
{
'status' => '0',
'vendor_id' => '1',
'person_id' => '2',
'name' => 'First Last',
'type' => '3',
'account_id' => '2'
}
],
'middle_name' => '',
'last_name' => 'Last',
'email' => 'mail@provider.com',
'insertion' => '',
'comment' => '',
'suffix' => '',
'gender' => 'M',
'prefix' => '',
'first_name' => 'First'
};
XML API 112
HSPC/API/Domain
check_domain_list
The function checks domains for availability.
Parameters:
hp_sid Hosting plan series key.
action An action to be performed over a domain:
'dns_hosting' -
Subdomain either in
provider's or in user's domain. Domain
must present in Provider DNS already.
'domain_pointer' -
Use domain, registered
elsewhere, new in Provider DNS. It's
equivalent to 'Use existing domain,
registered elsewhere' field in store.
'register_new' - Register a new domain.
'reg_transfer' -
Transfer a registered
domain to Provider DNS.
'use_existing' -
A domain is present in
Provider DNS already, for example a user
already has domain registration
subscription. No
w user wants, for
example, to buy a plesk domain with the
same domain name. The action
corresponds to 'Use one of my domains'
field in Store.
account_id
Optional parameter in all cases except for the
action='use_existing': ID of an account a
domain is to be registered for.
domain_list List of domains to be checked.
Returns: {available_domain_list => [List of OK domains]}
SOAP Faults codes:
HPDomainOnly
registration hosting plan.
NoAccountIdSpecified
not specified.
XML API 113
check_domain_name_syntax
The function checks domain name syntax.
Parameters:
domain Domain name.
Returns: {result => 1 | 0}
SOAP Faults codes:
No specific codes.
get_domain_list
The function returns the list of domains a customer can use for subdomains creation.
Parameters:
account_id
ID of an account for which the
information is returned.
for_trial If this parameter
is specified, then only
those domains which allow creation of
trial subscriptions are returned.
Returns: {domain_list => [List of domains for subdomain]}
SOAP Faults codes:
No specific codes.
XML API 114
validate_ns_list
The function checks validity of name servers list.
Parameters:
ns_list
LIst of name servers. Each list item
consists of two elements:
name server hostname
name server IP address
Returns: {result => 1 } or Fault
SOAP Faults codes:
UserNoNS Name server hostname is not specified.
UserNoIP Name server IP address is not specified.
UserInvalidNSName Name server hostname is invalid.
UserIPInvalid Name server IP address is invalid.
XML API 115
save_contact
The function creates or saves changes to an existing domain contact.
Parameters (all optional except for account_id):
hp_sid Hosting plan series key.
domain A domain name.
action
An action performed over a domain:
domain registration or transfer.
contact_type
Contact type (administrative, billing,
technical, etc., depending on a plug-in).
The plug-
in specific contact types are
also specified using this parameter.
account_id
Account numerical ID assigned in
Parallels Business Automation -
Standard database.
contact_id
Contact ID in database (used for contact
editing
only since when a new contact is
created, no ID yet exists)
form_data
Domain contacts screen form data hash.
In other words, the data to be filled into
a domain contact dorm. If not provided,
then a contact form is filled by data
taken from account.
Returns: {contact_id => [new contact ID]} or Fault
SOAP Faults codes:
HPTypeInvalid
HP SID does not correspond to a
hosting plan type
DMContactError Error saving contact data
XML API 116
validate_domain_data
The function validates data for a domain or domains list.
Parameters (all optional, but at least domain, action, contact_hash or domain_data_hash must be
used):
hp_sid Hosting plan series key.
domain A domain name.
action
An action performed over a domain:
domain registration or transfer.
contact_hash
Contact data hash (all contact data:
administrative, billing, technical, other
additional types of contact data,
depending on a plug-in)
account_id
Account numerical ID assigned in
Parallels Business Automation -
Standard database. Use
d only if no
contacts found in database and domain
contact data is to be taken from account
profile.
form_data
A domain form data hash (extdata). In
other words, any extended data besides
the base contacts needed for a domain
registration. If extended dat
a is required,
his hash is used to fill the extended data
form.
domain_data_hash
This parameter allows validating a
number of domains at once. The hash
looks like:
{
domain_name => $h{domain},
contact_hash => $h{contact_hash},
action => $h{action},
}
Returns: {result => 1 } or Fault
SOAP Fault Codes:
XML API 117
UserDomainDataError
Invalid data in domain contacts or
extdata.
HSPC/API/Mailer
send
This function sends e-mail.
Parameters:
to_email Recipient's e-mail.
to_name Recipient's name.
subject Message subject.
body Message body.
from_email Sender's e-mail.
from_name Sender's name, by default is set in mailer.
Returns: {result => 1}
SOAP Faults codes:
No specific codes.
XML API 118
HSPC/API/PP
get_saved_paymethod_list
The method provides a list of payment methods saved in Parallels Business Automation -
Standard database the owner (customer) could choose from.
Parameters:
plugin_id A payment plug-
in alphabetical ID internally
used in Parallels Business Automation -
Standard.
account_id
Numerical identifier (ID) of account owning a
payment method.
Returns:
PAYMETHOD_LIST =
{
paymethod_id => NUMBER,
name => STRING,
paytype => STRING,
paytype_id => STRING,
expire_date => STRING,
}
Note: The expire_date is returned for credit cards only.
SOAP Faults codes:
No specific codes.
XML API 119
get_plugin_list
The method provides a list of plug-ins available for payment.
No parameters.
Returns:
PLUGIN =
{
plugin_id => STRING,
title => STRING,
is_redirect => BOOLEAN,
has_form => BOOLEAN,
paymethod_category_titles => [STRING, ...],
description => STRING,
}
SOAP Faults codes:
No specific codes.
get_layout_hash
The method provides the form to be filled by customer in Store.
Parameters.
plugin_id A payment plug-
in alphabetical ID internally
used in Parallels Business Automation -
Standard.
account_id
Numerical identifier (ID) of account owning a
payment method.
Returns:
LAYOUT =
{
form => STRING,
check_javascript => STRING,
param_list => [STRING, STRING, ... ],
}
SOAP Faults codes:
No specific codes.
XML API 120
get_redirect_hash
The method registers an attempt to pay by redirect or INIpay plug-in and returns back the
redirect information.
Parameters:
plugin_id A payment plug-
in alphabetical ID internally
used in Parallels Business Automation -
Standard.
order_id Numerical identifier (ID) of an order.
url_back
Store URL a customer is to be redirected from
an external payment gateway.
Returns:
REDIRECT =
{
iframe => BOOL,
url => STRING,
method => STRING,
attrs => {param1 => STRING, param2 => STRING, ...}
onload_js_func => STRING,
content => STRING,
}
SOAP Faults codes:
No specific codes.
XML API 121
pay
The method registers an attempt to pay by direct plug-in and does nothing in case of redirect
payment.
Parameters:
plugin_id A payment plug-
used in Parallels Business Automation -
Standard.
order_id Numerical identifier (ID) of order.
$paymethod_id
Parallels Business Automation - Standard.
$form_args
customer obtained from get_layout_hash.
$fraud_query
In case a new payment method has been submitted, the PHP Store picks up the form_args for
pay() method from the param_list returned by the get_layout_hash method. In case
a customer wants to use that payment method already saved in Parallels Business Automation -
Standard database, the additional argument is paymethod_id. So, either paymethod_id or
$form_args->{paytype_id} must be specified . The fraud_query are arguments
gathered from client (if any) regarding anti-fraud check. The required fields are obtained via
HSPC::API::Fraud->get_warning_newpaymethod.
XML API 122
get_status
The method returns the current status of a document in Parallels Business Automation -
Standard Payment Processing.
Parameters:
order_id Numerical identifier (ID) of an order.
Returns:
STATUS =
{
code => NUMBER,
string => STRING,
}
SOAP Faults codes:
No specific codes.
HSPC/API/Fraud
get_warning_newpaymethod
The method provides a form to be displayed in the Store to query a user information related to
Anti-Fraud check of his/her order, when he/she pays by a new payment method.
Parameters:
order_id Numerical identifier (ID) of an order.
Returns:
{
form => STRING,
check_javascript => STRING,
param_list => [STRING, STRING, ... ],
};
SOAP Faults codes:
No specific codes.
XML API 123
get_resume_newpaymethod
The method returns the current status for a given order in case an asynchronous Anti-Fraud
check is performed.
Parameters:
order_id Numerical identifier (ID) of an order.
Returns:
HTML string (with formatting).
SOAP Faults codes:
No specific codes.
get_safe_description
The method returns the reason the order was declined by Anti-Fraud system.
Parameters:
order_id Numerical identifier (ID) of an order.
Returns string.
SOAP Faults codes:
No specific codes.
XML API 124
HSPC/API/Config
get_provider_config
Parameters:
No parameters
Returns (returned data structure is described later in this section):
$VAR1 = {
'currency' => {
'currency_radix' => '.',
'currency_sign_code' => '90;36',
'separator_char' => ',',
'currency' => 'Dollar',
'iso_alfa' => 'ZWD',
'entity' => 'Zimbabwe',
'currency_alignment' => '1',
'currency_minor' => '2'
},
'default_lang' => 'en',
'lang_list' => [
{
'title' => 'English',
'id' => 'en'
},
{
'title' => 'Spanish',
'id' => 'es'
},
XML API 125
{
'title' => 'Russian',
'id' => 'ru'
}
],
'store' => {
'referral' => {
'question' => undef,
'option_list' => []
},
'is_opened' => '1',
'provider_name' => 'Provider-Provider',
'text_info' => {
'account_agreement_text' =>
undef,
'offline_header' => undef,
'agreement_text' => undef
}
},
'is_use_ssl' => '1',
'is_use_ssl_cp' => '0',
'tax_info' => {
'is_taxation_enabled' => '0',
'tax_zone' => undef,
'is_tax_included' => '0'
}
};
XML API 126
SOAP Faults codes:
No specific codes.
The returned hash presents provider configuration and store settings:
Parameter Means
currency System-wide currency settings. Includes the hash:
Parameter Means
currency_radix Decimal separator character.
currency_sign_cod
e Currency sign ASCII code.
separator_char Thousand separator character.
currency Currency name.
iso_alfa Alphabetical currency ISO code.
entity Country name.
currency_alignmen
t
Currency sign alignment, to the
right or to the left of the amount
(1 - to the left, 2 - to the right).
currency_minor
Format of the fractional part of
prices, i.e., number of digits
after comma.
default_lang Provider default language.
lang_list
Language packs enabled. Contains hash of hashes each of
them specifying a language pack enabled. Each hash looks
like:
Parameter Means
title Language name shown in store.
id ISO language code in lower-
case, just like a language pack
directory na
me (en for English,
de for German)..
XML API 127
store Basic Store settings. Includes the hash of hashes:
Parameter Means
referral
Referral question parameters
hash:
question - referral question
option_list - referral
answers list
is_opened Is store opened. 1 - yes, 0 - no.
provider_name
Provider company name shown
in store
text_info
User Agreements and offline
payment system description.
Contains hash:
account_agreement_text
-
User Agreement to accept on
account registration
offline_header - Offline
payment sys
tems descriptin
shown on Payment page.
agreement_text - User
Agreement to accept before
placing order.
is_use_ssl If SSL is enabled for store. 1 - yes, 0 - no.
is_use_ssl_cp If SSL is enabled for Control Panel. 1 - yes, 0 -
no. The
parameter passes
to store, how customers should be redirected
from store to CP: by http or by https.
XML API 128
tax_info Taxation settings. Contains hash:
Parameter Means
is_taxation_enabl
ed If taxation is enabled as system-
wide setting. 1 - yes, 0 - no.
tax_zone Name of a tax zo
ne to be
mentioned in store.
is_tax_included
If hosting plan prices include
taxes (1) or not (0). If not then if
taxation is enabled, taxes will be
added to an order total upon
checkout.
HSPC/API/Campaign
get_campaign
Parameters:
digest
Campaign key used as a unique campaign
identifier.
Returns ID (numerical identifier assigned in Parallels Business Automation - Standard database)
of the promotion associated with a given Campaign:
{
'promo_id' => '1'
};
SOAP Faults codes:
NoCampaignFound No campaign exists for the digest specified
XML API 129
get_account_campaigns
The method allows finding campaigns that belong to an account.
Parameters:
account_id ID of an account.
Returns a reference to array of [id, digest] pairs,
where id is internal Campaign ID, digest - Campaign identifier used in redirector URL.
SOAP Faults codes:
No specific codes.
HSPC/API/SSL
get_cert_form
The function returns the SSL certificate configuration form in HTML format.
Parameters:
hp_sid Hosting plan series key.
form_data Prefill values for the HTML form.
account_id
ID of an account an SSL certificate is to be
registered for.
Returns:
“<table><SSL certificate configuration form and fields></table>”
SOAP Faults codes:
No specific codes.
XML API 130
validate_cert_form
The function checks the SSL certificate configuration form data for validity.
Parameters:
hp_sid Hosting plan series key.
form_data The values fi
lled out by the customer using
the form from get_cert_form.
account_id
ID of an account an SSL certificate is to be
registered for.
Returns:
{ field_with_error => “Field with error: error description” }
SOAP Faults codes:
No specific codes.
XML API 131
get_parsed_csr_data
The function parses the CSR submitted by user in order to show the parsed CSR content on the
"Submit Order" step in store.
Parameters:
hp_sid Hosting plan series key.
form_data The values filled out by the customer using
the form from get_cert_form.
account_id
ID of an account an SSL certificate is to be
registered for.
Returns the parsed CSR data as follows:
{
parse_error => if exists,
country => string,
state => string,
city => string,
organization_name => string,
organizational_unit_name => string,
common_name => string,
};
SOAP Faults codes:
No specific codes.
132
Starting with the version 4.3.3, PBAS is shipped with two stores:
The old store used in previous versions, fully functional with all the options used before
version 4.3.3. After upgrading to version 4.3.3, the old store remains in use, by default. For
details about old store configuration and customization refer to PBAS SDK version below
4.3.4 (http://download.pa.parallels.com/pbas/4.3/doc/PBAS_SDK_43.pdf).
The new store which is faster, dynamic, customizable, with the tabbed screen and
shortened purchase wizard.
In this chapter the new online store integration and customization options are described.
The new store configuration available from PBAS Provider Control Panel is described in PBAS
Provider guide >> Managing Online Store > New Store Configuration Basics.
In This Chapter
Online Store Structure ........................................................................................................... 132
Deploying Online Store ........................................................................................................ 133
Open Store, Switch between Old and New Stores ................................................................ 137
Configuring Redirect URLs to Integrate the Store with Existing Website ........................... 138
Store Customization .............................................................................................................. 143
Updating Third-Party Libraries ............................................................................................. 153
Online Store Structure
Online store is installed by default into the /var/opt/hspc-store directory.
It has the following structure:
i18ndirectory with language packs
includes – directory contains symphony framework components and online store logic
templatesdirectory with templates
web – contains index.php and static content
customization – the directory, where your customization should be placed. See below.
settings.inionline store config
C
HAPTER
3
Online Store Integration and
Customization
Online Store Integration and Customization 133
Deploying Online Store
The new store is installed automatically in its default location on PBAS Management Node
/var/opt/hspc-store and does not affect the old store settings. By default, after
upgrading to version 4.3.3, the old store is used.
The new store can also be deployed on a remote server (on page 133).
Store Installation on Remote Server
The new store installation on a remote server is basically similar to the the old store installation.
Step-by-step instructions are below.
Important: It is supposed that in case of the remote installation the store is used by one vendor
only.
Store Installation in Virtuozzo Container
Since the new store is included in the PBAS installer, the Virtuozzo Container that will host the
store must match a part of the requirements for PBAS Management Node. For instance, the
installation is possible over the following 32-bit host OSes:
Red Hat Enterprise Linux AS5
CentOS 5
The new store may be deployed over the other OSes, including the 64-bit ones, however in this
document we do not consider such environments for the new store.
Important: It is recommended to use secured connection for the store (https). To this effect,
install the mod_ssl template in the Container designated for the store deployment.
By default, the store is deployed in the /var/opt/hspc-store/ directory. If needed, you
may deploy the store in any other folder, providing that you make the corresponding changes to
httpd settings.
To deploy the new store in the Container:
1. Copy the following packages from PBAS distributive into the Container designated for the
store deployment:
# cd /path/to/pbas-installer/packages/
# scp hspc-store-4*.rpm php53-*.rpm gmp-*.rpmlibxml2-*.rpmroot@remote.store:/tmp/
For PBAS 4.3.4 the list of packages will be the following:
hspc-store-4.3.3-46.swsoft.i386.rpm
php53-5.3.3-13.el5_9.1.i386.rpm
php53-cli-5.3.3-13.el5_9.1.i386.rpm
Online Store Integration and Customization 134
php53-common-5.3.3-13.el5_9.1.i386.rpm
php53-mbstring-5.3.3-13.el5_9.1.i386.rpm
php53-soap-5.3.3-13.el5_9.1.i386.rpm
g