API-ParallelsWPB
view release on metacpan or search on metacpan
lib/API/ParallelsWPB/Requests.pm view on Meta::CPAN
package API::ParallelsWPB::Requests;
use strict;
use warnings;
use Carp;
use constant {
DEFAULT_LOCALE_CODE => 'en_US',
DEFAULT_TEMPLATE_CODE => 'generic',
DEFAULT_CREATE_SITE_STATE => 'trial',
DEFAULT_SESSIONLIFETIME => '1800',
};
# ABSTRACT: processing of API requests
our $VERSION = '0.03'; # VERSION
our $AUTHORITY = 'cpan:IMAGO'; # AUTHORITY
sub get_version {
my ( $self ) = @_;
return $self->f_request( [qw/ system version /], { req_type => 'get' } );
}
sub create_site {
my ( $self, %param ) = @_;
$param{state} ||= DEFAULT_CREATE_SITE_STATE;
$param{publicationSettings} ||= {};
$param{ownerInfo} ||= {};
$param{isPromoFooterVisible} ||= '';
my $post_array = [ {
state => $param{state},
publicationSettings => $param{publicationSettings},
ownerInfo => $param{ownerInfo},
isPromoFooterVisible => $param{isPromoFooterVisible}
} ];
my $res = $self->f_request(
['sites'],
{
req_type => 'post',
post_data => $post_array,
}
);
my $uuid = $res->response;
if ( $uuid ) {
$self->{uuid} = $uuid;
}
else {
carp "parameter uuid not found";
}
return $res;
}
sub gen_token {
my ( $self, %param ) = @_;
$param{localeCode} ||= DEFAULT_LOCALE_CODE;
$param{sessionLifeTime} ||= DEFAULT_SESSIONLIFETIME;
my $uuid = $self->_get_uuid( %param );
return $self->f_request(
[ 'sites', $uuid, 'token' ],
{
req_type => 'post',
post_data => [
{
localeCode => $param{localeCode},
sessionLifeTime => $param{sessionLifeTime},
} ],
}
);
}
sub deploy {
my ( $self, %param ) = @_;
$param{localeCode} ||= $self->DEFAULT_LOCALE_CODE;
$param{templateCode} ||= $self->DEFAULT_TEMPLATE_CODE;
my $siteuuid = $self->_get_uuid( %param );
my @post_data = map { $param{$_} } qw/templateCode localeCode title/;
return $self->f_request(
[ 'sites', $siteuuid, 'deploy' ],
{
req_type => 'post',
post_data => \@post_data
lib/API/ParallelsWPB/Requests.pm view on Meta::CPAN
return $self->f_request( [ 'sites', $uuid, 'limits' ], {
req_type => 'put',
post_data => [ \%param ],
}
);
}
sub configure_buy_and_publish_dialog {
my ( $self, $params ) = @_;
return $self->f_request(['system', 'trial-mode', 'messages'], {req_type => 'put', post_data => [ $params ]});
}
sub _get_uuid {
my ( $self, %param ) = @_;
my $uuid = $param{uuid} ? $param{uuid} : $self->{uuid};
confess "Required parameter uuid!" unless ( $uuid );
return $uuid;
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
API::ParallelsWPB::Requests - processing of API requests
=head1 VERSION
version 0.03
=head1 METHODS
=head2 B<get_version($self)>
Getting the current version of the Parallels Web Presence Builder instance on the defined server.
=head2 B<create_site($self, %param)>
Creating a site.
%param:
state
trial | suspended | regular
This parameter is optional.
It specifies whether the site is in the trial mode, suspended or active (regular value). Sites in the trial mode can be edited, but cannot be published to a hosting account.
publicationSettings
{
"targetUrl" => "ftp://username:password@ftp.example.com/path",
"webSiteUrl" => "http://example.com",
"fallbackIp" => "192.168.1.3"
}
This parameter is optional.
ownerInfo
{
"personalName" => "John Doe",
"companyName" => "My Company LTD",
"phone" => "+1-954-555-555",
"email" => "john@example.com",
"address" => "New",
"city" => "New York",
"state" => "New York",
"zip" => "10292",
"country" => "United states"
}
This parameter is optional.
isPromoFooterVisible
1 | 0
This parameter is optional.
It specifies whether a text box containing an advertisement should be shown in a website footer (a section that appears at the bottom of every page on a site).
To learn more about how to set the content to be shown in the promotional footer,
see the section L<Configuring the Promotional Footer|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/71977.htm>.
L<Creating a Site|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/index.htm?fileName=69689.htm>
=head2 B<gen_token($self, %param)>
Generating a Security Token for Accessing a Site
%param:
uuid
Site UUID. This parameter is mandatory.
localeCode
This parameter is optional.
It specifies the language that should be set for the user interface when the user (site owner) logs in to the editor.
The following languages are supported:
en_US - American English.
en_GB - British English.
de_DE - German.
es_ES - Spanish.
fr_FR - French
it_IT - Italian.
lib/API/ParallelsWPB/Requests.pm view on Meta::CPAN
=head2 B<deploy($self, %param)>
Creates site based on a specified topic.
my $response =
$client->deploy( localeCode => 'en_US', templateCode => 'music_blog' );
%param:
uuid
Site UUID. This parameter is mandatory.
localeCode
Locale code. The default value is en_US.
templateCode
Internal topic identification code. This parameter is optional. Default value is 'generic'.
title
Website name. This parameter is optional. Specifies what should be shown as the website name in the browser's title bar.
L<Creating a Site Based on a Website Topic|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/index.htm?fileName=72111.htm>
=head2 B<get_site_info($self, %param)>
Retrieving information about a specific site.
%param:
uuid
Site UUID. This parameter is mandatory.
L<Retrieving Information About a Specific Site|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/index.htm?fileName=69690.htm>
=head2 B<get_sites_info($self)>
Retrieving information about all sites.
No parameters are required.
L<Retrieving Information About All Sites|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/index.htm?fileName=71285.htm>
=head2 B<change_site_properties($self, %param)>
Changes site properties.
%param:
state
trial | suspended | regular
This parameter is optional. It specifies whether the site is in trial mode, suspended or active (regular value). Sites in trial mode can be edited, but cannot be published to a hosting account.
publicationSettings
This parameter is optional. It specifies where to publish the site over FTP and what account credentials to use:
ownerInfo
This parameter is optional. It specifies the contact information of the site owner.
isPromoFooterVisible
1 | 0
This parameter is optional. It specifies whether a text box with an advertisement should be shown in the website footer.
L<Changing Site Properties and Settings|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/index.htm?fileName=69692.htm>
=head2 B<publish($self,%param)>
Publish a site.
%param:
uuid
Site UUID.
L<Publishing a Website|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/index.htm?fileName=72112.htm>
=head2 B<delete_site($self, %param)>
Deleting a site.
%param:
uuid
Site UUID.
L<Deleting a Site|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/index.htm?fileName=69669.htm>
=head2 B<get_promo_footer( $self )>
Retrieving the current content of the promotional footer.
L<Retrieving the Current Content of the Promotional Footer|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/index.htm?fileName=71979_1.htm>
=head2 B<get_site_custom_variable($self, %param)>
Retrieving a List of Custom Variables for a Website.
%param:
uuid
Site UUID.
L<Configuring the Trial Mode|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/index.htm?fileName=71623.htm>
L<Setting Trial Mode Messages|http://download1.parallels.com/WPB/Doc/11.5/en-US/online/presence-builder-standalone-installation-administration-guide/index.htm?fileName=71727.htm>
=head2 B<set_site_custom_variable($self, %param)>
( run in 0.959 second using v1.01-cache-2.11-cpan-39bf76dae61 )