General:
Services:
Resources:
Customer Financials
Endpoint: https://www.dumpster.software/controller.html.
Provides a list of transactions, a single transaction based on a valid id, and allows for payments. Here you will submit the following arguments and the system will respond with a JSON that includes:
Retrieve transactions (list):
The transaction list will provide a list of job transactions, however, it will do so 50 records at a time. The offset argument will allow developers to control the starting point in which the database will start generating records.
Arguments | Req | Data Type | Example |
---|---|---|---|
command | Y | N/A | cmdBoxTPortalTransactionsList |
username_api | Y | N/A | Same as the handshake |
session_key_api | Y | N/A | Provided by handshake |
username_customer | Y | N/A | To be issued |
session_key_customer | Y | N/A | Provided by customer handshake |
customer_id | Y | int(11) | Provided by customer handshake |
offset | Y | int(11) | 0 |
Box Tracker Response:: A JSON with the following fields:
Field | Example | Explanation |
---|---|---|
status | 200 | See the status code section |
errorString | ERROR: Invalid Session Key | What if anything went wrong |
transactionsObjList | --- | An object that contains all customer transactions available to the portal |
Sample Code ( Perl ):
#!/usr/bin/perl use strict; use LWP::UserAgent; use Data::Dumper; use JSON; use URI::Encode qw(uri_decode uri_encode); my $destination; my %fields = ( command => "cmdBoxTPortalTransactionsList", username_api => "username_api", session_key_api => "session_key_api", username_customer => "username_customer", session_key_customer => "session_key_customer", customer_id => "customer_id", offset => "offset" ); my @args = (); foreach my $key (keys %fields) { my $value = uri_encode($fields{$key}); push @args, "$key=$value"; } my $queryString = join('&', @args); $destination = "https://www.dumpster.software/controller.html?$queryString"; my $ua = LWP::UserAgent->new; my $response = $ua->request(HTTP::Request->new(GET => $destination)); my $json = JSON->new(); my $obj = $json->decode($response->content); print Data::Dumper->Dump([$obj]);
Retrieve transaction (single):
Arguments | Req | Data Type | Example |
---|---|---|---|
command | Y | N/A | cmdBoxTPortalTransactionData |
username_api | Y | N/A | Same as the handshake |
session_key_api | Y | N/A | Provided by handshake |
username_customer | Y | N/A | To be issued |
session_key_customer | Y | N/A | Provided by customer handshake |
customer_id | Y | int(11) | 54321 |
transaction_id | Y | int(11) | 12345 |
version | Y | int(11) | 1 |
version 1: supported by portal v1.0.9 or older
version 2: supported by portal v1.1.0 going forward. In this version, we introduce the multiple payments; does not make use of the transaction_id.
Box Tracker Response:: A JSON with the following fields:
Field | Example | Explanation |
---|---|---|
status | 200 | See the status code section |
errorString | ERROR: Invalid Session Key | What if anything went wrong |
transactionObj | --- | An object that contains all information belonging to the target transaction. Or if using v2, a list of all transactions with an open balance. |
Sample Code ( Perl ):
#!/usr/bin/perl use strict; use LWP::UserAgent; use Data::Dumper; use JSON; use URI::Encode qw(uri_decode uri_encode); my $destination; my %fields = ( command => "cmdBoxTPortalTransactionData", version => 2, username_api => "username_api", session_key_api => "session_key_api", username_customer => "username_customer", session_key_customer => "session_key_customer", customer_id => "customer_id", transaction_id => "transaction_id" ); my @args = (); foreach my $key (keys %fields) { my $value = uri_encode($fields{$key}); push @args, "$key=$value"; } my $queryString = join('&', @args); $destination = "https://www.dumpster.software/controller.html?$queryString"; my $ua = LWP::UserAgent->new; my $response = $ua->request(HTTP::Request->new(GET => $destination)); my $json = JSON->new(); my $obj = $json->decode($response->content); print Data::Dumper->Dump([$obj]);
Direct/One time payment
Arguments | Req | Data Type | Example |
---|---|---|---|
command | Y | N/A | cmdBoxTPortalProcessPayment |
username_api | Y | N/A | Same as the handshake |
session_key_api | Y | N/A | Provided by handshake |
username_customer | Y | N/A | To be issued |
session_key_customer | Y | N/A | Provided by customer handshake |
customer_id | Y | int(11) | Provided by customer handshake |
ccard_id | Y | int(11) | 12345 |
transaction_id | Y | int(11) | 12345 / (12345 or 1234|6789 if using v2) |
payment_mode | Y | int(1) | 1 - invoices / 2 - customer balance |
version | Y | int(11) | 2 |
The arguments below must be included if the ccard_id happens to be 0 |
|||
ccard_first_name | Y (if) | varchar(150) | John or ABC |
ccard_last_name | Y (if) | varchar(150) | Smith or Company |
ccard_address | Y (if) | varchar(100) | 123 Main Street |
ccard_address2 | Y (if) | varchar(100) | 123 Main Street |
ccard_email | Y (if) | varchar(255) | johnsmith@somedomain.com |
ccard_city | Y (if) | varchar(100) | Yourtown |
ccard_state | Y (if) | varchar(2) | VA or AB |
ccard_zip | Y (if) | varchar(10 | 12345 or H7J1Y6 |
ccard_country | Y (if) | varchar(50) | YourCounty |
ccard_phone | Y (if) | varchar(50) | 1234567890 |
ccard_number | Y | varchar(20) | 4111111111111111 |
ccard_exp_month | Y | varchar(2) | 04 |
ccard_exp_year | Y | varchar(2) | 22 |
ccard_cvv | Y | varchar(5) | 123 |
ccard_store | N | int(1) | 0 or 1 |
ccard_make_primary | N | int(1) | 0 or 1 |
version 1: supported by portal v1.0.9 or older; does not require the payment_mode param
version 2: supported by portal v1.1.0 going forward. In this version, we introduce the multiple payments.
Box Tracker Response:: A JSON with the following fields:
Field | Example | Explanation |
---|---|---|
status | 200 | See the status code section |
errorString | ERROR: Invalid Session Key | What if anything went wrong |
Sample Code ( Perl ):
#!/usr/bin/perl use strict; use LWP::UserAgent; use Data::Dumper; use JSON; use URI::Encode qw(uri_decode uri_encode); my $destination; my %fields = ( command => "cmdBoxTPortalProcessPayment", payment_mode => 1, version => 2, ccard_id => "ccard_id", transaction_id => "transaction_id", username_api => "username_api", session_key_api => "session_key_api", username_customer => "username_customer", session_key_customer => "session_key_customer", customer_id => "customer_id" ); if($fields{ccard_id} == 0) { $fields{ccard_address} = "ccard_address"; $fields{ccard_address2} = "ccard_address2"; $fields{ccard_city} = "ccard_city"; $fields{ccard_country} = "ccard_country"; $fields{ccard_cvv} = "ccard_cvv"; $fields{ccard_email} = "ccard_email"; $fields{ccard_exp_month} = "ccard_exp_month"; $fields{ccard_exp_year} = "ccard_exp_year"; $fields{ccard_first_name} = "ccard_first_name"; $fields{ccard_last_name} = "ccard_last_name"; $fields{ccard_number} = "ccard_number"; $fields{ccard_phone} = "ccard_phone"; $fields{ccard_state} = "ccard_state"; $fields{ccard_zip} = "ccard_zip"; $fields{ccard_store} = "ccard_store"; $fields{ccard_make_primary} = "ccard_make_primary"; } my @args = (); foreach my $key (keys %fields) { my $value = uri_encode($fields{$key}); push @args, "$key=$value"; } my $queryString = join('&', @args); $destination = "https://www.dumpster.software/controller.html?$queryString"; my $ua = LWP::UserAgent->new; my $response = $ua->request(HTTP::Request->new(GET => $destination)); my $json = JSON->new(); my $obj = $json->decode($response->content); print Data::Dumper->Dump([$obj]);