General:
Services:
Resources:
Request Service
The Request Service query does exactly that. It creates record in the Hauler's request table that they can convert into a a work order for either a new or existing customer. Hauler's will be notified by email or SMS that the request has been made.
Requests processed in TEST mode will not show up on Box Tracker, however, the response will include a url that can be used to test the inputs.
Endpoint: https://www.dumpster.software/controller.htmlArguments | Req | Data Type | Example |
---|---|---|---|
command | Y | N/A | cmdBoxTWebAPIrequestService |
key | Y | N/A | Value returned from the handshake |
username | Y | N/A | To be issued |
name | Y | varchar(150) | John Smith or ABC Company |
billingAddress1 | Y | varchar(100) | 123 Main Street |
billingAddress2 | N | varchar(100) | Apt 2 |
billingCity | Y | varchar(100) | Yourtown |
billingStateProv | Y | varchar(2) | VA or AB |
billingZipPostal | Y | varchar(10) | 12345 or H7J1Y6 |
billingContry | Y | varchar(5) | USA or CAN |
billingPhone | Y | varchar(50) | 1234567890 |
billingEmail | Y | varchar(255) | johnsmith@somedomain.com |
jobName | N | varchar(100) | Complex 1 |
jobAddress | Y | varchar(100) | 123 Main Street |
jobCity | Y | varchar(50) | Yourtown |
jobStateProv | Y | varchar(2) | VA or AB |
jobZipPostal | Y | varchar(10) | 12345 or H7J1Y6 |
jobLatitude | Y | decimal(18,14) | 42.972452000 – from Google Maps API |
jobLongitude | Y | decimal(18,14) | -71.481386600 – from Google Maps API |
distanceByRoad | Y | varchar(20) | 9.2 mi or 9.2 km - from Google Distance API |
dateRequested | Y | varchar(20) | YYYY-MM-DD as 2020-05-31 |
serviceType | Y | enum | Delivery, SOS, Switch, Out, Move, Live |
assetClass | Y | varchar(30) | 20-Open |
hazards | N | text | Watch out for children in the yard |
priceSheetID | Y | int(11) | Selected from the pricing query |
note | N | text | Please place on right side of driveway by the red door |
txnClass | N | string | Parish Name |
Mode* | Y | enum | TEST || LIVE |
If your hauler is using Box Tracker's billing system and it's associated merchant services the following fields will be required as indicated below. |
|||
ccardFName | Y | varchar(100) | John |
ccardLName | Y | varchar(100) | Smith |
ccardBillingAddress1 | Y | varchar(100) | 123 Main Street |
ccardBillingAddress2 | N | varchar(100) | Apt 2 |
ccardBillingCity | Y | varchar(100) | Yourtown |
ccardBillingStateProv | Y | varchar(2) | VA or AB |
ccardBillingZipPostal | Y | varchar(10) | 12345 or H7J1Y6 |
ccardNumber | Y | varchar(20) | 4111111111111111 |
ccardExp | Y | varchar(4) | MMYY ie: 0422 |
ccardCVV | Y | varchar(5) | 123 |
Box Tracker Response: A JSON with the following fields:
Field | Example | Explaination |
---|---|---|
status | 200 | See the Status Codes section |
errorString | ERROR: Invalid Session Key | What, if anything, went wrong |
time | 1594413406 | Unix Time Stamp (EST ) when the request was created |
testURL | https//www.dumpster.software/test-api/VdQ0ITtW3p8AyC9N29VJhiKv8hpWPIaptZN0U9T6aYQHkbZLsD.html | If the request was made with the mode set To 'TEST' Box Tracker will return a link to a page that will validate your request |
*In TEST mode, the system will return a url with which you can validate the variables sent to Box Tracker. Mode TEST posts will not render for the hauler.
Sample Code ( Perl ):
my %fields = ( command => cmdBoxTWebAPIrequestService, username => $username, key => $key, name => 'Dave Smally', billingAddress1 => '88 Main Street', billingAddress2 => 'Apt 2', billingCity => 'Smithfield', billingStateProv => 'VA', billingZipPostal => '12345', billingCountry => 'USA', billingPhone => '1234567890', billingEmail => 'johns@somedomain.com', jobName => 'Clean out', jobAddress => '88 Main Street', jobCity => 'Yourtown', jobStateProv => 'VA', jobZipPostal => '12345', jobLatitude => '42.9815689', jobLongitude => '-71.4862495', distanceByRoad => '18 mi', dateRequested => "2020-05-23", serviceType => 'Delivery', assetClass => '20-open', containerID => '', material => 'C & D', hazards => 'Low wires', priceSheetID => '44', note => 'Call first', ccardFName => 'John', ccardLName => 'Smith', ccardBillingAddress1 => '123 Main Street', ccardBillingAddress2 => 'Apt 2', ccardBillingCity => 'Yourtown', ccardBillingStateProv => 'VA', ccardBillingZipPostal => '12345', ccardNumber => '4111111111111111', ccardExp => '0422', ccardCVV => '123', mode => 'TEST'); @args = (); foreach my $key ( keys %fields ) { my $value = uri_encode( $fields{ $key } ); push @args, "$key=$value"; } $queryString = join('&', @args ); $destination = "https://www.dumpster.software/controller.html?$queryString"; $response = $ua->request(HTTP::Request->new(GET => $destination)); $obj = $json->decode( $response->content );