Option date for payment
+=item order_number
+
+Optional order number
+
=back
Example:
#optional
'_date' => 1397977200, #UNIX timestamp
+ 'order_number' => '12345',
);
if ( $result->{'error'} ) {
$cust_main->API_getinfo;
}
+=item customer_list_svcs OPTION => VALUE, ...
+
+Returns customer service information. Takes a list of keys and values as
+parameters with the following keys: custnum, secret
+
+=cut
+
+sub customer_list_svcs {
+ my( $class, %opt ) = @_;
+ return _shared_secret_error() unless _check_shared_secret($opt{secret});
+
+ my $cust_main = qsearchs('cust_main', { 'custnum' => $opt{custnum} })
+ or return { 'error' => 'Unknown custnum' };
+
+ #$cust_main->API_list_svcs;
+
+ #false laziness w/ClientAPI/list_svcs
+
+ my @cust_svc = ();
+ #my @cust_pkg_usage = ();
+ #foreach my $cust_pkg ( $p->{'ncancelled'}
+ # ? $cust_main->ncancelled_pkgs
+ # : $cust_main->unsuspended_pkgs ) {
+ foreach my $cust_pkg ( $cust_main->all_pkgs ) {
+ #next if $pkgnum && $cust_pkg->pkgnum != $pkgnum;
+ push @cust_svc, @{[ $cust_pkg->cust_svc ]}; #@{[ ]} to force array context
+ #push @cust_pkg_usage, $cust_pkg->cust_pkg_usage;
+ }
+
+ return {
+ 'cust_svc' => [ map $_->API_getinfo, @cust_svc ],
+ };
+
+}
+
=item location_info
Returns location specific information for the customer. Takes a list of keys
locationnum - pass this, or the following keys (don't pass both)
+locationname
+
address1
address2
zip
+addr_clean
+
country
+censustract
+
+censusyear
+
+location_type
+
+location_number
+
+location_kind
+
+incorporated
+
On error, returns a hashref with an 'error' key.
On success, returns a hashref with 'pkgnum' and 'locationnum' keys,
containing the new values.
my %changeopt;
- foreach my $field ('locationnum',FS::cust_location::API::API_editable_fields()) {
+ foreach my $field ( qw(
+ locationnum
+ locationname
+ address1
+ address2
+ city
+ county
+ state
+ zip
+ addr_clean
+ country
+ censustract
+ censusyear
+ location_type
+ location_number
+ location_kind
+ incorporated
+ )) {
$changeopt{$field} = $opt{$field} if $opt{$field};
}