Page tree



Use caseFunctionalityParameters required (consider variable names as examples)API MethodServiceAuthenticationExample Perl call (common definitions defined at the bottom of the page)

User: Create

Create an user

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context name

$ctxname = "$oxaasadmname_<context_name>"

 e.g. testbrand.staging.xion.oxcs.net_context1.com

# User_login

$login = <user_login

# User password

$password = <user_password_plain>

# Mail quota quota

$quota = "quota_MB"

# Filestore quota

$maxquota = "quota_MB"

# Mod access definition

$modaccess = "mod_access"


Other common parameters:

# User aliases

@aliases = <alias1,alias2...>

# Language

$lang = >lang_lang

# Timezone
$timezone = <Timezone>

createByModuleAccessName()

setMailQuota()

OXResellerUserService

OXaaSService

Subadmin/Context Admin
<add Admin credential definition>
<add service definitions>

# get context id
my $result = $OXResellerContextService->list(
    $ctxname,
    $oxaascreds
);

my $context = SOAP::Data->type("Context")->value(
       \SOAP::Data->value(
        SOAP::Data->name( "id" => $cid )
     )
);

my @soapdata;
push @soapdata, SOAP::Data->name( "name"                    => $user )->type('string');
push @soapdata, SOAP::Data->name( "password"                => $password );
push @soapdata,	SOAP::Data->name( "display_name"            => $user )->type('string');
push @soapdata, SOAP::Data->name( "sur_name"                => $user )->type('string');
push @soapdata,	SOAP::Data->name( "given_name"              => $user )->type('string');
push @soapdata, SOAP::Data->name( "primaryEmail"            => $user );
push @soapdata, SOAP::Data->name( "email1"                  => $user );
push @soapdata, SOAP::Data->name( "defaultSenderAddress"    => $user );
push @soapdata, SOAP::Data->name( "language"                => $lang );
push @soapdata, SOAP::Data->name( "timezone"                => $timezone );
push @soapdata, SOAP::Data->name( "maxQuota"                => $maxquota );
push @soapdata, SOAP::Data->name( "aliases"                 => @aliases ) if @aliases;

$result = $OXResellerUserService->createByModuleAccessName(
    	$context,
    	SOAP::Data->value("User")->value(
    		\SOAP::Data->value(@soapdata)
    		),
    	$modaccess,
    	$oxaascreds
);

$result = $OXaaSService->setMailQuota(
                            SOAP::Data->name( "ctxid" => $cid ),
                            SOAP::Data->name( "usrid" => $uid ),
                            SOAP::Data->name( "quota" => $quota ),
                            SOAP::Data->name("creds")->value(
                                    \SOAP::Data->value(
                                            SOAP::Data->name( "login"    => $oxaasadmname ),
                                            SOAP::Data->name( "password" => $oxaasadmpw )
                                    )
                            )
                    );

User: Modify Module Access

Modify the Module access definition for a user

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context name

$ctxname = "$oxaasadmname_<context_name>"

 e.g. testbrand.staging.xion.oxcs.net_context1.com

# User_login

$login = <user_login

# Mod access definition

$modaccess = "mod_access"

changeByModuleAccessName()OXResellerUserServiceSubadmin/Context Admin
<add Admin credential definition>
<add service definitions>

# get context id
my $result = $OXResellerContextService->list(
    $ctxname,
    $oxaascreds
);

my $context = SOAP::Data->type("Context")->value(
       \SOAP::Data->value(
        SOAP::Data->name( "id" => $cid )
     )
);

my @soapdata;
push @soapdata, SOAP::Data->name( "name"                    => $user )->type('string');

$result = $OXResellerUserService->changeByModuleAccessName(
    	$context,
    	SOAP::Data->value("User")->value(
    		\SOAP::Data->value(@soapdata)
    		),
    	$modaccess,
    	$oxaascreds
);

User: Delete

Delete an user

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context name

$ctxname = "$oxaasadmname_<context_name>"

 e.g. testbrand.staging.xion.oxcs.net_context1.com

# User_login

$login = <user_login

delete()OXResellerUserServiceSubadmin/Context Admin
<add Admin credential definition>
<add service definitions>

# get context id
my $result = $ctxsoap->list(
    $ctxname,
    $oxaascreds
);

my @results = $result->paramsall;
my $cid = $results[0]->{'id'};

my $context = SOAP::Data->type("Context")->value(
       \SOAP::Data->value(
        SOAP::Data->name( "id" => $cid )
     )
);

my @soapdata;
push @soapdata, SOAP::Data->name( "name"            => $login );

$result = $OXResellerUserService->delete(
        $context,
        SOAP::Data->value("User")->value(
            \SOAP::Data->value(@soapdata)
            ),
        $oxaascreds
);

User: Add alias

Add an alias to an existing user

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context name

$ctxname = "$oxaasadmname_<context_name>"

 e.g. testbrand.staging.xion.oxcs.net_context1.com

# User_login

$login = <user_login

# User aliases

@aliases = <alias1,alias2...>


change()OXResellerUserServiceSubadmin/Context Admin
<add Admin credential definition>
add service definitions>

# get context id
my $result = $ctxsoap->list(
    $ctxname,
    $oxaascreds
);

my $context = SOAP::Data->type("Context")->value(
       \SOAP::Data->value(
        SOAP::Data->name( "id" => $cid )
     )
);

my @soapdata;
push @soapdata, SOAP::Data->name( "name"                    => $user )->type('string');
push @soapdata, SOAP::Data->name( "aliases"                 => @aliases ) if @aliases;
$result = $OXResellerUserService->change(
        $context,
        SOAP::Data->value("User")->value(
            \SOAP::Data->value(@soapdata)
            ),
        $oxaascreds
);

User: Set Mail Quota

set the mail quota of the individual user within the context

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context id

$cid = "$context_id"

 e.g. 2342

# User id

$uid = <user_id>

 e.g. 12

# Mail quota quota

$quota = "quota_MB"

setMailQuota()OXaaSServiceSubadmin/Context Admin
<add Admin credential definition>
<add service definitions>

$result = $OXaaSService->setMailQuota(
                            SOAP::Data->name( "ctxid" => $cid ),
                            SOAP::Data->name( "usrid" => $uid ),
                            SOAP::Data->name( "quota" => $quota ),
                            SOAP::Data->name("creds")->value(
                                    \SOAP::Data->value(
                                        SOAP::Data->name( "login"    => $oxaasadmname ),
                                            SOAP::Data->name( "password" => $oxaasadmpw )
                                    )
                            )
          );

User: Get Mail Quota

get mail quota set of the individual user within the given context

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context id

$cid = "$context_id"

 e.g. 2342

# User id

$uid = <user_id>

 e.g. 12


getMailQuota()OXaaSServiceSubadmin/Context Admin
<add Admin credential definition>
<add service definitions>
$result = $OXaaSService->getMailQuota(
          SOAP::Data->name( "ctxid" => $ctxid ),
          SOAP::Data->name( "usrid" => $userid ),
          SOAP::Data->name("creds")->value(
                  \SOAP::Data->value(
                          SOAP::Data->name( "login"    => $oxaasadmname ),
                          SOAP::Data->name( "password" => $oxaasadmpw )
                  )
          )
);

User: Get Mail usage Quota

get mail quota usage of the individual user within the given context

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context id

$cid = "$context_id"

 e.g. 2342

# User id

$uid = <user_id>

 e.g. 12

getQuotaUsagePerUser()OXaaSServiceSubadmin/Context Admin
<add Admin credential definition>
<add service definitions>
# get quota usage
my $result = $OXaaSService->getQuotaUsagePerUser(SOAP::Data->name( "ctxid" => $ctxid),
					  SOAP::Data->name( "usrid" => $userid),
					  SOAP::Data->name("creds")->value(
						\SOAP::Data->value(
                                        		SOAP::Data->name( "login"    => $oxaasadmname ),
                                        		SOAP::Data->name( "password" => $oxaasadmpw ))));

User: Get Permissions

list given users permissions

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context id

$cid = "$context_id"

 e.g. 2342

# User id

$uid = <user_id>

 e.g. 12

getPermissions()OXaaSServiceSubadmin
<add Admin credential definition>
<add service definitions>
sub GetPermissions {
  # fetch current permissions
  $result = $OXaaSService->getPermissions(
        SOAP::Data->name( "ctxid" => $cid ),
        SOAP::Data->name( "usrid" => $uid ),
            SOAP::Data->name("creds")->value(
                  \SOAP::Data->value(
                        SOAP::Data->name( "login"    => $oxaasadmname ),
                        SOAP::Data->name( "password" => $oxaasadmpw )
                  )
            )
          );

  print Dumper($result->paramsall);
};
&GetPermissions()

User: Enable Permissions

enable provided permissions for given user

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context id

$cid = "$context_id"

 e.g. 2342

# User id

$uid = <user_id>

 e.g. 12

enablePermissions()OXaaSServiceSubadmin
sub EnablePermissions{
  # Enable all permissions
  my @enablePerms;
  push(@enablePerms, SOAP::Data->name( perms => "SEND" ));
  push(@enablePerms, SOAP::Data->name( perms => "RECEIVE" ));
  push(@enablePerms, SOAP::Data->name( perms => "MAILLOGIN" ));
  push(@enablePerms, SOAP::Data->name( perms => "WEBLOGIN" ));

  $result = $OXaaSService->enablePermissions(
      SOAP::Data->name( "ctxid" => $cid ),
      SOAP::Data->name( "usrid" => $uid ),
          SOAP::Data->name( "perms" => @enablePerms ),
          SOAP::Data->name("creds")->value(
                \SOAP::Data->value(
                      SOAP::Data->name( "login"    => $oxaasadmname ),
                      SOAP::Data->name( "password" => $oxaasadmpw )
                )
          )
        );
  print "$user enabled\n";
};

User: Disable Permissions

Disable provided permissions for given user

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context id

$cid = "$context_id"

 e.g. 2342

# User id

$uid = <user_id>

 e.g. 12

disablePermissions()OXaaSServiceSubadmin
sub DisablePermissions{
  # Disable all permissions
  my @disablePerms;
  push(@disablePerms, SOAP::Data->name( perms => "SEND" ));
  push(@disablePerms, SOAP::Data->name( perms => "RECEIVE" ));
  push(@disablePerms, SOAP::Data->name( perms => "MAILLOGIN" ));
  push(@disablePerms, SOAP::Data->name( perms => "WEBLOGIN" ));

  $result = $OXaaSService->disablePermissions(
      SOAP::Data->name( "ctxid" => $cid ),
      SOAP::Data->name( "usrid" => $uid ),
          SOAP::Data->name( "perms" => @disablePerms ),
          SOAP::Data->name("creds")->value(
                \SOAP::Data->value(
                      SOAP::Data->name( "login"    => $oxaasadmname ),
                      SOAP::Data->name( "password" => $oxaasadmpw )
                )
          )
        );
  print "$user disabled\n";
};
&DisablePermissions()

User: Modify password

Modify user plain password

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context name

$ctxname = "$oxaasadmname_<context_name>"

 e.g. testbrand.staging.xion.oxcs.net_context1.com

# User_login

$login = <user_login>

# new user hash password

$password = <new_password>


change()OXResellerUserServiceSubadmin/Context Admin

e.g. change mail layout

<add Admin credential definition>
<add service definitions>

my @soapdata;
    push @soapdata, SOAP::Data->name( "name"          => $login );
    push @soapdata, SOAP::Data->name( "password"      => $password );
            );
....
 my $result = $OXResellerUserService->change(
        $context,
        SOAP::Data->value("User")->value(
                \SOAP::Data->value(@soapdata)
                ),
        $oxaascreds
    );
....

User: Get

Get user info for given user

# brand name (Sub admin)

oxaasadmname = "<brand>.<environment>.xion.oxcs.net"

   e.g: testbrand.staging.xion.oxcs.net

# brand admin password

$oxaasadmpw = <sub_admin_password_plain>

# Context name

$ctxname = "$oxaasadmname_<context_name>"

 e.g. testbrand.staging.xion.oxcs.net_context1.com

# User_login

$login = <user_login>

getData()OXResellerUserServiceSubadmin/Context Admin
<add Admin credential definition>
<add service definitions>
# get context id
my $result = $ctxsoap->list(
    $ctxname,
    $oxaascreds
);

my @results = $result->paramsall;
my $cid = $results[0]->{'id'};

my $context = SOAP::Data->type("Context")->value(
       \SOAP::Data->value(
        SOAP::Data->name( "id" => $cid )
     )
);

my @soapdata;
push @soapdata, SOAP::Data->name( "name"            => $login );

$result = $OXResellerUserService->getData(
    	$context,
    	SOAP::Data->value("User")->value(
    		\SOAP::Data->value(@soapdata)
    		),
    	$oxaascreds
);

Common to all examples:

Admin credential definition:

my $oxaascreds = SOAP::Data->type("Credentials")->value(
  \SOAP::Data->value(
   SOAP::Data->name( "login" => "$oxaasadmname" ),
   SOAP::Data->name( "password" => "$oxaasadmpw" )
)
);

Service definitions:

my $OXResellerContextService = SOAP::Lite->ns("http://soap.reseller.admin.openexchange.com") ->proxy( "https://$oxaashost" . "/webservices/OXResellerContextService", ssl_opts => [ SSL_verify_mode => 1 ] );
my $OXResellerUserService = SOAP::Lite->ns("http://soap.reseller.admin.openexchange.com") ->proxy( "https://$oxaashost" . "/webservices/OXResellerUserService", ssl_opts => [ SSL_verify_mode => 1 ] );
my $OXaaSService = SOAP::Lite->ns("http://soap.oxaas.admin.openexchange.com/") ->proxy( "https://$oxaashost" . "/webservices/OXaaSService", ssl_opts => [ SSL_verify_mode => 1 ] );

Define context taxonomy:

my @uattrs;
my $brandTaxonomy = SOAP::Data->name(
    "entries" => \SOAP::Data->value(
        SOAP::Data->name( "key"   => "types" ),
        SOAP::Data->name( "value" => $oxaasadmname )
    )
);
push @uattrs, \SOAP::Data->value(
                SOAP::Data->name( "key" => "taxonomy" ),
                SOAP::Data->name(
                    "value" => \SOAP::Data->value($brandTaxonomy)
                )
);


  • No labels