X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=fs_selfservice%2FFS-SelfService%2FSelfService.pm;h=700e60b79d9a122916f350ad86b7d86ae26a1cab;hb=3266069ed722e942150d209d1eeb5604e5ddbae8;hp=7d8d9d50aa22f877a196957c33bb71913c2b1d49;hpb=91d8438442339a51023f1c92e60f164d0fc1e8c8;p=freeside.git diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm index 7d8d9d50a..700e60b79 100644 --- a/fs_selfservice/FS-SelfService/SelfService.pm +++ b/fs_selfservice/FS-SelfService/SelfService.pm @@ -32,11 +32,13 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'switch_acct' => 'MyAccount/switch_acct', 'customer_info' => 'MyAccount/customer_info', 'customer_info_short' => 'MyAccount/customer_info_short', + 'customer_recurring' => 'MyAccount/customer_recurring', 'contact_passwd' => 'MyAccount/contact/contact_passwd', '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 +96,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', @@ -106,6 +109,7 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'new_customer' => 'Signup/new_customer', 'new_customer_minimal' => 'Signup/new_customer_minimal', 'capture_payment' => 'Signup/capture_payment', + 'new_prospect' => 'Signup/new_prospect', #N/A 'clear_signup_cache' => 'Signup/clear_cache', 'new_agent' => 'Agent/new_agent', 'agent_login' => 'Agent/agent_login', @@ -132,6 +136,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), @@ -475,6 +481,31 @@ first last company address1 address2 city county state zip country daytime night =back +=item customer_recurring HASHREF + +Takes a hash reference as parameter with a single key B +or keys B and B. + +Returns a hash reference with the keys error, custnum and display_recurring. + +display_recurring is an arrayref of hashrefs with the following keys: + +=over 4 + +=item freq + +frequency of charge, in months unless units are specified + +=item freq_pretty + +frequency of charge, suitable for display + +=item amount + +amount charged at this frequency + +=back + =item edit_info HASHREF Takes a hash reference as parameter with any of the following keys: @@ -926,6 +957,10 @@ Number of total bytes gained by recharge Orders a package for this customer. +If signup_server-realtime is set, bills the new package, attemps to collect +payment and (for auto-payment customers) cancels the package if the payment is +declined. + Takes a hash reference as parameter with the following keys: =over 4 @@ -942,6 +977,11 @@ Package to order (see L). Quantity for this package order (default 1). +=item run_bill_events + +If true, runs billing events for the customer after ordering and billing the +package (signup_server-realtime must be set). + =item locationnum Optional locationnum for this package order, for existing locations. @@ -949,13 +989,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 +1164,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 +Specified as an integer UNIX timestamp. Pass this value to the B function. =item bill_date_pretty @@ -1131,7 +1180,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. -Specified as a integer UNIX timestamp. +Specified as an integer UNIX timestamp. =item renew_date_pretty @@ -1192,6 +1241,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, empty on success, or an @@ -1350,6 +1404,46 @@ error message, or empty on success. =item list_contacts +Takes a hash reference as parameter with a single key, B. + +Returns a hash reference with two parameters: B, which contains an error +message, or empty on success, and B, a list of contacts. + +B 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 +1470,39 @@ If already logged in as a contact, this is optional. Returns a hash reference with a single parameter, B, 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, 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 +1521,8 @@ Takes a hash reference as parameter with the following keys: Returns a hash reference with a single parameter, B, 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 +1666,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