The Elite EXTRA ETA API allows you to retrieve estimated time of arrival (ETA) and delivery information for orders delivered via Elite EXTRA. Typically this is accomplished on a customer by customer basis based on the customer account number. You may also call data on a per invoice or order level if desired. The returned data is then in your possession to enhance data on your platform as you see fit.
http://tracking.eliteextra.com/extra-api/GetInvoiceStatus.action?dealerId=x&locationId=y&custNo=z&hash=#####
http://tracking.eliteextra.com/extra-api/GetInvoiceStatus.action?dealerId=x&locationId=y&custNo=z&hash=#####&invoice=i
This call will return XML (or json, if &json=true is specified) containing the most recent invoice status for customer z at dealer x and location y. This will include all pending and en route orders and orders that were delivered in the past 3 days.
hash is a MD5 digest based on the current date, the dealerID, locationId and custNo. This is used to prevent unauthorized access to information.
fromDate is an optional parameter. If fromDate is specified (e.g. &fromDate=2013-4-26), orders that were delivered on or after that date will be returned (along with all pending and en route orders).
toDate is an optional parameter. If toDate is specified (e.g. &toDate=2013-4-30), orders that were delivered on or before that date will be returned (along with all pending and en route orders). If toDate is specified, you should also specify fromDate, otherwise the fromDate will default to 3 days ago.
nextEtaOnly is an optional parameter. If nextEtaOnly is specified (e.g. &nextEtaOnly=true), only the order with the soonest ETA (if any) will be returned. No historical orders will be returned.
invoice is an optional parameter. When set, it will ignore all other rules and only search for the specified invoice.
*dealerId *set on the Elite EXTRA side and provided to you
*locationId *the branch location, 001 for example
*custNo*UDID (the user defined ID number of the customer you are calling information for)
*hash*Please contact Elite EXTRA for more details
If successful, this call will return XML in the following format* with the status of each order as provided:
Pending
Held
Manifested
En Route
Arrived
Delivered
Void
<etaResponse>
<orderList class='java.util.ArrayList'>
<order>
<invNo>1111</invNo>
<po>1111</po>
<dateCreated>2011-04-03 14:15:03.434 CDT</dateCreated>
<status>En Route</status>
<arrivalTime class='java.sql.Timestamp'>2011-04-03 18:15:00.0 CDT</arrivalTime>
<manifestId>23065</manifestId>
<podLink>https://yoursite.eliteextra.com/action/pod/0A5F016EB731897D9553AB9380AF08881D0D85400C22773DCD01AC4292F2865C</podLink>
</order>
</orderList>
<orderCount>1</orderCount>
<customerName>AUTOMOTIVE ELECTRIC</customerName>
<custNo>10089</custNo>
</etaResponse>
*Additional elements may be returned based upon individual site configuration.
In the case of an error, an error message will be returned in the <errorMessage> tag.
Example:
<etaResponse>
<errorMessage>Unable to locate CustNo: 1</errorMessage>
</etaResponse>
If &json=true is included in the URL, this call will return a json string*:
{
"customerName":"AUTOMOTIVE ELECTRIC",
"errorMessage":null,
"custNo":10089,
"class":"class com.adc.elite.customer.api.EtaResponse",
"orderList":[
{
"invNo":"1111",
"arrivalTime":"2011-04-03 18:15:00.000 CDT",
"status":"En Route",
"class":"class com.adc.elite.customer.api.EtaResponse$order",
"dateCreated":"2011-04-03 14:15:03.434 CDT",
"po":"1111",
"manifestId":"123",
"podLink":"https://yoursite.eliteextra.com/action/pod/0A5F016EB731897D9553AB9380AF08881D0D85400C22773DCD01AC4292F2865C"
}
],
"orderCount":1
}
*Additional elements may be returned based upon individual site configuration.
In the case of an error "errorMessage" will not be null:
{
"customerName":null,
"errorMessage":"Unable to locate CustNo: 1",
"custNo":null,
"class":"class com.adc.elite.customer.api.EtaResponse",
"orderList":null,
"orderCount":null
}
an json resonse with an error may omit the null items. For example:
{
"errorMessage":"Dealer test and/or location 2 not found."
}