add date to cancel_pkg self-service API, RT#41645
[freeside.git] / fs_selfservice / FS-SelfService / SelfService.pm
index 7d8d9d5..8d99826 100644 (file)
@@ -37,6 +37,7 @@ $socket .= '.'.$tag if defined $tag && length($tag);
   'list_contacts'             => 'MyAccount/contact/list_contacts',
   'edit_contact'              => 'MyAccount/contact/edit_contact',
   'delete_contact'            => 'MyAccount/contact/delete_contact',
+  'new_contact'               => 'MyAccount/contact/new_contact',
 
   'billing_history'           => 'MyAccount/billing_history',
   'edit_info'                 => 'MyAccount/edit_info',     #add to ss cgi!
@@ -94,6 +95,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',
+  'validate_passwd'           => 'MyAccount/validate_passwd',
   'list_tickets'              => 'MyAccount/list_tickets',
   'create_ticket'             => 'MyAccount/create_ticket',
   'get_ticket'                => 'MyAccount/get_ticket',
@@ -132,6 +134,8 @@ $socket .= '.'.$tag if defined $tag && length($tag);
   'quotation_remove_pkg'      => 'MyAccount/quotation/quotation_remove_pkg',
   'quotation_order'           => 'MyAccount/quotation/quotation_order',
 
+  'freesideinc_service'       => 'Freeside/freesideinc_service',
+
 );
 @EXPORT_OK = (
   keys(%autoload),
@@ -949,13 +953,22 @@ 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)
 
+(None of this is required at all if you are just ordering a package
+at the customer's existing default service location.)
+
 =item address1
 
-=item address 2
+=item address2
 
 =item city
 
-=item 
+=item county
+
+=item state
+
+=item zip
+
+=item country
 
 =item svcpart
 
@@ -1115,7 +1128,7 @@ following keys:
 =item bill_date
 
 (Future) Bill date.  Indicates a future date for which billing could be run.
-Specified as a integer UNIX timestamp.  Pass this value to the B<order_renew>
+Specified as an integer UNIX timestamp.  Pass this value to the B<order_renew>
 function.
 
 =item bill_date_pretty
@@ -1131,7 +1144,7 @@ Base amount which will be charged if renewed early as of this date.
 
 Renewal date; i.e. even-futher future date at which the customer will be paid
 through if the early renewal is completed with the given B<bill-date>.
-Specified as a integer UNIX timestamp.
+Specified as an integer UNIX timestamp.
 
 =item renew_date_pretty
 
@@ -1192,6 +1205,11 @@ Session identifier
 
 pkgpart of package to cancel
 
+=item date
+
+Optional date, for future cancellation (expiration) instead of immediate
+cancellation.  Specified as an integer UNIX timestamp ("epoch time").
+
 =back
 
 Returns a hash reference with a single key, B<error>, empty on success, or an
@@ -1350,6 +1368,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:
+
+=over 4
+
+=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
@@ -1376,6 +1434,39 @@ If already logged in as a contact, this is optional.
 Returns a hash reference with a single parameter, B<error>, which contains an
 error message, or empty on success.
 
+=item new_contact
+
+Creates a new contact.
+
+Takes a hash reference as parameter with the following keys:
+
+=over 4
+
+=item session_id
+
+=item first
+
+=item last
+
+=item emailaddress
+
+=item classnum
+
+Optional contact classnum (TODO: or name)
+
+=item comment
+
+=item selfservice_access
+
+Y to enable self-service access
+
+=item _password
+
+=back
+
+Returns a hash reference with a single parameter, B<error>, which contains an
+error message, or empty on success.
+
 =item delete_contact
 
 Deletes a contact.  (Note: Cannot at this time delete the currently-logged in
@@ -1394,6 +1485,8 @@ Takes a hash reference as parameter with the following keys:
 Returns a hash reference with a single parameter, B<error>, which contains an
 error message, or empty on success.
 
+=back
+
 =head2 "MY ACCOUNT" QUOTATION FUNCTIONS
 
 All of these functions require the user to be logged in, and the 'session_id'
@@ -1537,8 +1630,6 @@ Removes a package from a quotation. Takes the following arguments:
 
 Returns 'error' => a string, which will be empty on success.
 
-=back
-
 =item quotation_order HASHREF
 
 Converts the packages in a quotation into real packages. Takes the following