X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=fs_selfservice%2FFS-SelfService%2FSelfService.pm;h=039de6dbbd3ee6bf116141104772420826e76afb;hb=c43c1cf3cdd5c568cbeda69017b739053fe15874;hp=c22e4269e828ec976245ae81771aa01cca453708;hpb=a6fe07e49e3fc12169e801b1ed6874c3a5bd8500;p=freeside.git diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm index c22e4269e..039de6dbb 100644 --- a/fs_selfservice/FS-SelfService/SelfService.pm +++ b/fs_selfservice/FS-SelfService/SelfService.pm @@ -57,6 +57,10 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'svc_status_html' => 'MyAccount/svc_status_html', 'svc_status_hash' => 'MyAccount/svc_status_hash', 'set_svc_status_hash' => 'MyAccount/set_svc_status_hash', + 'set_svc_status_listadd' => 'MyAccount/set_svc_status_listadd', + 'set_svc_status_listdel' => 'MyAccount/set_svc_status_listdel', + 'set_svc_status_vacationadd'=> 'MyAccount/set_svc_status_vacationadd', + 'set_svc_status_vacationdel'=> 'MyAccount/set_svc_status_vacationdel', 'acct_forward_info' => 'MyAccount/acct_forward_info', 'process_acct_forward' => 'MyAccount/process_acct_forward', 'list_dsl_devices' => 'MyAccount/list_dsl_devices', @@ -82,6 +86,7 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'reset_passwd' => 'MyAccount/reset_passwd', 'check_reset_passwd' => 'MyAccount/check_reset_passwd', 'process_reset_passwd' => 'MyAccount/process_reset_passwd', + 'list_tickets' => 'MyAccount/list_tickets', 'create_ticket' => 'MyAccount/create_ticket', 'get_ticket' => 'MyAccount/get_ticket', 'adjust_ticket_priority' => 'MyAccount/adjust_ticket_priority', @@ -105,6 +110,9 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'call_time' => 'PrepaidPhone/call_time', 'call_time_nanpa' => 'PrepaidPhone/call_time_nanpa', 'phonenum_balance' => 'PrepaidPhone/phonenum_balance', + + 'start_thirdparty' => 'MyAccount/start_thirdparty', + 'finish_thirdparty' => 'MyAccount/finish_thirdparty', ); @EXPORT_OK = ( keys(%autoload), @@ -193,17 +201,43 @@ FS::SelfService - Freeside self-service API # "my account" functionality use FS::SelfService qw( login customer_info invoice cancel payment_info process_payment ); + #new-style login with an email address and password + # can also be used for svc_acct login, set $emailaddress to username@domain + my $rv = login ( { 'email' => $emailaddress, + 'password' => $password, + }, + ); + if ( $rv->{'error'} ) { + #handle login error... + } else { + #successful login + $session_id = $rv->{'session_id'}; + } + + #classic svc_acct-based login with separate username and password my $rv = login( { 'username' => $username, 'domain' => $domain, 'password' => $password, } ); + if ( $rv->{'error'} ) { + #handle login error... + } else { + #successful login + $session_id = $rv->{'session_id'}; + } + #svc_phone login with phone number and PIN + my $rv = login( { 'username' => $phone_number, + 'domain' => 'svc_phone', + 'password' => $pin, + } + ); if ( $rv->{'error'} ) { #handle login error... } else { #successful login - my $session_id = $rv->{'session_id'}; + $session_id = $rv->{'session_id'}; } my $customer_info = customer_info( { 'session_id' => $session_id } ); @@ -283,6 +317,37 @@ see XXXX instead. =item passwd +Changes the password for an existing user in svc_acct. Takes a hash +reference with the following keys: + +=over 4 + +=item username + +Username of the account (required) + +=item domain + +Domain of the account (required) + +=item old_password + +Old password (required) + +=item new_password + +New password (required) + +=item new_gecos + +New gecos + +=item new_shell + +New Shell + +=back + =item chfn =item chsh @@ -300,6 +365,11 @@ following keys: =over 4 +=item email + +Email address (username@domain), instead of username and domain. Required for +contact-based self-service login, can also be used for svc_acct-based login. + =item username Username @@ -824,6 +894,25 @@ Session identifier Package to order (see L). +=item quantity + +Quantity for this package order (default 1). + +=item locationnum + +Optional locationnum for this package order, for existing locations. + +Or, for new locations, pass the following fields: address1*, address2, city*, +county, state*, zip*, country. (* = required in this case) + +=item address1 + +=item address 2 + +=item city + +=item + =item svcpart Service to order (see L). @@ -937,6 +1026,10 @@ Existing customer package. New package to order (see L). +=item quantity + +Quantity for this package order (default 1). + =back Returns a hash reference with the following keys: @@ -1795,8 +1888,9 @@ sub domainselector { '' } - my $text .= qq!Domain!; + $text .= '