summaryrefslogtreecommitdiff
path: root/fs_selfservice/FS-SelfService/iZoomOnlineProvisionService.pm
diff options
context:
space:
mode:
Diffstat (limited to 'fs_selfservice/FS-SelfService/iZoomOnlineProvisionService.pm')
-rw-r--r--fs_selfservice/FS-SelfService/iZoomOnlineProvisionService.pm75
1 files changed, 75 insertions, 0 deletions
diff --git a/fs_selfservice/FS-SelfService/iZoomOnlineProvisionService.pm b/fs_selfservice/FS-SelfService/iZoomOnlineProvisionService.pm
new file mode 100644
index 0000000..f4c5869
--- /dev/null
+++ b/fs_selfservice/FS-SelfService/iZoomOnlineProvisionService.pm
@@ -0,0 +1,75 @@
+package iZoomOnlineProvisionService;
+
+use strict;
+
+#BEGIN { push @INC, '/usr/lib/perl/5.8.8/' };
+use FS::SelfService qw( bulk_processrow check_username agent_login );
+
+=begin WSDL
+
+_IN agent_username $string agent username
+_IN agent_password $string agent password
+_IN agent_custid $string customer id in agent system
+_IN username $string customer service username
+_IN password $string customer service password
+_IN daytime $string phone number
+_IN first $string first name
+_IN last $string last name
+_IN address1 $string address line 1
+_IN address2 $string address line 2
+_IN city $string city
+_IN state $string state
+_IN zip $string zip
+_IN pkg $string package name
+_IN action $string one of (R|P|D|S)(reconcile, provision, provision with disk, send disk)
+_IN adjourn $string day to terminate service
+_IN mobile $string mobile phone
+_IN sms $string (T|F) acceptable to send SMS messages to mobile?
+_IN ship_addr1 $string shipping address line 1
+_IN ship_addr2 $string shipping address line 2
+_IN ship_city $string shipping address city
+_IN ship_state $string shipping address state
+_IN ship_zip $string shipping address zip
+_RETURN @string array [status, message]. status is one of OK, ERR
+
+=cut
+
+my $DEBUG = 0;
+
+sub Provision {
+ my $class = shift;
+
+ my $session = agent_login( map { $_ => shift @_ } qw( username password ) );
+ return [ 'ERR', $session->{error} ] if $session->{error};
+
+ my $result =
+ bulk_processrow( session_id => $session->{session_id}, row => [ @_ ] );
+
+ return $result->{error} ? [ 'ERR', $result->{error} ]
+ : [ 'OK', $result->{message} ];
+}
+
+=begin WSDL
+
+_IN agent_username $string agent username
+_IN agent_password $string agent password
+_IN username $string customer service username
+_IN domain $string user domain name
+_RETURN @string [OK|ERR]
+
+=cut
+sub CheckUserName {
+ my $class = shift;
+
+ my $session = agent_login( map { $_ => shift @_ } qw( username password ) );
+ return [ 'ERR', $session->{error} ] if $session->{error};
+
+ my $result = check_username( session_id => $session->{session_id},
+ map { $_ => shift @_ } qw( user domain )
+ );
+
+ return $result->{error} ? [ 'ERR', $result->{error} ]
+ : [ 'OK', $result->{message} ];
+}
+
+1;