http://www.freeside.biz/mediawiki/api.php?action=feedcontributions&user=Jeremyd&feedformat=atomFreeside - User contributions [en]2024-03-29T05:39:49ZUser contributionsMediaWiki 1.27.7http://www.freeside.biz/mediawiki/index.php?title=Main_Page&diff=9547Main Page2016-02-05T20:53:08Z<p>Jeremyd: /* Versions */</p>
<hr />
<div>== Freeside ==<br />
=== Versions ===<br />
<br />
:'''Stable Version:''' 3.9<br />
::released Feb 5, 2016<br />
<br />
:'''Development Version:''': 4.x<br />
::2015<br />
<br />
:'''Future''': 5.x / git master<br />
::2016?<br />
<br />
=== Turn Key Solutions ===<br />
*[http://www.freeside.biz/freeside/services.html#install Installation]<br />
*[http://www.freeside.biz/freeside/products.html Freeside Appliance]<br />
<br />
=== Documentation ===<br />
<br />
* [[Freeside:2.3:Documentation|2.3 Documentation]]<br />
* [[Freeside:3:Documentation|3.x Documentation]]<br />
* [[Freeside:4:Documentation|4.x Documentation]]<br />
<br />
=== Support ===<br />
*[http://www.freeside.biz/freeside/services.html#support Freeside Internet Services Inc.]<br />
*[[Freeside:Support:Consultants | Freeside Consultants]]<br />
*[[Freeside:Support:HelpWanted | Help Wanted]]<br />
<br />
===Training===<br />
*[[Training syllabus]]<br />
<br />
=== Specs in progress ===<br />
* [[Use Cases]]<br />
* [[Business::FraudDetect]]<br />
* [[Event_Refactor]]<br />
* [[UI_Refactor]]<br />
* [[Website_Refactor]]<br />
* [[Browser_support]]<br />
* [[Test Suite]]<br />
<br />
=== Historical ===<br />
* [[Batch_Refactor]]<br />
* [[Broadband_Services_Spec]]<br />
* [[Virtual_to_Real_Fields]]<br />
* [[part_pkg Mixin Refactor]]<br />
* A new [[Version_Control_System]]<br />
* [[RPM_Build_system]]<br />
<br />
= Third party software =<br />
<br />
[[3rd_party_software|Third party software]] related to Freeside.<br />
<br />
= WIKI Reference =<br />
<br />
[http://meta.wikimedia.org/wiki/Help:Editing How to edit pages (wiki markup, etc)]<br><br />
[http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]<br><br />
[http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide]<br />
<br />
[[Sandbox]] &larr; Use this page to test out editing, [http://www.phrases.org.uk/meanings/225200.html learn the ropes], etc.</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Main_Page&diff=9546Main Page2016-02-05T20:52:45Z<p>Jeremyd: /* Versions */</p>
<hr />
<div>== Freeside ==<br />
=== Versions ===<br />
<br />
:'''Stable Version:''' 3.9<br />
::released Feb 5, 2015<br />
<br />
:'''Development Version:''': 4.x<br />
::2015<br />
<br />
:'''Future''': 5.x / git master<br />
::2016?<br />
<br />
=== Turn Key Solutions ===<br />
*[http://www.freeside.biz/freeside/services.html#install Installation]<br />
*[http://www.freeside.biz/freeside/products.html Freeside Appliance]<br />
<br />
=== Documentation ===<br />
<br />
* [[Freeside:2.3:Documentation|2.3 Documentation]]<br />
* [[Freeside:3:Documentation|3.x Documentation]]<br />
* [[Freeside:4:Documentation|4.x Documentation]]<br />
<br />
=== Support ===<br />
*[http://www.freeside.biz/freeside/services.html#support Freeside Internet Services Inc.]<br />
*[[Freeside:Support:Consultants | Freeside Consultants]]<br />
*[[Freeside:Support:HelpWanted | Help Wanted]]<br />
<br />
===Training===<br />
*[[Training syllabus]]<br />
<br />
=== Specs in progress ===<br />
* [[Use Cases]]<br />
* [[Business::FraudDetect]]<br />
* [[Event_Refactor]]<br />
* [[UI_Refactor]]<br />
* [[Website_Refactor]]<br />
* [[Browser_support]]<br />
* [[Test Suite]]<br />
<br />
=== Historical ===<br />
* [[Batch_Refactor]]<br />
* [[Broadband_Services_Spec]]<br />
* [[Virtual_to_Real_Fields]]<br />
* [[part_pkg Mixin Refactor]]<br />
* A new [[Version_Control_System]]<br />
* [[RPM_Build_system]]<br />
<br />
= Third party software =<br />
<br />
[[3rd_party_software|Third party software]] related to Freeside.<br />
<br />
= WIKI Reference =<br />
<br />
[http://meta.wikimedia.org/wiki/Help:Editing How to edit pages (wiki markup, etc)]<br><br />
[http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]<br><br />
[http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User's Guide]<br />
<br />
[[Sandbox]] &larr; Use this page to test out editing, [http://www.phrases.org.uk/meanings/225200.html learn the ropes], etc.</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:3:Documentation&diff=9545Freeside:3:Documentation2016-02-05T20:51:43Z<p>Jeremyd: /* Upgrading */</p>
<hr />
<div>= Note =<br />
<br />
Some documentation links point to earlier versions until things are fully moved over. The information should still be applicable.<br />
<br />
= Installation and upgrades =<br />
<br />
== Backend Installation ==<br />
<br />
=== Packages ===<br />
<br />
* [[Freeside:3:Documentation:InstallingOnDebian7|Debian 7 "wheezy"]]<br />
* [[Freeside:3:Documentation:InstallingOnDebian8|Debian 8 "jessie"]]<br />
<br />
=== Source ===<br />
<br />
* [[Freeside:3:Documentation:Installation|New Installation]]<br />
* [[Freeside:3:Documentation:RT Installation|Integrated RT Installation]]<br />
* [[Freeside:3:Documentation:Torrus Installation|Integrated Torrus Installation]]<br />
<br />
== Signup and Self-service installation ==<br />
<br />
* [[Freeside:3:Documentation:Self-Service Installation|Signup/Self-service Installation]]<br />
* [[Freeside:3:Documentation:Self-Service access without service|Self-Service access without package/service]]<br />
* [[Freeside:3:Documentation:NG_Self-Service| Next generation self-service portal]] (Work in progress)<br />
<br />
== Distributor guides ==<br />
<br />
* [[Freeside:Documentation:CreatingRPMRepo|Creating your own repository with Freeside RPMs]]<br />
<br />
* [[Freeside:Documentation:MirroringRPMRepo|Creating and using a mirror of the Freeside Internet Services RPM repositories]]<br />
<br />
* [[Freeside:Documentation:RPMBuildSystem|Documentation on the RPM build system]]<br />
<br />
== Upgrading ==<br />
<br />
* [[Freeside:3.0:Documentation:Upgrading|Upgrading from 2.3.X to 3.0]]<br />
* [[Freeside:3:Documentation:Upgrading|Upgrading between 3.x versions]]<br />
* Notes for specific versions:<br />
** [[Freeside:3.1:Documentation:Upgrading|Upgrading from versions prior to 3.1]]<br />
** [[Freeside:3.4:Documentation:Upgrading|Upgrading from versions prior to 3.4]]<br />
** [[Freeside:3.7:Documentation:Upgrading|Upgrading from versions prior to 3.7]]<br />
** [[Freeside:3.8:Documentation:Upgrading|Upgrading from versions prior to 3.8]]<br />
<br />
= User's Guide =<br />
<br />
* [[Freeside:3:Documentation:User|User's Guide]] (help wanted)<br />
* [http://www.sisd.com/~ivan/freeside-slides Training presentation slides]<br />
<br />
= Administrator's Guide =<br />
<br />
* [[Freeside:3:Documentation:Administration|Administrator's Guide]]<br />
* [[Freeside:Documentation:DisasterRecovery|Disaster Recovery]]<br />
* [[:Category:Freeside:1.9:Documentation:Template|Templates]] used and their fill in variables.<br />
<br />
= Developer's Guide =<br />
<br />
* [[Freeside:3:Documentation:Developer|Developer's Guide]]<br />
<br />
= Accounting Guide =<br />
<br />
*[[Freeside:Documentation:Accounting|Accounting Guide]]<br />
<br />
= Misc =<br />
<br />
* [[Freeside:Documentation:FAQ|Frequently Asked Questions]]<br />
* [[3rd_party_software|Third-party software]]<br />
* [[Freeside:2.1:Documentation:Administration:VoIP:Timed_Rates|New feature: Timed Rates]]<br />
* [[Freeside:2.1:Documentation:Administration:RT_Workflow|RT workflow features]]<br />
* [[Freeside:2.1:Documentation:Administration:Tips_and_Tricks|Tips and Tricks]]<br />
<br />
= Changelog =<br />
<br />
* [[Freeside:3.0:Changelog|3.0 Changelog]]<br />
* [[Freeside:3.1:Changelog|3.1 Changelog]]<br />
* [[Freeside:3.2:Changelog|3.2 Changelog]]<br />
* [[Freeside:3.3:Changelog|3.3 Changelog]]<br />
* [[Freeside:3.4:Changelog|3.4 Changelog]]<br />
* [[Freeside:3.5:Changelog|3.5 Changelog]]<br />
* [[Freeside:3.6:Changelog|3.6 Changelog]]<br />
* [[Freeside:3.7:Changelog|3.7 Changelog]]<br />
* [[Freeside:3.8:Changelog|3.8 Changelog]]<br />
* [[Freeside:3.9:Changelog|3.9 Changelog]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:3:Documentation&diff=9544Freeside:3:Documentation2016-02-05T20:51:06Z<p>Jeremyd: /* Changelog */</p>
<hr />
<div>= Note =<br />
<br />
Some documentation links point to earlier versions until things are fully moved over. The information should still be applicable.<br />
<br />
= Installation and upgrades =<br />
<br />
== Backend Installation ==<br />
<br />
=== Packages ===<br />
<br />
* [[Freeside:3:Documentation:InstallingOnDebian7|Debian 7 "wheezy"]]<br />
* [[Freeside:3:Documentation:InstallingOnDebian8|Debian 8 "jessie"]]<br />
<br />
=== Source ===<br />
<br />
* [[Freeside:3:Documentation:Installation|New Installation]]<br />
* [[Freeside:3:Documentation:RT Installation|Integrated RT Installation]]<br />
* [[Freeside:3:Documentation:Torrus Installation|Integrated Torrus Installation]]<br />
<br />
== Signup and Self-service installation ==<br />
<br />
* [[Freeside:3:Documentation:Self-Service Installation|Signup/Self-service Installation]]<br />
* [[Freeside:3:Documentation:Self-Service access without service|Self-Service access without package/service]]<br />
* [[Freeside:3:Documentation:NG_Self-Service| Next generation self-service portal]] (Work in progress)<br />
<br />
== Distributor guides ==<br />
<br />
* [[Freeside:Documentation:CreatingRPMRepo|Creating your own repository with Freeside RPMs]]<br />
<br />
* [[Freeside:Documentation:MirroringRPMRepo|Creating and using a mirror of the Freeside Internet Services RPM repositories]]<br />
<br />
* [[Freeside:Documentation:RPMBuildSystem|Documentation on the RPM build system]]<br />
<br />
== Upgrading ==<br />
<br />
* [[Freeside:3.0:Documentation:Upgrading|Upgrading from 2.3.X to 3.0]]<br />
* [[Freeside:3:Documentation:Upgrading|Upgrading between 3.x versions]]<br />
* Notes for specific versions:<br />
** [[Freeside:3.1:Documentation:Upgrading|Upgrading from versions prior to 3.1]]<br />
** [[Freeside:3.4:Documentation:Upgrading|Upgrading from versions prior to 3.4]]<br />
** [[Freeside:3.7:Documentation:Upgrading|Upgrading from versions prior to 3.7]]<br />
<br />
= User's Guide =<br />
<br />
* [[Freeside:3:Documentation:User|User's Guide]] (help wanted)<br />
* [http://www.sisd.com/~ivan/freeside-slides Training presentation slides]<br />
<br />
= Administrator's Guide =<br />
<br />
* [[Freeside:3:Documentation:Administration|Administrator's Guide]]<br />
* [[Freeside:Documentation:DisasterRecovery|Disaster Recovery]]<br />
* [[:Category:Freeside:1.9:Documentation:Template|Templates]] used and their fill in variables.<br />
<br />
= Developer's Guide =<br />
<br />
* [[Freeside:3:Documentation:Developer|Developer's Guide]]<br />
<br />
= Accounting Guide =<br />
<br />
*[[Freeside:Documentation:Accounting|Accounting Guide]]<br />
<br />
= Misc =<br />
<br />
* [[Freeside:Documentation:FAQ|Frequently Asked Questions]]<br />
* [[3rd_party_software|Third-party software]]<br />
* [[Freeside:2.1:Documentation:Administration:VoIP:Timed_Rates|New feature: Timed Rates]]<br />
* [[Freeside:2.1:Documentation:Administration:RT_Workflow|RT workflow features]]<br />
* [[Freeside:2.1:Documentation:Administration:Tips_and_Tricks|Tips and Tricks]]<br />
<br />
= Changelog =<br />
<br />
* [[Freeside:3.0:Changelog|3.0 Changelog]]<br />
* [[Freeside:3.1:Changelog|3.1 Changelog]]<br />
* [[Freeside:3.2:Changelog|3.2 Changelog]]<br />
* [[Freeside:3.3:Changelog|3.3 Changelog]]<br />
* [[Freeside:3.4:Changelog|3.4 Changelog]]<br />
* [[Freeside:3.5:Changelog|3.5 Changelog]]<br />
* [[Freeside:3.6:Changelog|3.6 Changelog]]<br />
* [[Freeside:3.7:Changelog|3.7 Changelog]]<br />
* [[Freeside:3.8:Changelog|3.8 Changelog]]<br />
* [[Freeside:3.9:Changelog|3.9 Changelog]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:3.9:Documentation:Upgrading&diff=9543Freeside:3.9:Documentation:Upgrading2016-02-05T18:56:40Z<p>Jeremyd: Created page with "= Note = When upgrading from versions prior to 3.8, before the regular 3.x upgrade, follow these instructions. = Prerequisites = No ..."</p>
<hr />
<div>= Note =<br />
<br />
When upgrading from versions prior to 3.8, before the [[Freeside:3:Documentation:Upgrading|regular 3.x upgrade]], follow these instructions.<br />
<br />
= Prerequisites = <br />
<br />
No additional items are required.</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:3.8:Documentation:Upgrading&diff=9536Freeside:3.8:Documentation:Upgrading2016-01-20T14:46:23Z<p>Jeremyd: /* Debian */</p>
<hr />
<div>= Note =<br />
<br />
When upgrading from versions prior to 3.8, before the [[Freeside:3:Documentation:Upgrading|regular 3.x upgrade]], follow these instructions.<br />
<br />
= Prerequisites = <br />
<br />
== Debian ==<br />
<br />
* install perl modules<br />
<pre><br />
aptitude install libparams-classify-perl libdata-password-perl aspell-en<br />
</pre><br />
<br />
== Other OSes ==<br />
<br />
* Install Params::Classify Data::Password from CPAN (or your packaging system if available).<br />
* Install aspell-en from your packaging system</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:3.8:Documentation:Upgrading&diff=9535Freeside:3.8:Documentation:Upgrading2016-01-20T14:46:11Z<p>Jeremyd: Created page with "= Note = When upgrading from versions prior to 3.8, before the regular 3.x upgrade, follow these instructions. = Prerequisites = == ..."</p>
<hr />
<div>= Note =<br />
<br />
When upgrading from versions prior to 3.8, before the [[Freeside:3:Documentation:Upgrading|regular 3.x upgrade]], follow these instructions.<br />
<br />
= Prerequisites = <br />
<br />
== Debian ==<br />
<br />
* install perl modules<br />
<pre><br />
aptitude install libparams-classify-perl libdata-password-perl aspell-en<br />
</pre><br />
<br />
== Other OSes ==<br />
<br />
* Install Params::Classify Data::Password from CPAN (or your packaging system if available).<br />
* Install aspell-en from your packaging system</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:3.7:Documentation:Upgrading&diff=9534Freeside:3.7:Documentation:Upgrading2016-01-20T14:39:04Z<p>Jeremyd: </p>
<hr />
<div>= Note =<br />
<br />
When upgrading from versions prior to 3.7, before the [[Freeside:3:Documentation:Upgrading|regular 3.x upgrade]], follow these instructions.<br />
<br />
= Prerequisites = <br />
<br />
== Debian ==<br />
<br />
* install perl modules<br />
<pre><br />
aptitude install libnet-https-any-perl<br />
</pre><br />
<br />
== Other OSes ==<br />
<br />
* Install Net::HTTPS::Any from CPAN (or your packaging system if available).</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/FS/SelfService/XMLRPC&diff=9507Freeside:4:Documentation:Developer/FS/SelfService/XMLRPC2015-11-18T15:46:48Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
FS::SelfService::XMLRPC - Freeside XMLRPC accessible self-service API<br />
<br />
==SYNOPSIS==<br />
==DESCRIPTION==<br />
Use this API to implement your own client "self-service" module vi XMLRPC.<br />
<br />
Each routine described in [[Freeside:4:Documentation:Developer/FS/SelfService|FS::SelfService]] is available vi XMLRPC as the method FS.SelfService.XMLRPC.'''method'''. All values are passed to the selfservice-server in a struct of strings. The return values are in a struct as strings, arrays, or structs as appropriate for the values described in [[Freeside:4:Documentation:Developer/FS/SelfService|FS::SelfService]].<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/bin/freeside-selfservice-clientd|freeside-selfservice-clientd]], [[Freeside:4:Documentation:Developer/bin/freeside-selfservice-server|freeside-selfservice-server]],[[Freeside:4:Documentation:Developer/FS/SelfService|FS::SelfService]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/FS/SelfService&diff=9506Freeside:4:Documentation:Developer/FS/SelfService2015-11-18T15:46:45Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
FS::SelfService - Freeside self-service API<br />
<br />
==SYNOPSIS==<br />
<code><br />
# password and shell account changes<br />
use FS::SelfService qw(passwd chfn chsh);<br />
<br />
# "my account" functionality<br />
use FS::SelfService qw( login customer_info invoice cancel payment_info process_payment );<br />
<br />
#new-style login with an email address and password<br />
# can also be used for svc_acct login, set $emailaddress to username@domain<br />
my $rv = login ( { 'email' => $emailaddress,<br />
'password' => $password,<br />
},<br />
);<br />
if ( $rv->{'error'} ) {<br />
#handle login error...<br />
} else {<br />
#successful login<br />
$session_id = $rv->{'session_id'};<br />
}<br />
<br />
#classic svc_acct-based login with separate username and password<br />
my $rv = login( { 'username' => $username,<br />
'domain' => $domain,<br />
'password' => $password,<br />
}<br />
);<br />
if ( $rv->{'error'} ) {<br />
#handle login error...<br />
} else {<br />
#successful login<br />
$session_id = $rv->{'session_id'};<br />
}<br />
<br />
#svc_phone login with phone number and PIN<br />
my $rv = login( { 'username' => $phone_number,<br />
'domain' => 'svc_phone',<br />
'password' => $pin,<br />
}<br />
);<br />
if ( $rv->{'error'} ) {<br />
#handle login error...<br />
} else {<br />
#successful login<br />
$session_id = $rv->{'session_id'};<br />
}<br />
<br />
my $customer_info = customer_info( { 'session_id' => $session_id } );<br />
<br />
#payment_info and process_payment are available in 1.5+ only<br />
my $payment_info = payment_info( { 'session_id' => $session_id } );<br />
<br />
#!!! process_payment example<br />
<br />
#!!! list_pkgs example<br />
<br />
#ordering a package with an svc_acct service<br />
my $rv = order_pkg( { 'session_id' => $session_id,<br />
'pkgpart' => $pkgpart,<br />
'svcpart' => $svcpart,<br />
'username' => $username,<br />
'domsvc' => $domsvc, #svcnum of svc_domain<br />
'_password' => $password,<br />
}<br />
);<br />
<br />
#!!! ordering a package with an svc_domain service example<br />
<br />
#!!! ordering a package with an svc_phone service example<br />
<br />
#!!! ordering a package with an svc_external service example<br />
<br />
#!!! ordering a package with an svc_pbx service<br />
<br />
#ordering a package with no service<br />
my $rv = order_pkg( { 'session_id' => $session_id,<br />
'pkgpart' => $pkgpart,<br />
'svcpart' => 'none',<br />
}<br />
);<br />
<br />
#quoting a package, then ordering after confirmation<br />
<br />
my $rv = quotation_new({ 'session_id' => $session_id });<br />
my $qnum = $rv->{quotationnum};<br />
# add packages to the quotation<br />
$rv = quotation_add_pkg({ 'session_id' => $session_id,<br />
'quotationnum' => $qnum,<br />
'pkgpart' => $pkgpart,<br />
'quantity' => $quantity, # defaults to 1<br />
});<br />
# repeat until all packages are added<br />
# view the pricing information<br />
$rv = quotation_info({ 'session_id' => $session_id,<br />
'quotationnum' => $qnum,<br />
});<br />
print "Total setup charges: ".$rv->{total_setup}."\n".<br />
"Total recurring charges: ".$rv->{total_recur}."\n";<br />
# quotation_info also provides a detailed breakdown of charges, in<br />
# $rv->{sections}.<br />
<br />
# ask customer for confirmation, then:<br />
$rv = quotation_order({ 'session_id' => $session_id,<br />
'quotationnum' => $qnum,<br />
});<br />
<br />
#!!! cancel_pkg example<br />
<br />
# signup functionality<br />
use FS::SelfService qw( signup_info new_customer new_customer_minimal );<br />
<br />
my $signup_info = signup_info;<br />
<br />
$rv = new_customer( {<br />
'first' => $first,<br />
'last' => $last,<br />
'company' => $company,<br />
'address1' => $address1,<br />
'address2' => $address2,<br />
'city' => $city,<br />
'state' => $state,<br />
'zip' => $zip,<br />
'country' => $country,<br />
'daytime' => $daytime,<br />
'night' => $night,<br />
'fax' => $fax,<br />
'payby' => $payby,<br />
'payinfo' => $payinfo,<br />
'paycvv' => $paycvv,<br />
'paystart_month' => $paystart_month<br />
'paystart_year' => $paystart_year,<br />
'payissue' => $payissue,<br />
'payip' => $payip<br />
'paydate' => $paydate,<br />
'payname' => $payname,<br />
'invoicing_list' => $invoicing_list,<br />
'referral_custnum' => $referral_custnum,<br />
'agentnum' => $agentnum,<br />
'pkgpart' => $pkgpart,<br />
<br />
'username' => $username,<br />
'_password' => $password,<br />
'popnum' => $popnum,<br />
#OR<br />
'countrycode' => 1,<br />
'phonenum' => $phonenum,<br />
'pin' => $pin,<br />
}<br />
);<br />
<br />
my $error = $rv->{'error'};<br />
if ( $error eq '_decline' ) {<br />
print_decline();<br />
} elsif ( $error ) {<br />
reprint_signup();<br />
} else {<br />
print_success();<br />
}<br />
</code><br />
==DESCRIPTION==<br />
Use this API to implement your own client "self-service" module.<br />
<br />
If you just want to customize the look of the existing "self-service" module, see XXXX instead.<br />
<br />
==PASSWORD, GECOS, SHELL CHANGING FUNCTIONS==<br />
; passwd<br />
:Changes the password for an existing user in svc_acct. Takes a hash reference with the following keys:<br />
:; username<br />
::Username of the account (required)<br />
:; domain<br />
::Domain of the account (required)<br />
:; old_password<br />
::Old password (required)<br />
:; new_password<br />
::New password (required)<br />
:; new_gecos<br />
::New gecos<br />
:; new_shell<br />
::New Shell<br />
; chfn; chsh<br />
=="MY ACCOUNT" FUNCTIONS==<br />
; login HASHREF<br />
:Creates a user session. Takes a hash reference as parameter with the following keys:<br />
:; email<br />
::Email address (username@domain), instead of username and domain. Required for contact-based self-service login, can also be used for svc_acct-based login.<br />
:; username<br />
::Username<br />
:; domain<br />
::Domain<br />
:; password<br />
::Password<br />
<br />
:Returns a hash reference with the following keys:<br />
:; error<br />
::Empty on success, or an error message on errors.<br />
:; session_id<br />
::Session identifier for successful logins<br />
; customer_info HASHREF<br />
:Returns general customer information.<br />
<br />
:Takes a hash reference as parameter with a single key: '''session_id'''<br />
<br />
:Returns a hash reference with the following keys:<br />
:; name<br />
::Customer name<br />
:; balance<br />
::Balance owed<br />
:; open<br />
::Array reference of hash references of open inoices. Each hash reference has the following keys: invnum, date, owed<br />
:; small_custview<br />
::An HTML fragment containing shipping and billing addresses.<br />
:; The following fields are also returned<br />
::first last company address1 address2 city county state zip country daytime night fax ship_first ship_last ship_company ship_address1 ship_address2 ship_city ship_state ship_zip ship_country ship_daytime ship_night ship_fax payby payinfo payname month year invoicing_list postal_invoicing<br />
; edit_info HASHREF<br />
:Takes a hash reference as parameter with any of the following keys:<br />
<br />
:first last company address1 address2 city county state zip country daytime night fax ship_first ship_last ship_company ship_address1 ship_address2 ship_city ship_state ship_zip ship_country ship_daytime ship_night ship_fax payby payinfo paycvv payname month year invoicing_list postal_invoicing<br />
<br />
:If a field exists, the customer record is updated with the new value of that field. If a field does not exist, that field is not changed on the customer record.<br />
<br />
:Returns a hash reference with a single key, '''error''', empty on success, or an error message on errors<br />
; invoice HASHREF<br />
:Returns an invoice. Takes a hash reference as parameter with two keys: session_id and invnum<br />
<br />
:Returns a hash reference with the following keys:<br />
:; error<br />
::Empty on success, or an error message on errors<br />
:; invnum<br />
::Invoice number<br />
:; invoice_text<br />
::Invoice text<br />
; list_invoices HASHREF<br />
:Returns a list of all customer invoices. Takes a hash reference with a single key, session_id.<br />
<br />
:Returns a hash reference with the following keys:<br />
:; error<br />
::Empty on success, or an error message on errors<br />
:; invoices<br />
::Reference to array of hash references with the following keys:<br />
::; invnum<br />
:::Invoice ID<br />
::; _date<br />
:::Invoice date, in UNIX epoch time<br />
; list_payby HASHREF<br />
:Returns a list of all stored customer payment information (credit cards and electronic check accounts). Takes a hash reference with a single key, session_id.<br />
<br />
:Returns a hash reference with the following keys:<br />
:; error<br />
::Empty on success, or an error message on errors<br />
:; payby<br />
::Reference to array of hash references with the following keys:<br />
::; custpaybynum::; weight<br />
:::Numeric weighting. Stored payment information with a lower weight is attempted first.<br />
::; payby<br />
:::CARD (Automatic credit card), CHEK (Automatic electronic check), DCRD (on-demand credit card) or DCHK (on-demand electronic check).<br />
::; paymask<br />
:::Masked credit card number (or, masked account and routing numbers)<br />
::; paydate<br />
:::Credit card expiration date<br />
::; payname<br />
:::Exact name on card (or bank name, for electronic checks)<br />
::; paystate<br />
:::For electronic checks, bank state<br />
::; paytype<br />
:::For electronic checks, account type (Personal/Business, Checking/Savings)<br />
; insert_payby HASHREF<br />
:Adds new stored payment information for this customer. Takes a hash reference with the following keys:<br />
:; session_id:; weight<br />
::Numeric weighting. Stored payment information with a lower weight is attempted first.<br />
:; payby<br />
::CARD (Automatic credit card), CHEK (Automatic electronic check), DCRD (on-demand credit card) or DCHK (on-demand electronic check).<br />
:; payinfo<br />
::Credit card number (or electronic check "account@routing")<br />
:; paycvv<br />
::CVV2 number / security code<br />
:; paydate<br />
::Credit card expiration date<br />
:; payname<br />
::Exact name on card (or bank name, for electronic checks)<br />
:; paystate<br />
::For electronic checks, bank state<br />
:; paytype<br />
::For electronic checks, account type (i.e. "Personal Savings", "Personal Checking", "Business Checking")A<br />
:; payip<br />
::Optional IP address from which payment was submitted<br />
<br />
:If there is an error, returns a hash reference with a single key, '''error''', otherwise returns a hash reference with a single key, '''custpaybynum'''.<br />
; delete_payby HASHREF<br />
:Removes stored payment information. Takes a hash reference with two keys, '''session_id''' and '''custpaybynum'''. Returns a hash reference with a single key, '''error''', which is an error message or empty for successful removal.<br />
; cancel HASHREF<br />
:Cancels this customer.<br />
<br />
:Takes a hash reference as parameter with a single key: '''session_id'''<br />
<br />
:Returns a hash reference with a single key, '''error''', which is empty on success or an error message on errors.<br />
; payment_info HASHREF<br />
:Returns information that may be useful in displaying a payment page.<br />
<br />
:Takes a hash reference as parameter with a single key: '''session_id'''.<br />
<br />
:Returns a hash reference with the following keys:<br />
:; error<br />
::Empty on success, or an error message on errors<br />
:; balance<br />
::Balance owed<br />
:; payname<br />
::Exact name on credit card (CARD/DCRD)<br />
:; address1<br />
::Address line one<br />
:; address2<br />
::Address line two<br />
:; city<br />
::City<br />
:; state<br />
::State<br />
:; zip<br />
::Zip or postal code<br />
:; payby<br />
::Customer's current default payment type.<br />
:; card_type<br />
::For CARD/DCRD payment types, the card type (Visa card, MasterCard, Discover card, American Express card, etc.)<br />
:; payinfo<br />
::For CARD/DCRD payment types, the card number<br />
:; month<br />
::For CARD/DCRD payment types, expiration month<br />
:; year<br />
::For CARD/DCRD payment types, expiration year<br />
:; cust_main_county<br />
::County/state/country data - array reference of hash references, each of which has the fields of a cust_main_county record (see [[Freeside:4:Documentation:Developer/FS/cust main county|FS::cust_main_county]]). Note these are not FS::cust_main_county objects, but hash references of columns and values.<br />
:; states<br />
::Array reference of all states in the current default country.<br />
:; card_types<br />
::Hash reference of card types; keys are card types, values are the exact strings passed to the process_payment function<br />
; process_payment HASHREF<br />
:Processes a payment and possible change of address or payment type. Takes a hash reference as parameter with the following keys:<br />
:; session_id<br />
::Session identifier<br />
:; amount<br />
::Amount<br />
:; save<br />
::If true, address and card information entered will be saved for subsequent transactions.<br />
:; auto<br />
::If true, future credit card payments will be done automatically (sets payby to CARD). If false, future credit card payments will be done on-demand (sets payby to DCRD). This option only has meaning if '''save''' is set true.<br />
:; payname<br />
::Name on card<br />
:; address1<br />
::Address line one<br />
:; address2<br />
::Address line two<br />
:; city<br />
::City<br />
:; state<br />
::State<br />
:; zip<br />
::Zip or postal code<br />
:; country<br />
::Two-letter country code<br />
:; payinfo<br />
::Card number<br />
:; month<br />
::Card expiration month<br />
:; year<br />
::Card expiration year<br />
<br />
:Returns a hash reference with a single key, '''error''', empty on success, or an error message on errors.<br />
; process_payment_order_pkg<br />
:Combines the '''process_payment''' and '''order_pkg''' functions in one step. If the payment processes sucessfully, the package is ordered. Takes a hash reference as parameter with the keys of both methods.<br />
<br />
:Returns a hash reference with a single key, '''error''', empty on success, or an error message on errors.<br />
; process_payment_change_pkg<br />
:Combines the '''process_payment''' and '''change_pkg''' functions in one step. If the payment processes sucessfully, the package is ordered. Takes a hash reference as parameter with the keys of both methods.<br />
<br />
:Returns a hash reference with a single key, '''error''', empty on success, or an error message on errors.<br />
; process_payment_order_renew<br />
:Combines the '''process_payment''' and '''order_renew''' functions in one step. If the payment processes sucessfully, the renewal is processed. Takes a hash reference as parameter with the keys of both methods.<br />
<br />
:Returns a hash reference with a single key, '''error''', empty on success, or an error message on errors.<br />
; list_pkgs<br />
:Returns package information for this customer. For more detail on services, see [[#list_svcs|"list_svcs"]].<br />
<br />
:Takes a hash reference as parameter with a single key: '''session_id'''<br />
<br />
:Returns a hash reference containing customer package information. The hash reference contains the following keys:<br />
:; custnum<br />
::Customer number<br />
:; error<br />
::Empty on success, or an error message on errors.<br />
:; cust_pkg HASHREF<br />
::Array reference of hash references, each of which has the fields of a cust_pkg record (see [[Freeside:4:Documentation:Developer/FS/cust pkg|FS::cust_pkg]]) as well as the fields below. Note these are not the internal FS:: objects, but hash references of columns and values.<br />
::; part_pkg fields<br />
:::All fields of part_pkg for this specific cust_pkg (be careful with this information - it may reveal more about your available packages than you would like users to know in aggregate)<br />
::; part_svc<br />
:::An array of hash references indicating information on unprovisioned services available for provisioning for this specific cust_pkg. Each has the following keys:<br />
:::; part_svc fields<br />
::::All fields of part_svc (be careful with this information - it may reveal more about your available packages than you would like users to know in aggregate)<br />
::; cust_svc<br />
:::An array of hash references indicating information on the customer services already provisioned for this specific cust_pkg. Each has the following keys:<br />
:::; label<br />
::::Array reference with three elements: The first element is the name of this service. The second element is a meaningful user-specific identifier for the service (i.e. username, domain or mail alias). The last element is the table name of this service.<br />
::; svcnum<br />
:::Primary key for this service<br />
::; svcpart<br />
:::Service definition (see [[Freeside:4:Documentation:Developer/FS/part svc|FS::part_svc]])<br />
::; pkgnum<br />
:::Customer package (see [[Freeside:4:Documentation:Developer/FS/cust pkg|FS::cust_pkg]])<br />
::; overlimit<br />
:::Blank if the service is not over limit, or the date the service exceeded its usage limit (as a UNIX timestamp).<br />
; list_svcs<br />
:Returns service information for this customer.<br />
<br />
:Takes a hash reference as parameter with a single key: '''session_id'''<br />
<br />
:Returns a hash reference containing customer package information. The hash reference contains the following keys:<br />
:; custnum<br />
::Customer number<br />
:; svcs<br />
::An array of hash references indicating information on all of this customer's services. Each has the following keys:<br />
::; svcnum<br />
:::Primary key for this service<br />
::; label<br />
:::Name of this service<br />
::; value<br />
:::Meaningful user-specific identifier for the service (i.e. username, domain, or mail alias).<br />
<br />
::Account (svc_acct) services also have the following keys:<br />
::; username<br />
:::Username<br />
::; email<br />
:::username@domain<br />
::; seconds<br />
:::Seconds remaining<br />
::; upbytes<br />
:::Upload bytes remaining<br />
::; downbytes<br />
:::Download bytes remaining<br />
::; totalbytes<br />
:::Total bytes remaining<br />
::; recharge_amount<br />
:::Cost of a recharge<br />
::; recharge_seconds<br />
:::Number of seconds gained by recharge<br />
::; recharge_upbytes<br />
:::Number of upload bytes gained by recharge<br />
::; recharge_downbytes<br />
:::Number of download bytes gained by recharge<br />
::; recharge_totalbytes<br />
:::Number of total bytes gained by recharge<br />
; order_pkg<br />
:Orders a package for this customer.<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id<br />
::Session identifier<br />
:; pkgpart<br />
::Package to order (see [[Freeside:4:Documentation:Developer/FS/part pkg|FS::part_pkg]]).<br />
:; quantity<br />
::Quantity for this package order (default 1).<br />
:; locationnum<br />
::Optional locationnum for this package order, for existing locations.<br />
<br />
::Or, for new locations, pass the following fields: address1*, address2, city*, county, state*, zip*, country. (* = required in this case)<br />
:; address1:; address 2:; city:; :; svcpart<br />
::Service to order (see [[Freeside:4:Documentation:Developer/FS/part svc|FS::part_svc]]).<br />
<br />
::Normally optional; required only to provision a non-svc_acct service, or if the package definition does not contain one svc_acct service definition with quantity 1 (it may contain others with quantity >1). A svcpart of "none" can also be specified to indicate that no initial service should be provisioned.<br />
<br />
:Fields used when provisioning an svc_acct service:<br />
:; username<br />
::Username<br />
:; _password<br />
::Password<br />
:; sec_phrase<br />
::Optional security phrase<br />
:; popnum<br />
::Optional Access number number<br />
<br />
:Fields used when provisioning an svc_domain service:<br />
:; domain<br />
::Domain<br />
<br />
:Fields used when provisioning an svc_phone service:<br />
:; phonenum<br />
::Phone number<br />
:; pin<br />
::Voicemail PIN<br />
:; sip_password<br />
::SIP password<br />
<br />
:Fields used when provisioning an svc_external service:<br />
:; id<br />
::External numeric ID.<br />
:; title<br />
::External text title.<br />
<br />
:Fields used when provisioning an svc_pbx service:<br />
:; id<br />
::Numeric ID.<br />
:; name<br />
::Text name.<br />
<br />
:Returns a hash reference with a single key, '''error''', empty on success, or an error message on errors. The special error '_decline' is returned for declined transactions.<br />
; change_pkg<br />
:Changes a package for this customer.<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id<br />
::Session identifier<br />
:; pkgnum<br />
::Existing customer package.<br />
:; pkgpart<br />
::New package to order (see [[Freeside:4:Documentation:Developer/FS/part pkg|FS::part_pkg]]).<br />
:; quantity<br />
::Quantity for this package order (default 1).<br />
<br />
:Returns a hash reference with the following keys:<br />
:; error<br />
::Empty on success, or an error message on errors.<br />
:; pkgnum<br />
::On success, the new pkgnum<br />
; renew_info<br />
:Provides useful info for early renewals.<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id<br />
::Session identifier<br />
<br />
:Returns a hash reference. On errors, it contains a single key, '''error''', with the error message. Otherwise, contains a single key, '''dates''', pointing to an array refernce of hash references. Each hash reference contains the following keys:<br />
:; bill_date<br />
::(Future) Bill date. Indicates a future date for which billing could be run. Specified as a integer UNIX timestamp. Pass this value to the '''order_renew''' function.<br />
:; bill_date_pretty<br />
::(Future) Bill date as a human-readable string. (Convenience for display; subject to change, so best not to parse for the date.)<br />
:; amount<br />
::Base amount which will be charged if renewed early as of this date.<br />
:; renew_date<br />
::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 '''bill-date'''. Specified as a integer UNIX timestamp.<br />
:; renew_date_pretty<br />
::Renewal date as a human-readable string. (Convenience for display; subject to change, so best not to parse for the date.)<br />
:; pkgnum<br />
::Package that will be renewed.<br />
:; expire_date<br />
::Expiration date of the package that will be renewed.<br />
:; expire_date_pretty<br />
::Expiration date of the package that will be renewed, as a human-readable string. (Convenience for display; subject to change, so best not to parse for the date.)<br />
; order_renew<br />
:Renews this customer early; i.e. runs billing for this customer in advance.<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id<br />
::Session identifier<br />
:; date<br />
::Integer date as returned by the '''renew_info''' function, indicating the advance date for which to run billing.<br />
<br />
:Returns a hash reference with a single key, '''error''', empty on success, or an error message on errors.<br />
; cancel_pkg<br />
:Cancels a package for this customer.<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id<br />
::Session identifier<br />
:; pkgpart<br />
::pkgpart of package to cancel<br />
<br />
:Returns a hash reference with a single key, '''error''', empty on success, or an error message on errors.<br />
; provision_acct<br />
:Provisions an account (svc_acct).<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id<br />
::Session identifier<br />
:; pkgnum<br />
::pkgnum of package into which this service is provisioned<br />
:; svcpart<br />
::svcpart or service definition to provision<br />
:; username:; domsvc:; _password; provision_phone<br />
:Provisions a phone number (svc_phone).<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id<br />
::Session identifier<br />
:; pkgnum<br />
::pkgnum of package into which this service is provisioned<br />
:; svcpart<br />
::svcpart or service definition to provision<br />
:; countrycode:; phonenum:; address1:; address2:; city:; county:; state:; zip:; country<br />
::E911 Address (optional)<br />
; provision_pbx<br />
:Provisions a customer PBX (svc_pbx).<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id<br />
::Session identifier<br />
:; pkgnum<br />
::pkgnum of package into which this service is provisioned<br />
:; svcpart<br />
::svcpart or service definition to provision<br />
:; id:; title:; max_extensions:; max_simultaneous:; ip_addr; provision_external<br />
:Provisions an external service (svc_external).<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id<br />
::Session identifier<br />
:; pkgnum<br />
::pkgnum of package into which this service is provisioned<br />
:; svcpart<br />
::svcpart or service definition to provision<br />
:; id:; title<br />
==="MY ACCOUNT" CONTACT FUNCTIONS===<br />
; contact_passwd<br />
:Changes the password for the currently-logged in contact.<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id:; new_password<br />
:Returns a hash reference with a single parameter, '''error''', which contains an error message, or empty on success.<br />
; list_contacts<br />
:Takes a hash reference as parameter with a single key, '''session_id'''.<br />
<br />
:Returns a hash reference with two parameters: '''error''', which contains an error message, or empty on success, and '''contacts''', a list of contacts.<br />
<br />
:'''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:<br />
; contactnum; class<br />
:Contact class name (contact type).<br />
; first<br />
:First name<br />
; last<br />
:Last name<br />
; title<br />
:Position ("Director of Silly Walks"), NOT honorific ("Mr." or "Mrs.")<br />
; emailaddress<br />
:Comma-separated list of email addresses<br />
; comment; selfservice_access<br />
:Y when enabled<br />
<br />
; edit_contact<br />
:Updates information for the currently-logged in contact, or (optionally) the specified contact.<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id:; contactnum<br />
::If already logged in as a contact, this is optional.<br />
:; first:; last:; emailaddress<br />
:Returns a hash reference with a single parameter, '''error''', which contains an error message, or empty on success.<br />
; new_contact<br />
:Creates a new contact.<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id:; first:; last:; emailaddress:; classnum<br />
::Optional contact classnum (TODO: or name)<br />
:; comment:; selfservice_access<br />
::Y to enable self-service access<br />
:; _password<br />
:Returns a hash reference with a single parameter, '''error''', which contains an error message, or empty on success.<br />
; delete_contact<br />
:Deletes a contact. (Note: Cannot at this time delete the currently-logged in contact.)<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id:; contactnum<br />
:Returns a hash reference with a single parameter, '''error''', which contains an error message, or empty on success.<br />
<br />
==="MY ACCOUNT" QUOTATION FUNCTIONS===<br />
All of these functions require the user to be logged in, and the 'session_id' key to be included in the argument hashref.`<br />
<br />
; list_quotations HASHREF<br />
:Returns a hashref listing this customer's active self-service quotations. Contents are:<br />
:; quotations<br />
::an arrayref containing an element for each quotation.<br />
:; quotationnum<br />
::the primary key<br />
:; _date<br />
::the date it was started<br />
:; num_pkgs<br />
::the number of packages<br />
:; total_setup<br />
::the sum of setup fees<br />
:; total_recur<br />
::the sum of recurring charges<br />
; quotation_new HASHREF<br />
:Creates an empty quotation and returns a hashref containing 'quotationnum', the primary key of the new quotation.<br />
; quotation_delete HASHREF<br />
:Disables (does not really delete) a quotation. Takes the following arguments:<br />
:; session_id:; quotationnum - the quotation to delete<br />
:Returns 'error' => a string, which will be empty on success.<br />
; quotation_info HASHREF<br />
:Returns total and detailed pricing information on a quotation.<br />
<br />
:Takes the following arguments:<br />
:; session_id:; quotationnum - the quotation to return<br />
:Returns a hashref containing:<br />
<br />
:- total_setup, the total of setup fees (and their taxes) - total_recur, the total of all recurring charges (and their taxes) - sections, an arrayref containing an element for each quotation section. - description, a line of text describing the group of charges - subtotal, the total of charges in this group (if appropriate) - detail_items, an arrayref of line items - pkgnum, the reference number of the package - description, the package name (or tax name) - quantity - amount, the amount charged If the detail item represents a subtotal, it will instead contain: - total_item: description of the subtotal - total_amount: the subtotal amount<br />
; quotation_print HASHREF<br />
:Renders the quotation as HTML or PDF. Takes the following arguments:<br />
:; session_id:; quotationnum - the quotation to return:; format - 'html' or 'pdf'<br />
:Returns a hashref containing 'document', the contents of the file.<br />
; quotation_add_pkg HASHREF<br />
:Adds a package to a quotation. Takes the following arguments:<br />
:; session_id:; pkgpart - the package to add:; quotationnum - the quotation to add it to:; quantity - the package quantity (defaults to 1):; address1, address2, city, state, zip, country - address fields to set the service location<br />
:Returns 'error' => a string, which will be empty on success.<br />
; quotation_remove_pkg HASHREF<br />
:Removes a package from a quotation. Takes the following arguments:<br />
:; session_id:; pkgnum - the primary key (quotationpkgnum) of the package to remove:; quotationnum - the quotation to remove it from<br />
:Returns 'error' => a string, which will be empty on success.<br />
<br />
; quotation_order HASHREF<br />
:Converts the packages in a quotation into real packages. Takes the following arguments:<br />
<br />
:Takes the following arguments:<br />
:; session_id:; quotationnum - the quotation to order<br />
==SIGNUP FUNCTIONS==<br />
; signup_info HASHREF<br />
:Takes a hash reference as parameter with the following keys:<br />
:; session_id - Optional agent/reseller interface session<br />
:Returns a hash reference containing information that may be useful in displaying a signup page. The hash reference contains the following keys:<br />
:; cust_main_county<br />
::County/state/country data - array reference of hash references, each of which has the fields of a cust_main_county record (see [[Freeside:4:Documentation:Developer/FS/cust main county|FS::cust_main_county]]). Note these are not FS::cust_main_county objects, but hash references of columns and values.<br />
:; part_pkg<br />
::Available packages - array reference of hash references, each of which has the fields of a part_pkg record (see [[Freeside:4:Documentation:Developer/FS/part pkg|FS::part_pkg]]). Each hash reference also has an additional 'payby' field containing an array reference of acceptable payment types specific to this package (see below and [[Freeside:4:Documentation:Developer/FS/part pkg#payby|"payby" in FS/part pkg|FS::part_pkg#payby|"payby" in FS::part_pkg]]). Note these are not FS::part_pkg objects, but hash references of columns and values. Requires the 'signup_server-default_agentnum' configuration value to be set, or an agentnum specified explicitly via reseller interface session_id in the options.<br />
:; agent<br />
::Array reference of hash references, each of which has the fields of an agent record (see [[Freeside:4:Documentation:Developer/FS/agent|FS::agent]]). Note these are not FS::agent objects, but hash references of columns and values.<br />
:; agentnum2part_pkg<br />
::Hash reference; keys are agentnums, values are array references of available packages for that agent, in the same format as the part_pkg arrayref above.<br />
:; svc_acct_pop<br />
::Access numbers - array reference of hash references, each of which has the fields of an svc_acct_pop record (see [[Freeside:4:Documentation:Developer/FS/svc acct pop|FS::svc_acct_pop]]). Note these are not FS::svc_acct_pop objects, but hash references of columns and values.<br />
:; security_phrase<br />
::True if the "security_phrase" feature is enabled<br />
:; payby<br />
::Array reference of acceptable payment types for signup<br />
::; CARD<br />
:::credit card - automatic<br />
::; DCRD<br />
:::credit card - on-demand - version 1.5+ only<br />
::; CHEK<br />
:::electronic check - automatic<br />
::; DCHK<br />
:::electronic check - on-demand - version 1.5+ only<br />
::; LECB<br />
:::Phone bill billing<br />
::; BILL<br />
:::billing, not recommended for signups<br />
::; COMP<br />
:::free, definitely not recommended for signups<br />
::; PREPAY<br />
:::special billing type: applies a credit (see FS::prepay_credit) and sets billing type to BILL<br />
:; cvv_enabled<br />
::True if CVV features are available (1.5+ or 1.4.2 with CVV schema patch)<br />
:; msgcat<br />
::Hash reference of message catalog values, to support error message customization. Currently available keys are: passwords_dont_match, invalid_card, unknown_card_type, and not_a (as in "Not a Discover card"). Values are configured in the web interface under "View/Edit message catalog".<br />
:; statedefault<br />
::Default state<br />
:; countrydefault<br />
::Default country<br />
; new_customer_minimal HASHREF<br />
:Creates a new customer.<br />
<br />
:Current differences from new_customer: An address is not required. promo_code and reg_code are not supported. If invoicing_list and _password is passed, a contact will be created with self-service access (no pkgpart or username is necessary). No initial billing is run (this may change in a future version).<br />
<br />
:Takes a hash reference as parameter with the following keys:<br />
:; first<br />
::first name (required)<br />
:; last<br />
::last name (required)<br />
:; ss<br />
::(not typically collected; mostly used for ACH transactions)<br />
:; company<br />
::Company name<br />
:; address1<br />
::Address line one<br />
:; address2<br />
::Address line two<br />
:; city<br />
::City<br />
:; county<br />
::County<br />
:; state<br />
::State<br />
:; zip<br />
::Zip or postal code<br />
:; daytime<br />
::Daytime phone number<br />
:; night<br />
::Evening phone number<br />
:; fax<br />
::Fax number<br />
:; payby<br />
::CARD, DCRD, CHEK, DCHK, LECB, BILL, COMP or PREPAY (see [[#signup_info|"signup_info"]] (required)<br />
:; payinfo<br />
::Card number for CARD/DCRD, account_number@aba_number for CHEK/DCHK, prepaid "pin" for PREPAY, purchase order number for BILL<br />
:; paycvv<br />
::Credit card CVV2 number (1.5+ or 1.4.2 with CVV schema patch)<br />
:; paydate<br />
::Expiration date for CARD/DCRD<br />
:; payname<br />
::Exact name on credit card for CARD/DCRD, bank name for CHEK/DCHK<br />
:; invoicing_list<br />
::comma-separated list of email addresses for email invoices. The special value 'POST' is used to designate postal invoicing (it may be specified alone or in addition to email addresses),<br />
:; referral_custnum<br />
::referring customer number<br />
:; agentnum<br />
::Agent number<br />
:; pkgpart<br />
::pkgpart of initial package<br />
:; username<br />
::Username<br />
:; _password<br />
::Password<br />
:; sec_phrase<br />
::Security phrase<br />
:; popnum<br />
::Access number (index, not the literal number)<br />
:; countrycode<br />
::Country code (to be provisioned as a service)<br />
:; phonenum<br />
::Phone number (to be provisioned as a service)<br />
:; pin<br />
::Voicemail PIN<br />
<br />
:Returns a hash reference with the following keys:<br />
:; error<br />
::Empty on success, or an error message on errors. The special error '_decline' is returned for declined transactions; other error messages should be suitable for display to the user (and are customizable in under Configuration | View/Edit message catalog)<br />
; new_customer HASHREF<br />
:Creates a new customer. Takes a hash reference as parameter with the following keys:<br />
:; first<br />
::first name (required)<br />
:; last<br />
::last name (required)<br />
:; ss<br />
::(not typically collected; mostly used for ACH transactions)<br />
:; company<br />
::Company name<br />
:; address1 (required)<br />
::Address line one<br />
:; address2<br />
::Address line two<br />
:; city (required)<br />
::City<br />
:; county<br />
::County<br />
:; state (required)<br />
::State<br />
:; zip (required)<br />
::Zip or postal code<br />
:; daytime<br />
::Daytime phone number<br />
:; night<br />
::Evening phone number<br />
:; fax<br />
::Fax number<br />
:; payby<br />
::CARD, DCRD, CHEK, DCHK, LECB, BILL, COMP or PREPAY (see [[#signup_info|"signup_info"]] (required)<br />
:; payinfo<br />
::Card number for CARD/DCRD, account_number@aba_number for CHEK/DCHK, prepaid "pin" for PREPAY, purchase order number for BILL<br />
:; paycvv<br />
::Credit card CVV2 number (1.5+ or 1.4.2 with CVV schema patch)<br />
:; paydate<br />
::Expiration date for CARD/DCRD<br />
:; payname<br />
::Exact name on credit card for CARD/DCRD, bank name for CHEK/DCHK<br />
:; invoicing_list<br />
::comma-separated list of email addresses for email invoices. The special value 'POST' is used to designate postal invoicing (it may be specified alone or in addition to email addresses),<br />
:; referral_custnum<br />
::referring customer number<br />
:; agentnum<br />
::Agent number<br />
:; pkgpart<br />
::pkgpart of initial package<br />
:; username<br />
::Username<br />
:; _password<br />
::Password<br />
:; sec_phrase<br />
::Security phrase<br />
:; popnum<br />
::Access number (index, not the literal number)<br />
:; countrycode<br />
::Country code (to be provisioned as a service)<br />
:; phonenum<br />
::Phone number (to be provisioned as a service)<br />
:; pin<br />
::Voicemail PIN<br />
<br />
:Returns a hash reference with the following keys:<br />
:; error<br />
::Empty on success, or an error message on errors. The special error '_decline' is returned for declined transactions; other error messages should be suitable for display to the user (and are customizable in under Configuration | View/Edit message catalog)<br />
; regionselector HASHREF | LIST<br />
:Takes as input a hashref or list of key/value pairs with the following keys:<br />
:; selected_county<br />
::Currently selected county<br />
:; selected_state<br />
::Currently selected state<br />
:; selected_country<br />
::Currently selected country<br />
:; prefix<br />
::Specify a unique prefix string if you intend to use the HTML output multiple time son one page.<br />
:; onchange<br />
::Specify a javascript subroutine to call on changes<br />
:; default_state<br />
::Default state<br />
:; default_country<br />
::Default country<br />
:; locales<br />
::An arrayref of hash references specifying regions. Normally you can just pass the value of the ''cust_main_county'' field returned by '''signup_info'''.<br />
<br />
:Returns a list consisting of three HTML fragments for county selection, state selection and country selection, respectively.<br />
; location_form HASHREF | LIST<br />
:Takes as input a hashref or list of key/value pairs with the following keys:<br />
:; session_id<br />
::Current customer session_id<br />
:; no_asterisks<br />
::Omit red asterisks from required fields.<br />
:; address1_label<br />
::Label for first address line.<br />
<br />
:Returns an HTML fragment for a location form (address, city, state, zip, country)<br />
; expselect PREFIX [ DATE ]<br />
:Takes as input a unique prefix string and the current expiration date, in yyyy-mm-dd or m-d-yyyy format<br />
<br />
:Returns an HTML fragments for expiration date selection.<br />
; popselector HASHREF | LIST<br />
:Takes as input a hashref or list of key/value pairs with the following keys:<br />
:; popnum<br />
::Access number number<br />
:; pops<br />
::An arrayref of hash references specifying access numbers. Normally you can just pass the value of the ''svc_acct_pop'' field returned by '''signup_info'''.<br />
<br />
:Returns an HTML fragment for access number selection.<br />
; domainselector HASHREF | LIST<br />
:Takes as input a hashref or list of key/value pairs with the following keys:<br />
:; pkgnum<br />
::Package number<br />
:; domsvc<br />
::Service number of the selected item.<br />
<br />
:Returns an HTML fragment for domain selection.<br />
; didselector HASHREF | LIST<br />
:Takes as input a hashref or list of key/value pairs with the following keys:<br />
:; field<br />
::Field name for the returned HTML fragment.<br />
:; svcpart<br />
::Service definition (see [[Freeside:4:Documentation:Developer/FS/part svc|FS::part_svc]])<br />
<br />
:Returns an HTML fragment for DID selection.<br />
<br />
==RESELLER FUNCTIONS==<br />
Note: Resellers can also use the '''signup_info''' and '''new_customer''' functions with their active session, and the '''customer_info''' and '''order_pkg''' functions with their active session and an additional ''custnum'' parameter.<br />
<br />
For the most part, development of the reseller web interface has been superceded by agent-virtualized access to the backend.<br />
<br />
; agent_login<br />
:Agent login<br />
; agent_info<br />
:Agent info<br />
; agent_list_customers<br />
:List agent's customers.<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/bin/freeside-selfservice-clientd|freeside-selfservice-clientd]], [[Freeside:4:Documentation:Developer/bin/freeside-selfservice-server|freeside-selfservice-server]]<br />
<br />
==POD ERRORS==<br />
Hey! '''The above document had some coding errors, which are explained below:'''<br />
<br />
; Around line 1503&#58;<br />
:Unknown directive: =over4<br />
; Around line 1535&#58;<br />
:'=item' outside of any '=over'<br />
; Around line 1612&#58;<br />
:You forgot a '=back' before '=head2'<br />
; Around line 1757&#58;<br />
:'=item' outside of any '=over'</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-wipe-cvv&diff=9505Freeside:4:Documentation:Developer/bin/freeside-wipe-cvv2015-11-18T15:46:32Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-wipe-cvv - Wipe sensitive payment information from customer records.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-wipe-cvv [ -v ] [ -n ] [ -d days ] user<br />
</code><br />
==DESCRIPTION==<br />
freeside-wipe-cvv deletes the CVV numbers (and, optionally, credit card or bank account numbers) of customers who have no non-canceled packages. Normally CVV numbers are deleted as soon as a payment is processed; if the customer is canceled before a payment is processed, this may not happen and the CVV will remain indefinitely, violating good security practice and (possibly) your merchant agreement. Running freeside-wipe-cvv will remove this data.<br />
<br />
-v: Be verbose.<br />
<br />
-n: Remove card and account numbers in addition to CVV numbers. This will also set the customer's payment method to 'BILL'.<br />
<br />
-d days: Only remove CVV/card numbers from customers who have been inactive for at least that many days. Optional; will default to all canceled customers.</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-void-payments&diff=9504Freeside:4:Documentation:Developer/bin/freeside-void-payments2015-11-18T15:46:28Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-void-payments - Automatically void a list of returned payments.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-void-payments [ -f file | [ -s start-date ] [ -e end-date ] ] <br />
[ -r 'reason' ] <br />
[ -g gatewaynum | -a agentnum ] <br />
[ -c ] [ -v ] <br />
[ -X reasonnum ] <br />
user<br />
</code><br />
==DESCRIPTION==<br />
Voids payments that were returned by the payment processor. Can be run periodically from crontab or manually after receiving a list of returned payments. Normally this is a meaningful operation only for electronic checks.<br />
<br />
This script voids payments based on the combination of gateway (see [[Freeside:4:Documentation:Developer/FS/payment gateway|FS::payment_gateway]]) and authorization number, since this is generally how the processor will identify them later.<br />
<br />
<code><br />
-f: Read the list of authorization numbers from the specified file. <br />
If they are not from the default payment gateway, -g or -a <br />
must be given to identify the gateway.<br />
<br />
If -f is not given, the script will attempt to contact the gateway <br />
and download a list of returned transactions. To support this, <br />
the Business::OnlinePayment module for the processor must implement <br />
the get_returns() method. For an example, see <br />
Business::OnlinePayment::WesternACH.<br />
<br />
-s, -e: Specify the starting and ending dates for the void list. <br />
This has no effect if -f is given. The end date defaults to <br />
today, and the start date defaults to one day before the end date.<br />
<br />
-r: The reason for voiding the payments, to be stored in the database.<br />
<br />
-g: The FS::payment_gateway number for the gateway that handled <br />
these payments. If -f is not given, this determines which <br />
gateway will be contacted. This overrides -a.<br />
<br />
-a: The agentnum whose default gateway will be used. If neither -a <br />
nor -g is given, the system default gateway will be used.<br />
<br />
-c: Use the default gateway for check transactions rather than <br />
credit cards.<br />
<br />
-v: Be verbose.<br />
<br />
-X: Automatically cancel all packages belonging to customers whose <br />
payments were returned. Requires a cancellation reasonnum <br />
(from FS::reason).<br />
</code><br />
==EXAMPLE==<br />
Given 'returns.txt', which contains one authorization number on each line, provided by your default e-check processor:<br />
<br />
<code><br />
freeside-void-payments -f returns.txt -c -r 'Returned check'<br />
</code><br />
If your default processor is Western ACH, which supports automated returns processing, this voids all returned payments since 2009-06-01:<br />
<br />
<code><br />
freeside-void-payments -r 'Returned check' -s 2009-06-01<br />
</code><br />
This, in your crontab, will void returned payments for the last day at 8:30 every morning:<br />
<br />
<code><br />
30 8 * * * /usr/local/bin/freeside-void-payments -r 'Returned check'<br />
</code><br />
==BUGS==<br />
Most payment gateways don't support it.<br />
<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/Business/OnlinePayment|Business::OnlinePayment]], [[Freeside:4:Documentation:Developer/FS/cust pay|FS::cust_pay]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-vitelity-cdrimport&diff=9503Freeside:4:Documentation:Developer/bin/freeside-vitelity-cdrimport2015-11-18T15:46:26Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>freeside-vitelity-cdrimport [ -v ] [ -k ] -s date -e date username [ exportnum ]<br />
<br />
Download CDRs using the Vitelity API.<br />
<br />
-v: Be verbose.<br />
<br />
-k: Keep the .csv file for debugging purposes, instead of deleting it.<br />
<br />
-s date: Import only records on or after 'date' Now required as the Vitelity API has changed.<br />
<br />
-e date: Import only records before 'date'. Now required as the Vitelity API has changed.<br />
<br />
username: a Freeside user<br />
<br />
exportnum: Run only for that export. If not specified, this will run for all Vitelity exports.</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-username_list&diff=9502Freeside:4:Documentation:Developer/bin/freeside-username list2015-11-18T15:46:24Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-username_list<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-username_list [ -c ] [ -l ] [ -p payby,payby... ] [ -b balance [ -d balance_days ] ] [ -s svcpart,svcpart... ] username<br />
</code><br />
==DESCRIPTION==<br />
Command-line tool to list usernames.<br />
<br />
Display options:<br />
<br />
-o: Include domain<br />
<br />
-l: Include customer locale<br />
<br />
Selection options:<br />
<br />
-p: Customer payby (CARD, BILL, etc.). Separate multiple values with commas.<br />
<br />
-b: Customer balance over (or equal to) this amount<br />
<br />
-d: Customer balance age over this many days<br />
<br />
-s: Service definition (svcpart). Separate multiple values with commas.<br />
<br />
-t: Customer status: prospect, active, ordered, inactive, suspended or cancelled<br />
<br />
username: Employee username<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/svc acct|FS::svc_acct]], [[Freeside:4:Documentation:Developer/FS/cust main|FS::cust_main]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-upgrade&diff=9501Freeside:4:Documentation:Developer/bin/freeside-upgrade2015-11-18T15:46:22Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-upgrade - Upgrades database schema for new freeside verisons.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-upgrade [ -d ] [ -q | -v ] [ -r ] [ -c ] [ -s ] [ -j ] [ -a ]<br />
</code><br />
==DESCRIPTION==<br />
Reads your existing database schema and updates it to match the current schema, adding any columns or tables necessary.<br />
<br />
Also performs other upgrade functions:<br />
<br />
; Calls FS&#58;&#58; Misc&#58;&#58;prune&#58;&#58;prune_applications (probably unnecessary every upgrade, but simply won't find any records to change); If necessary, moves your configuration information from the filesystem in /usr/local/etc/freeside/conf.<datasrc> to the database.<br />
<code><br />
[ -d ]: Dry run; output SQL statements (to STDOUT) only, but do not execute<br />
them.<br />
<br />
[ -q ]: Run quietly. This may become the default at some point.<br />
<br />
[ -v ]: Run verbosely, sending debugging information to STDERR. This is the<br />
current default.<br />
<br />
[ -s ]: Schema changes only. Useful for Pg/slony slaves where the data<br />
changes will be replicated from the Pg/slony master.<br />
<br />
[ -r ]: Skip sqlradius updates. Useful for occassions where the sqlradius<br />
databases may be inaccessible.<br />
<br />
[ -c ]: Skip cdr and h_cdr updates.<br />
<br />
[ -j ]: Run certain upgrades asychronously from the job queue. Currently <br />
used only for the 2.x -> 3.x cust_location, cust_pay and part_pkg<br />
upgrades. This may cause odd behavior before the upgrade is<br />
complete, so it's recommended only for very large cust_main, cust_pay<br />
and/or part_pkg tables that take too long to upgrade.<br />
<br />
[ -a ]: Run schema changes in parallel (Pg only). DBIx::DBSchema minimum <br />
version 0.41 recommended. Recommended only for large databases and<br />
powerful database servers, to reduce upgrade time.<br />
</code><br />
==SEE ALSO==</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-torrus-srvderive&diff=9500Freeside:4:Documentation:Developer/bin/freeside-torrus-srvderive2015-11-18T15:46:19Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-torrus-srvderive - Freeside's Torrus virtual port daemon.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-torrus-srvderive<br />
</code><br />
==DESCRIPTION==<br />
Runs continuously, searches for samples in the srvexport table which do not have an entry for combined virtual ports, and adds them.<br />
<br />
==SEE ALSO==</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-tax-location-update&diff=9499Freeside:4:Documentation:Developer/bin/freeside-tax-location-update2015-11-18T15:46:18Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-tax-location-update - Update service locations with tax data vendor codes.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-tax-location-update [ -d ] user<br />
</code><br />
==DESCRIPTION==<br />
When using tax tables from an external vendor, there's a table of tax jurisdiction codes that act as a foreign key to the tax rate definitions. The jurisdiction is usually chosen based on the customer's postal code.<br />
<br />
This script finds all non-disabled customer locations that don't have a value in the 'geocode' field, finds the most likely matching geocode in the cust_tax_location table, and stores that geocode in the cust_location record. This is not guaranteed to be accurate. There may be multiple correct geocodes for a given zip code; the script chooses the one that's marked as "default".<br />
<br />
The -d option tells the script to work on disabled location records as well, which is not likely to be necessary.<br />
<br />
Updating the geocode this way is not a location change and does not trigger a cancel/reorder of the customer's packages.</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-tax-district-update&diff=9498Freeside:4:Documentation:Developer/bin/freeside-tax-district-update2015-11-18T15:46:16Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-tax-district-update - Update tax district codes from a lookup source.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-tax-district-update [ -n ] user<br />
</code><br />
==DESCRIPTION==<br />
Updates the 'district' field for all customers and service locations using an online tax information lookup method. Currently the only one supported is the Washington Department of Revenue sales tax table, and looking up the tax district will create a cust_main_county record with the tax rate for that district.<br />
<br />
The -n option tells the script to ignore customers and locations that already have a district code.<br />
<br />
The actual lookup operation will run from the job queue.</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-sqlradius-set-lastlog&diff=9497Freeside:4:Documentation:Developer/bin/freeside-sqlradius-set-lastlog2015-11-18T15:46:14Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-sqlradius-set-lastlog - Command line tool to set last_login and last_logout values from radius tables<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-sqlradius-set-lastlog user [ exportnum|exporttype ]<br />
</code><br />
==DESCRIPTION==<br />
<code><br />
Sets the last_login and last_logout columns of each svc_acct based on<br />
data in the radacct table for the specified export (selected by exportnum<br />
or exporttype) or all exports if none are specified.<br />
</code><br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/bin/freeside-sqlradius-radacctd|freeside-sqlradius-radacctd]], [[Freeside:4:Documentation:Developer/FS/part export|FS::part_export]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-sqlradius-seconds&diff=9496Freeside:4:Documentation:Developer/bin/freeside-sqlradius-seconds2015-11-18T15:46:12Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-sqlradius-seconds - Command line time-online tool<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-sqlradius-seconds freeside_username target_username start_date [ stop_date ]<br />
</code><br />
==DESCRIPTION==<br />
Returns the number of seconds the specified username has been online between start_date (inclusive) and stop_date (exclusive). See [[Freeside:4:Documentation:Developer/FS/svc acct#seconds since sqlradacct|"seconds since sqlradacct" in FS/svc acct|FS::svc_acct#seconds_since_sqlradacct|"seconds_since_sqlradacct" in FS::svc_acct]]<br />
<br />
'''freeside_username''' is a username added by freeside-adduser. '''target_username''' is the username of the user account to query. '''start_date''' and '''stop_date''' are in any format Date::Parse is happy with. '''stop_date''' defaults to now if not specified.<br />
<br />
==BUGS==<br />
Selection of the account in question is rather simplistic in that '''target_username''' doesn't necessarily identify a unique account (and wouldn't even if a domain was specified), and no sqlradius export is checked for.<br />
<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/svc acct#seconds since sqlradacct|"seconds since sqlradacct" in FS/svc acct|FS::svc_acct#seconds_since_sqlradacct|"seconds_since_sqlradacct" in FS::svc_acct]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-sqlradius-reset&diff=9495Freeside:4:Documentation:Developer/bin/freeside-sqlradius-reset2015-11-18T15:46:10Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-sqlradius-reset - Command line interface to reset and recreate RADIUS SQL tables<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-sqlradius-reset [ -n ] username [ EXPORTNUM, ... ]<br />
</code><br />
==DESCRIPTION==<br />
Deletes the radcheck, radreply and usergroup tables and repopulates them from the Freeside database, for the specified exports, or, if no exports are specified, for all sqlradius and sqlradius_withdomain exports.<br />
<br />
'''username''' is a username added by freeside-adduser.<br />
<br />
The '''-n''' option, if supplied, supresses the deletion of the existing data in the tables.<br />
<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/bin/freeside-reexport|freeside-reexport]], [[Freeside:4:Documentation:Developer/FS/part export|FS::part_export]], [[Freeside:4:Documentation:Developer/FS/part export/sqlradius|FS::part_export::sqlradius]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-sqlradius-radacctd&diff=9494Freeside:4:Documentation:Developer/bin/freeside-sqlradius-radacctd2015-11-18T15:46:08Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-sqlradius-radacctd - Real-time radacct import daemon<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-sqlradius-radacctd username<br />
</code><br />
==DESCRIPTION==<br />
Imports records from an the SQL radacct tables of all sqlradius, sqlradius_withdomain and radiator exports (except those with the ignore_accounting flag) and updates the following fields in svc_acct (see [[Freeside:4:Documentation:Developer/FS/svc acct|FS::svc_acct]]) for each account: last_login, last_logout, seconds, upbytes, downbytes, totalbytes. Runs as a daemon and updates the database in real-time.<br />
<br />
'''username''' is a username added by freeside-adduser.<br />
<br />
==RADIUS DATABASE CHANGES==<br />
In 1.7.4+, freeside-upgrade should have taken care of these changes already.<br />
<br />
ALTER TABLE radacct ADD COLUMN FreesideStatus varchar(32) NULL;<br />
<br />
If you want to ignore the existing accountg records, also do:<br />
<br />
UPDATE radacct SET FreesideStatus = 'done' WHERE FreesideStatus IS NULL;<br />
<br />
==SEE ALSO==</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-sqlradius-dedup-group&diff=9493Freeside:4:Documentation:Developer/bin/freeside-sqlradius-dedup-group2015-11-18T15:46:06Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-sqlradius-dedup-group - Command line tool to eliminate duplicate usergroup entries from radius tables<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-sqlradius-dedup-group user [ exportnum|exporttype ]<br />
</code><br />
==DESCRIPTION==<br />
<code><br />
Removes all but one username groupname pair when duplicate entries exist<br />
for the specified export (selected by exportnum or exporttype) or all<br />
exports if none are specified.<br />
</code><br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/bin/freeside-reexport|freeside-reexport]], [[Freeside:4:Documentation:Developer/bin/freeside-sqlradius-reset|freeside-sqlradius-reset]], [[Freeside:4:Documentation:Developer/FS/part export|FS::part_export]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-reset-fixed&diff=9492Freeside:4:Documentation:Developer/bin/freeside-reset-fixed2015-11-18T15:45:57Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-reset-fixed - Command line tool to set the fixed columns for existing services<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-reset-fixed user [ -s svcnum | -p svcpart ] [ -r ]<br />
</code><br />
==DESCRIPTION==<br />
<code><br />
Resets the fixed columns for the specified service part or service number.<br />
Re-exports the service if -r is specified.<br />
</code><br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/bin/freeside-reexport|freeside-reexport]], [[Freeside:4:Documentation:Developer/FS/part svc|FS::part_svc]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-reexport&diff=9491Freeside:4:Documentation:Developer/bin/freeside-reexport2015-11-18T15:45:55Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-reexport - Command line tool to re-trigger export jobs for existing services<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-reexport user exportnum|exporttype [ -s svcnum | -u username | -p svcpart ] [ -e insert|replace|delete|suspend|unsuspend ]<br />
</code><br />
==DESCRIPTION==<br />
<code><br />
Re-queues the export job for the specified exportnum or exporttype(s) and<br />
specified service (selected by svcnum, username or svcpart). Optionally <br />
specify the phase of export using the -e flag (default is insert.)<br />
</code><br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/bin/freeside-sqlradius-reset|freeside-sqlradius-reset]], [[Freeside:4:Documentation:Developer/FS/part export|FS::part_export]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-rbc-upload&diff=9490Freeside:4:Documentation:Developer/bin/freeside-rbc-upload2015-11-18T15:45:53Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-rbc-upload - Transmit a payment batch to RBC via FTP/TLS.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-rbc-upload [ -a [ -p PAYBY ] ] [ -v ] user batchnum<br />
</code><br />
==DESCRIPTION==<br />
Command line tool to upload a payment batch to the Royal Bank of Canada ACH service. Use [[Freeside:4:Documentation:Developer/bin/freeside-rbc-download|freeside-rbc-download]] to retrieve the response file. Options:<br />
<br />
-a: Send all open batches, instead of specifying a batchnum.<br />
<br />
-p PAYBY: With -a, limit to batches of that payment type, e.g. -p CARD.<br />
<br />
-v: Be verbose.<br />
<br />
user: freeside username<br />
<br />
batchnum: pay_batch primary key<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/pay batch|FS::pay_batch]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-rbc-download&diff=9489Freeside:4:Documentation:Developer/bin/freeside-rbc-download2015-11-18T15:45:50Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-rbc-download - Retrieve payment batch responses from RBC.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-rbc-download [ -v ] [ -f filename ] [ -a archivedir ] user<br />
</code><br />
==DESCRIPTION==<br />
Command line tool to download payment batch responses from the Royal Bank of Canada ACH service. These files are fixed-width data files containing some combination of valid, returned, or reversed payment records.<br />
<br />
By default, the script will download any files with names like "RPT9999X.111" where 9999 is a four-digit document type code (like "0900", all records), X is the letter "P" for production or "T" for test mode, and 111 is a counter incremented with each new response file. After the files are downloaded, RBC's server will automatically rename them with the suffix '.downloaded%FTPS' to avoid double-processing them.<br />
<br />
-v: Be verbose.<br />
<br />
-f filename: Download a file with a specific name, instead of all files matching the pattern. This can be used to reprocess a specific file.<br />
<br />
-a directory: Archive the files in the specified directory.<br />
<br />
-n: Do not try to close batches after applying results.<br />
<br />
user: freeside username<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/pay batch|FS::pay_batch]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-radgroup&diff=9488Freeside:4:Documentation:Developer/bin/freeside-radgroup2015-11-18T15:45:48Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-radgroup - Command line utility to manipulate radius groups<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-addgroup user action groupname svcpart <br />
</code><br />
==DESCRIPTION==<br />
'''user''' is a freeside user as added with freeside-adduser.<br />
<br />
'''command''' is the action to take. Available actions are: ''add''<br />
<br />
'''groupname''' is the group to add (or remove, etc.)<br />
<br />
'''svcpart''' specifies which accounts will be updated.<br />
<br />
==EXAMPLES==<br />
freeside-radgroup freesideuser add groupname 3<br />
<br />
Adds ''groupname'' to all accounts with service definition 3.<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/bin/freeside-adduser|freeside-adduser]], [[Freeside:4:Documentation:Developer/FS/svc acct|FS::svc_acct]], [[Freeside:4:Documentation:Developer/FS/part svc|FS::part_svc]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-queued&diff=9487Freeside:4:Documentation:Developer/bin/freeside-queued2015-11-18T15:45:46Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-queued - Job queue daemon<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-queued [ -s | -n ] user<br />
</code><br />
==DESCRIPTION==<br />
Job queue daemon. Should be running at all times.<br />
<br />
-s: "secure" jobs only (queued billing jobs)<br />
<br />
-n: non-"secure" jobs only (other jobs)<br />
<br />
user: Typically "fs_queue"<br />
<br />
==VERSION==<br />
==BUGS==<br />
==SEE ALSO==</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-pull-dsl&diff=9486Freeside:4:Documentation:Developer/bin/freeside-pull-dsl2015-11-18T15:45:44Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-pull-dsl - Pull DSL order data from telcos/vendors for all monitored DSL orders to update<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-pull-dsl user<br />
</code><br />
==DESCRIPTION==<br />
user - name of an internal Freeside user<br />
<br />
This is still a work in progress - in future may add limiting by exportnum or svcpart or other such stuff.<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/cust main|FS::cust_main]], config.html from the base documentation</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-prune-applications&diff=9485Freeside:4:Documentation:Developer/bin/freeside-prune-applications2015-11-18T15:45:42Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-prune-applications - Removes stray applications of credit, payment to bills, refunds, etc.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-prune-applications [ -d ] [ -q | -v ]<br />
</code><br />
==DESCRIPTION==<br />
Reads your existing database schema and updates it to match the current schema, adding any columns or tables necessary.<br />
<br />
<code><br />
[ -d ]: Dry run; display affected records (to STDOUT) only, but do not<br />
remove them.<br />
<br />
[ -q ]: Run quietly. This may become the default at some point.<br />
<br />
[ -v ]: Run verbosely, sending debugging information to STDERR. This is the<br />
current default.<br />
</code><br />
==SEE ALSO==</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-prepaidd&diff=9484Freeside:4:Documentation:Developer/bin/freeside-prepaidd2015-11-18T15:45:39Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-prepaidd - Real-time daemon for prepaid packages<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-prepaidd<br />
</code><br />
==DESCRIPTION==<br />
Runs continuously and suspends or cancels any prepaid customer packages which have passed their renewal date (next bill date).<br />
<br />
==SEE ALSO==</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-pkg-date-midnight&diff=9483Freeside:4:Documentation:Developer/bin/freeside-pkg-date-midnight2015-11-18T15:45:36Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-pkg-date-midnight - change the time portion of next bill dates on all active anniversary packages to midnight<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-pkg-date-midnight user<br />
</code><br />
==DESCRIPTION==<br />
user - name of an internal Freeside user<br />
<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/cust pkg|FS::cust_pkg]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-phonenum_list&diff=9482Freeside:4:Documentation:Developer/bin/freeside-phonenum list2015-11-18T15:45:34Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-phonenum_list<br />
<br />
==SYNOPSIS freeside-phonenum_list [ -c ] [ -o ] [ -l ] [ -p payby,payby... ] [ -b balance [ -d balance_days ] ] [ -s svcpart,svcpart... ] username==<br />
==DESCRIPTION==<br />
Command-line tool to list phone numbers.<br />
<br />
Display options:<br />
<br />
-c: Include country code<br />
<br />
-o: Include domain<br />
<br />
-l: Include customer locale<br />
<br />
Selection options:<br />
<br />
-p: Customer payby (CARD, BILL, etc.). Separate multiple values with commas.<br />
<br />
-b: Customer balance over (or equal to) this amount<br />
<br />
-d: Customer balance age over this many days<br />
<br />
-s: Service definition (svcpart). Separate multiple values with commas.<br />
<br />
-t: Customer status: prospect, active, ordered, inactive, suspended or cancelled<br />
<br />
username: Employee username<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/svc phone|FS::svc_phone]], [[Freeside:4:Documentation:Developer/FS/cust main|FS::cust_main]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-paymentech-upload&diff=9481Freeside:4:Documentation:Developer/bin/freeside-paymentech-upload2015-11-18T15:45:31Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-paymentech-upload - Transmit a payment batch to Chase Paymentech via SFTP.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-paymentech-upload [ -a [ -p PAYBY ] ] [ -v ] [ -t ] user batchnum<br />
</code><br />
==DESCRIPTION==<br />
Command line tool to upload a payment batch to the Chase Paymentech gateway. The batch will be exported to the Paymentech XML format, packaged in a ZIP file, and transmitted via SFTP. Use [[paymentech-download]] to retrieve the response file.<br />
<br />
-a: Send all open batches, instead of specifying a batchnum.<br />
<br />
-p PAYBY: With -a, limit to batches of that payment type, e.g. -p CARD.<br />
<br />
-v: Be verbose.<br />
<br />
-t: Send the transaction to the test server.<br />
<br />
user: freeside username<br />
<br />
batchnum: pay_batch primary key<br />
<br />
==BUGS==<br />
Passing the zip password on the command line is slightly risky.<br />
<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/pay batch|FS::pay_batch]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-paymentech-download&diff=9480Freeside:4:Documentation:Developer/bin/freeside-paymentech-download2015-11-18T15:45:30Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-paymentech-download - Retrieve payment batch responses from Chase Paymentech.<br />
<br />
==SYNOPSIS==<br />
<code><br />
paymentech-download [ -v ] [ -t ] [ -a archivedir ] user<br />
</code><br />
==DESCRIPTION==<br />
Command line tool to download payment batch responses from the Chase Paymentech gateway. These are XML files packaged in ZIP files. This script downloads them by SFTP, extracts the contents, and passes them to [[Freeside:4:Documentation:Developer/FS/pay batch/import result|FS::pay_batch::import_result]].<br />
<br />
-v: Be verbose.<br />
<br />
-t: Use the test server.<br />
<br />
-a directory: Archive response files in the provided directory.<br />
<br />
user: freeside username<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/pay batch|FS::pay_batch]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-msa-import&diff=9479Freeside:4:Documentation:Developer/bin/freeside-msa-import2015-11-18T15:45:27Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-msa-import - Pull MSA data from census.gov and insert into MSA table<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-msa-import user<br />
</code><br />
==DESCRIPTION==<br />
user - name of an internal Freeside user<br />
<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/msa|FS::msa]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-monthly&diff=9478Freeside:4:Documentation:Developer/bin/freeside-monthly2015-11-18T15:45:25Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-monthly - Run monthly billing and invoice collection events.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-monthly [ -d 'date' ] [ -y days ] [ -a agentnum ] [ -s ] [ -v ] user [ custnum custnum ... ]<br />
</code><br />
==DESCRIPTION==<br />
Bills customers and runs invoice collection events, for the alternate monthly event chain. If you have defined monthly event checks, should be run from crontab monthly.<br />
<br />
Bills customers. Searches for customers who are due for billing and calls the bill and collect methods of a cust_main object. See [[Freeside:4:Documentation:Developer/FS/cust main|FS::cust_main]].<br />
<br />
<code><br />
-d: Pretend it's 'date'. Date is in any format Date::Parse is happy with,<br />
but be careful.<br />
<br />
-y: In addition to -d, which specifies an absolute date, the -y switch<br />
specifies an offset, in days. For example, "-y 15" would increment the<br />
"pretend date" 15 days from whatever was specified by the -d switch<br />
(or now, if no -d switch was given).<br />
<br />
-p: Deprecated, will produce a fatal error (formerly was: Only process customers with the specified payby (CARD, DCRD, CHEK, DCHK, BILL, COMP, LECB))<br />
<br />
-a: Only process customers with the specified agentnum<br />
<br />
-s: re-charge setup fees<br />
<br />
-v: enable debugging<br />
<br />
-m: Experimental multi-process mode (delay upload jobs until billing jobs complete)<br />
</code><br />
user: Typically "fs_daily"<br />
<br />
custnum: if one or more customer numbers are specified, only bills those customers. Otherwise, bills all customers.<br />
<br />
==NOTE==<br />
In most cases, you would use freeside-daily only and not freeside-monthly. freeside-monthly would only be used in cases where you have events that can only be run once each month, for example, batching invoices to a third-party print/mail provider.<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/bin/freeside-daily|freeside-daily]], [[Freeside:4:Documentation:Developer/FS/cust main|FS::cust_main]], config.html from the base documentation</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-lata-import&diff=9477Freeside:4:Documentation:Developer/bin/freeside-lata-import2015-11-18T15:45:22Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-lata-import - Pull LATA data from and insert into LATA table<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-lata-import user<br />
</code><br />
==DESCRIPTION==<br />
user - name of an internal Freeside user<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/lata|FS::lata]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-ipifony-download&diff=9476Freeside:4:Documentation:Developer/bin/freeside-ipifony-download2015-11-18T15:45:20Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-ipifony-download - Download and import invoice items from IPifony.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-ipifony-download <br />
[ -v ]<br />
[ -a archivedir ]<br />
[ -P port ]<br />
[ -C category ]<br />
[ -T taxclass ]<br />
[ -e pkgpart ]<br />
freesideuser sftpuser@hostname[:path]<br />
</code><br />
==REQUIRED PARAMETERS==<br />
''freesideuser'': the Freeside user to run as.<br />
<br />
''sftpuser'': the SFTP user to connect as. The 'freeside' system user should have an authorization key to connect as that user.<br />
<br />
''hostname'': the SFTP server.<br />
<br />
==OPTIONAL PARAMETERS==<br />
-v: Be verbose.<br />
<br />
-a ''archivedir'': Save a copy of the downloaded file to ''archivedir''.<br />
<br />
-P ''port'': Connect to that TCP port.<br />
<br />
-C ''category'': The name of a package category to use when creating package classes.<br />
<br />
-e ''pkgpart'': The pkgpart ([[Freeside:4:Documentation:Developer/FS/part pkg|FS::part_pkg]]) to use for E911 charges. A package of this type will be ordered for each invoice that has E911-subject line items. The 'quantity' field on this package will be set to the total quantity of those line items.<br />
<br />
The E911 package must be a one-time package (flat rate, no frequency, no recurring fee) with setup fee equal to the fee per line.</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-history-requeue&diff=9475Freeside:4:Documentation:Developer/bin/freeside-history-requeue2015-11-18T15:45:16Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-history-requeue - Command line tool to re-trigger export jobs for existing services<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-history-requeue [ -j job ] [ -d ] user start_timestamp end_timestamp<br />
</code><br />
==DESCRIPTION==<br />
<code><br />
Re-queues all queued jobs for the specified time period.<br />
<br />
-j: specifies that only jobs with this job string are re-queued.<br />
<br />
-d: dry run<br />
</code><br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/bin/freeside-reexport|freeside-reexport]], [[Freeside:4:Documentation:Developer/bin/freeside-sqlradius-reset|freeside-sqlradius-reset]], [[Freeside:4:Documentation:Developer/FS/part export|FS::part_export]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-email&diff=9474Freeside:4:Documentation:Developer/bin/freeside-email2015-11-18T15:45:14Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-email - Prints email addresses of all users on STDOUT<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-email user<br />
</code><br />
==DESCRIPTION==<br />
Prints the email addresses of all customers on STDOUT, separated by newlines.<br />
<br />
user: Freeside user<br />
<br />
==BUGS==<br />
==SEE ALSO==</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-eftca-upload&diff=9473Freeside:4:Documentation:Developer/bin/freeside-eftca-upload2015-11-18T15:45:11Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-eftca-upload - Transmit a payment batch to EFT Canada via SFTP.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-paymentech-upload [ -a ] [ -v ] user batchnum<br />
</code><br />
==DESCRIPTION==<br />
Command line tool to upload a payment batch to the EFT Canada gateway. The batch will be exported to a comma-delimited file and transmitted via SFTP. Use [[Freeside:4:Documentation:Developer/bin/freeside-eftca-download|freeside-eftca-download]] to retrieve the response file.<br />
<br />
-a: Send all open batches, instead of specifying a batchnum.<br />
<br />
-v: Be verbose.<br />
<br />
user: freeside username<br />
<br />
batchnum: pay_batch primary key<br />
<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/pay batch|FS::pay_batch]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-eftca-download&diff=9472Freeside:4:Documentation:Developer/bin/freeside-eftca-download2015-11-18T15:45:09Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-eftca-download - Retrieve payment batch responses from EFT Canada.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-eftca-download [ -v ] [ -a archivedir ] user<br />
</code><br />
==DESCRIPTION==<br />
Command line tool to download returned payment reports from the EFT Canada gateway and void the returned payments. Uses the login and password from 'batchconfig-eft_canada'.<br />
<br />
-v: Be verbose.<br />
<br />
-a directory: Archive response files in the provided directory.<br />
<br />
user: freeside username<br />
<br />
==BUGS==<br />
You need to manually SFTP to ftp.eftcanada.com from the freeside account and accept their key before running this script.<br />
<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/pay batch|FS::pay_batch]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-disable-reasons&diff=9471Freeside:4:Documentation:Developer/bin/freeside-disable-reasons2015-11-18T15:45:07Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-disable-reasons - Command line tool to set the disabled column for reasons<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-disable-reasons -t reason_type [ -e ] user<br />
</code><br />
==DESCRIPTION==<br />
<code><br />
Disables the reasons of the specified reason type.<br />
Enables instead if -e is specified.<br />
</code><br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/reason|FS::reason]], [[Freeside:4:Documentation:Developer/FS/reason type|FS::reason_type]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-dedup-cust_bill_pkg_detail-header&diff=9470Freeside:4:Documentation:Developer/bin/freeside-dedup-cust bill pkg detail-header2015-11-18T15:44:59Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-dedup-cust_bill_pkg_detail-header - Command line tool to eliminate duplicate headers from cdr details on invoices<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-dedup-cust_bill_pkg_detail-header user<br />
</code><br />
==DESCRIPTION==<br />
<code><br />
Removes all but one header when duplicate entries exist on invoice <br />
cdr details.<br />
<br />
-d: dry run<br />
</code><br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/part pkg/voip cdr|FS::part_pkg::voip_cdr]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-dbdef-create&diff=9469Freeside:4:Documentation:Developer/bin/freeside-dbdef-create2015-11-18T15:44:56Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-dbdef-create - Recreate database schema cache<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-dbdef-create user<br />
</code><br />
==DESCRIPTION==<br />
Reverse engineers the database schema and recreates the dbdef cache file.<br />
<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/DBIx/DBSchema|DBIx::DBSchema]]</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-daily&diff=9468Freeside:4:Documentation:Developer/bin/freeside-daily2015-11-18T15:44:54Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-daily - Run daily billing and invoice collection events.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-daily [ -d 'date' ] [ -y days ] [ -a agentnum,agentnum,... ] [ -s ] [ -o ] [ -v ] [ -l level ] [ -m ] [ -r ] [ -k ] user [ custnum custnum ... ]<br />
</code><br />
==DESCRIPTION==<br />
Bills customers and runs invoice collection events. Should be run from crontab daily.<br />
<br />
Bills customers. Searches for customers who are due for billing and calls the bill and collect methods of a cust_main object. See [[Freeside:4:Documentation:Developer/FS/cust main|FS::cust_main]].<br />
<br />
<code><br />
-d: Pretend it's 'date'. Date is in any format Date::Parse is happy with,<br />
but be careful.<br />
<br />
-y: In addition to -d, which specifies an absolute date, the -y switch<br />
specifies an offset, in days. For example, "-y 15" would increment the<br />
"pretend date" 15 days from whatever was specified by the -d switch<br />
(or now, if no -d switch was given).<br />
<br />
-n: When used with "-d" and/or "-y", specifies that invoices should be dated<br />
with today's date, irregardless of the pretend date used to pre-generate<br />
the invoices.<br />
<br />
-p: Deprecated, will produce a fatal error (formerly was: Only process customers with the specified payby (CARD, DCRD, CHEK, DCHK, BILL, COMP, LECB))<br />
<br />
-a: Only process customers with the specified agentnum. Multiple agentnums can be specified, separated with commas.<br />
<br />
-g: Don't process the provided pkgpart (or pkgparts, specified as a comma-<br />
separated list).<br />
<br />
-s: re-charge setup fees<br />
<br />
-o: For packages which are more than one billing period behind, only charge for one billing period rather than catching up.<br />
<br />
-v: enable debugging<br />
<br />
-l: debugging level<br />
<br />
-m: Multi-process mode uses the job queue for multi-process and/or multi-machine billing.<br />
<br />
-r: Multi-process mode dry run option<br />
<br />
-k: skip notify_flat_delay<br />
</code><br />
user: Typically "fs_daily"<br />
<br />
custnum: if one or more customer numbers are specified, only bills those customers. Otherwise, bills all customers.<br />
<br />
==BUGS==<br />
==SEE ALSO==<br />
[[Freeside:4:Documentation:Developer/FS/cust main|FS::cust_main]], config.html from the base documentation</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-censustract-update&diff=9467Freeside:4:Documentation:Developer/bin/freeside-censustract-update2015-11-18T15:44:49Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-censustract-update - Update census tract codes to the current year.<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-censustract-update [ -d date ] user<br />
</code><br />
==DESCRIPTION==<br />
Finds all customers whose census tract codes don't appear to be current and updates them to the current year. The "current year" is defined by the ''census_tract'' configuration variable, not the calendar year.<br />
<br />
The -d option tells the script to assume that tract codes last modified after some date are already current. Those customers will just have their 'censusyear' field set to the current year. For all other customers with non-current censusyear values, the current tract code will be looked up externally and stored in the censustract field.<br />
<br />
The actual tract code lookup runs from the job queue, because it's slow. A separate job will be created for each customer.</div>Jeremydhttp://www.freeside.biz/mediawiki/index.php?title=Freeside:4:Documentation:Developer/bin/freeside-cdrrewrited&diff=9466Freeside:4:Documentation:Developer/bin/freeside-cdrrewrited2015-11-18T15:44:47Z<p>Jeremyd: Edit via perl MediaWiki framework (1.13)</p>
<hr />
<div>==NAME==<br />
freeside-cdrrewrited - Real-time daemon for CDR rewriting<br />
<br />
==SYNOPSIS==<br />
<code><br />
freeside-cdrrewrited<br />
</code><br />
==DESCRIPTION==<br />
Runs continuously, searches for CDRs and does forwarded-call rewriting if any of the "cdr-asterisk_forward_rewrite", "cdr-charged_party_rewrite" or "cdr-taqua-accountcode_rewrite" config options are enabled.<br />
<br />
==SEE ALSO==</div>Jeremyd