Page tree



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

Context: create

Create a new 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 name

$ctxname = "$oxaasadmname_<context_name>"

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

# Context admin name

admname = "<adminuser>_$ctxname";

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

#  Context admin password

admpass = "<context_admin_password_plain>";

# Filestore quota in MB for the context

$quota = <quota_MB> (-1 unlimited)

  e.g. 1024


Additional Context admin parameters required:

display_name
sur_name
given_name
primaryEmail
email1

create()OXResellerContextServiceSubadmin


<add Admin credential definition>
<add service definitions>
<add Taxonomy definitions>

my $context = SOAP::Data->type("Context")->value(
    	\SOAP::Data->value(
    		SOAP::Data->name( "name"     => $ctxname ),
    		SOAP::Data->name( "maxQuota" => $quota ),
    		SOAP::Data->name(
    			"userAttributes" =>
    			  \SOAP::Data->value( SOAP::Data->name( "entries" => @uattrs ) )
    		)
    	)
);

my $result = $OXResellerContextService->create(
    	$context,
    	SOAP::Data->value("User")->value(
    		\SOAP::Data->value(
    			SOAP::Data->name( "name"         => "<admname>" ),
    			SOAP::Data->name( "password"     => "<admpass>" ),
    			SOAP::Data->name( "display_name" => "<adm_display_name>" ),
    			SOAP::Data->name( "sur_name"     => "<adm_sur_name>"),
    			SOAP::Data->name( "given_name"   => "<adm_given_name>" ),
    			SOAP::Data->name( "primaryEmail" => "<adm_primaryEmail>" ),
    			SOAP::Data->name( "email1"       => "<adm_email>" )
    		)
    	),
    	$oxaascreds
    );


Context: modify

Modify context Taxonomy or quota

# 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



change()OXResellerContextServiceSubadmin
<add Admin credential definition>
<add service definitions>
<add Taxonomy definitions>

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

if ( $result->fault() ) {
    print STDERR "Error geting context id with name $ctxname: ".$result->faultstring()."\n";
    next;
}

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

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

my $result = $OXResellerContextService->change(
    	$context,
    	$oxaascreds
    );

Context: delete

Delete a 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 name

$ctxname = "$oxaasadmname_<context_name>"

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


delete()OXResellerContextServiceSubadmin
<add Admin credential definition>
<add service definitions>

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

my $result = $OXResellerContextService->delete(
    	$context,
    	$oxaascreds
    );

Context: list

List context by filter

# Context filter

$ctxname_filter = "<context_filter>"

  • mybrand_* (for all contexts)
  • mybrand_ab* (all contexts starting with ab)

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

 e.g. estbrand.staging.xion.oxcs.net_*

 e.g. estbrand.staging.xion.oxcs.net_ab*


getData()OXResellerContextServiceSubadmin
<add Admin credential definition>
<add service definitions>
my $result = $OXResellerContextService->getData(
    $ctxname_filter,
    $oxaascreds
);

Context: getQuotaUsage

get the overall mail quota usage of all users within the given context

# Context id

$cid = "$context_id"

 e.g. 2342

getQuotaUsage()OXResellerServiceSubadmin
<add Admin credential definition>
<add service definitions>
my $result = $OXResellerService->getQuotaUsage(
    $ctxid,
    $oxaascreds
);

Context: exist

check if a context exist

# Context name

$ctxname = "$oxaasadmname_<context_name>"

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

exists()OXResellerContextServiceSubadmin
<add Admin credential definition>
<add service definitions>
my $context = SOAP::Data->type("Context")->value(
        \SOAP::Data->value(
            SOAP::Data->name( "name"     => $ctxname ),
            )
);

# exist contextxs
my $result = $OXResellerContextService->exists(
    $context,
    $oxaascreds
);

Context: disable

disable a context

# Context name

$ctxname = "$oxaasadmname_<context_name>"

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

disable()OXResellerContextServiceSubadmin
<add Admin credential definition>
<add service definitions>
my $context = SOAP::Data->type("Context")->value(
        \SOAP::Data->value(
            SOAP::Data->name( "name"     => $ctxname ),
            )
);

# exist contextxs
my $result = $OXResellerContextService->disable(
    $context,
    $oxaascreds
);

Context: enable

enable a context

# Context name

$ctxname = "$oxaasadmname_<context_name>"

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

enable()OXResellerContextServiceSubadmin
<add Admin credential definition>
<add service definitions>
my $context = SOAP::Data->type("Context")->value(
        \SOAP::Data->value(
            SOAP::Data->name( "name"     => $ctxname ),
            )
);

# exist contextxs
my $result = $OXResellerContextService->enable(
    $context,
    $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