blob: 759a4a6a357d537355ae87cfc6e3980187e18b26 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
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( "queue" );
ticket_params.addElement( 3 ); // otherwise defaults to
// ticket_system-selfservice_queueid
// or ticket_system-default_queueid
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!<br><br>It needs to be fixed immediately! <A HREF=\"http://linktest.freeside.biz/hi\">link test</A>" );
ticket_params.addElement( "mime_type" );
ticket_params.addElement( "text/html" );
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
}
}
}
|