Use case | Functionality | Parameters required (consider variable names as examples) | API Method | Service | Authentication | Example 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 | 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() | OXResellerUserService | 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'); $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() | OXResellerUserService | Subadmin/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() | OXResellerUserService | Subadmin/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() | OXaaSService | Subadmin/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() | OXaaSService | Subadmin/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() | OXaaSService | Subadmin/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() | OXaaSService | Subadmin | <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() | OXaaSService | Subadmin | 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() | OXaaSService | Subadmin | 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() | OXResellerUserService | Subadmin/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() | OXResellerUserService | Subadmin/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) ) );