summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-07-21 19:16:20 -0700
committerIvan Kohler <ivan@freeside.biz>2015-07-21 19:16:20 -0700
commita634ad8132ac08e2ce1f4c43019bfb104a8456c1 (patch)
treef2d1b8151c6c851c718c4593772ba486db3d62cd
parentdba9cc11f7ad2337506e40ed2aa6bc9e890cc977 (diff)
self-service API list_contacts doc, RT#37372
-rw-r--r--FS/FS/ClientAPI/MyAccount/contact.pm2
-rwxr-xr-xbin/xmlrpc-list_contacts28
-rw-r--r--fs_selfservice/FS-SelfService/SelfService.pm40
3 files changed, 69 insertions, 1 deletions
diff --git a/FS/FS/ClientAPI/MyAccount/contact.pm b/FS/FS/ClientAPI/MyAccount/contact.pm
index 5690f86..31bbb0c 100644
--- a/FS/FS/ClientAPI/MyAccount/contact.pm
+++ b/FS/FS/ClientAPI/MyAccount/contact.pm
@@ -82,7 +82,7 @@ sub list_contacts {
#TODO: contact phone numbers
'comment' => $_->comment,
'selfservice_access' => $_->selfservice_access,
- 'disabled' => $contact->disabled,
+ #'disabled' => $contact->disabled,
};
} $cust_main->cust_contact );
diff --git a/bin/xmlrpc-list_contacts b/bin/xmlrpc-list_contacts
new file mode 100755
index 0000000..ffe2a31
--- /dev/null
+++ b/bin/xmlrpc-list_contacts
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+
+use strict;
+use Frontier::Client;
+use Data::Dumper;
+
+my( $email, $password ) = @ARGV;
+
+my $uri = new URI 'http://localhost:8080/';
+
+my $server = new Frontier::Client ( 'url' => $uri );
+
+my $login_result = $server->call(
+ 'FS.ClientAPI_XMLRPC.login',
+ 'email' => $email,
+ 'password' => $password,
+);
+die $login_result->{'error'}."\n" if $login_result->{'error'};
+
+my $list_result = $server->call(
+ 'FS.ClientAPI_XMLRPC.list_contacts',
+ 'session_id' => $login_result->{'session_id'},
+);
+die $list_result->{'error'}."\n" if $list_result->{'error'};
+
+print Dumper($list_result);
+
+1;
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm
index 06dcc2b..e01d17b 100644
--- a/fs_selfservice/FS-SelfService/SelfService.pm
+++ b/fs_selfservice/FS-SelfService/SelfService.pm
@@ -1375,6 +1375,46 @@ error message, or empty on success.
=item list_contacts
+Takes a hash reference as parameter with a single key, B<session_id>.
+
+Returns a hash reference with two parameters: B<error>, which contains an error
+message, or empty on success, and B<contacts>, a list of contacts.
+
+B<contacts> is an array reference of hash references (i.e. an array of structs,
+ in XML-RPC). Each hash reference (struct) has the following keys:
+
+=over4
+
+=item contactnum
+
+=item class
+
+Contact class name (contact type).
+
+=item first
+
+First name
+
+=item last
+
+Last name
+
+=item title
+
+Position ("Director of Silly Walks"), NOT honorific ("Mr." or "Mrs.")
+
+=item emailaddress
+
+Comma-separated list of email addresses
+
+=item comment
+
+=item selfservice_access
+
+Y when enabled
+
+=back
+
=item edit_contact
Updates information for the currently-logged in contact, or (optionally) the