summaryrefslogtreecommitdiff
path: root/fs_selfservice
diff options
context:
space:
mode:
Diffstat (limited to 'fs_selfservice')
-rw-r--r--fs_selfservice/FS-SelfService/SelfService.pm1
-rwxr-xr-xfs_selfservice/java/freeside_create_ticket_example.java79
-rwxr-xr-xfs_selfservice/perl/xmlrpc-create_ticket.pl38
3 files changed, 118 insertions, 0 deletions
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm
index 49629d423..7e6821b60 100644
--- a/fs_selfservice/FS-SelfService/SelfService.pm
+++ b/fs_selfservice/FS-SelfService/SelfService.pm
@@ -59,6 +59,7 @@ $socket .= '.'.$tag if defined $tag && length($tag);
'provision_external' => 'MyAccount/provision_external',
'unprovision_svc' => 'MyAccount/unprovision_svc',
'myaccount_passwd' => 'MyAccount/myaccount_passwd',
+ 'create_ticket' => 'MyAccount/create_ticket',
'signup_info' => 'Signup/signup_info',
'skin_info' => 'MyAccount/skin_info',
'access_info' => 'MyAccount/access_info',
diff --git a/fs_selfservice/java/freeside_create_ticket_example.java b/fs_selfservice/java/freeside_create_ticket_example.java
new file mode 100755
index 000000000..8e79ca6f0
--- /dev/null
+++ b/fs_selfservice/java/freeside_create_ticket_example.java
@@ -0,0 +1,79 @@
+
+import biz.freeside.SelfService;
+import org.apache.commons.logging.impl.SimpleLog; //included in apache xmlrpc
+import java.util.HashMap;
+import java.util.Vector;
+
+public class freeside_create_ticket_example {
+ private static SimpleLog logger = new SimpleLog("SelfService");
+
+ public static void main( String args[] ) throws Exception {
+ SelfService client =
+ new SelfService( "http://192.168.1.221:8081/xmlrpc.cgi" );
+
+ Vector params = new Vector();
+ params.addElement( "username" );
+ params.addElement( "4155551212" ); // svc_phone.phonenum
+ params.addElement( "password" );
+ params.addElement( "5454" ); // svc_phone.pin
+ params.addElement( "domain" );
+ params.addElement( "svc_phone" );
+ HashMap result = client.execute( "login", params );
+
+ String error = (String) result.get("error");
+
+ if (error.length() < 1) {
+
+ // successful login
+
+ String sessionId = (String) result.get("session_id");
+
+ logger.trace("[login] logged into freeside with session_id="+sessionId);
+
+ // store session id in your session store to be used for other calls
+
+ // like, say, this one to create a ticket
+
+ Vector ticket_params = new Vector();
+ ticket_params.addElement( "session_id" );
+ ticket_params.addElement( sessionId );
+ ticket_params.addElement( "requestor" ); // these
+ ticket_params.addElement( "email@example.com" ); // are
+ ticket_params.addElement( "cc" ); // optional
+ ticket_params.addElement( "joe@example.com" ); //
+ ticket_params.addElement( "subject" );
+ ticket_params.addElement( "Houston, we have a problem." );
+ ticket_params.addElement( "message" );
+ ticket_params.addElement( "The Oscillation Overthurster has gone out of alignment!\n\nIt needs to be fixed immediately!" );
+
+ HashMap ticket_result = client.execute( "create_ticket", ticket_params);
+
+ String error = (String) ticket_result.get("error");
+
+ if (error.length() < 1) {
+
+ // successful ticket creation
+
+ String ticketId = (String) ticket_result.get("ticket_id");
+
+ logger.trace("[login] ticket created with id="+ticketId);
+
+ } else {
+
+ // unsuccesful creating ticket
+
+ logger.warn("[login] error creating ticket: "+error);
+
+ }
+
+ }else{
+
+ // unsuccessful login
+
+ logger.warn("[login] error logging into freeside: "+error);
+
+ // display/say error message to user
+
+ }
+ }
+}
diff --git a/fs_selfservice/perl/xmlrpc-create_ticket.pl b/fs_selfservice/perl/xmlrpc-create_ticket.pl
new file mode 100755
index 000000000..cd2037e2c
--- /dev/null
+++ b/fs_selfservice/perl/xmlrpc-create_ticket.pl
@@ -0,0 +1,38 @@
+#!/usr/bin/perl
+
+use strict;
+use Frontier::Client;
+use Data::Dumper;;
+
+my $server = new Frontier::Client (
+ url => 'http://localhost/selfservice/xmlrpc.cgi',
+);
+
+my $result = $server->call('FS.SelfService.XMLRPC.login',
+ 'username' => '4155551212',
+ 'password' => '5454',
+ 'domain' => 'svc_phone',
+);
+
+#print Dumper($result);
+die $result->{'error'} if $result->{'error'};
+
+my $session_id = $result->{'session_id'};
+warn "logged in with session_id $session_id\n";
+
+my $t_result = $server->call('FS.SelfService.XMLRPC.create_ticket',
+ 'session_id' => $session_id,
+ 'requestor' => 'harveylala@example.com',
+ 'cc' => 'chiquitabanana@example.com',
+ 'subject' => 'Chiquita keeps sitting on me',
+ 'message' => "Isn't there something you can do about this?\n\nShe keeps waking me up!",
+);
+
+die $t_result->{'error'} if $t_result->{'error'};
+
+warn Dumper($t_result);
+
+my $ticket_id = $t_result->{'ticket_id'};
+warn "ticket $ticket_id created\n";
+
+1;