Hi-Trans Express Freight API
The Freight API allows REST functionality to connect with our core information. This API is limited to consignment status and POD information as a GET method. Requests are returned in the form of JSON bodied responses.
Contents
Authentication
The Freight API supports HTTP basic authentication.
For HTTP Basic authentication, you will use the username and auth token provided to you by Hi-Trans Express:
CURL -G https://api.hi-trans.com.au/ws/rest/freight/status/$ConsignmentNo
-U $Username:$Token
Errors
The Freight API produces the following standard errors, a summary of these are below:
200 - OK | Request successful. |
400 - Bad Request | Couldn’t submit request. Check parameters. |
401 - Unauthorized | Authentication failed. |
402 - Request Failed | The parameters were valid but the request failed. |
403 - Forbidden | User doesn’t have permissions to perform request. |
404 - Not Found | The requested resource doesn't exist. |
409 - Conflict | The request conflicts with another request. |
429 - Too Many Requests | Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. |
500, 502, 503, 504 - Server Errors | Server issue on our end. |
Consignment Status
The current status of a consignment can be requested through a GET call to the API. Currently, it is only possible to retrieve a single status using the consignment number within the endpoint.
Retrieve Consignment Status
CURL -G https://api.hi-trans.com.au/ws/rest/freight/status/$ConsignmentNo
Where $ConsignmentNo is the Consignment Number you wish to retrieve.
Attributes
ConsignmentID integer
Unique Record ID for the consignment record
ConsignmentNo String
The consignment number
DespatchDateTime String
The time at which the consignment was despatched
ConsignmentStatus String
StatusID integer
StatusID | ConsignmentStatus | Description |
---|---|---|
7 | Awaiting Pickup Allocation | The consignment is currently waiting to be allocated to a fleet for pickup |
10 | Pickup Allocated | The consignment has been allocated to a fleet for pickup |
12 | Pickup Acknowledged | The fleet has acknowledged pickup allocation for consignment |
15 | Arrived at Sender | The fleet has arrived at pickup location of consignment |
21 | Departed Sender | The fleet has complete the consignment pickup |
22 | Futile Pickup | The fleet was unable to pick up consignment |
25 | Unshipped | The consignment is awaiting to be placed on a linehaul truck |
40 | Manifested - Pending Arrival | The consignment has been placed on a linehaul manifest |
47 | Arrived at Receiving Depot | The consignment has arrived in the receiving depot |
50 | Delivery Allocated | The consignment has been put on-board a local truck or freight forwarder for delivery |
52 | Arrived at Receiver | The consignment has arrived at the delivery location. |
56 | Departed Receiver | The consignment has been delivered at the delivery location. |
58 | Futile Delivery | The consignment was unable to be delivered to the delivery location. |
PickupArriveDateTime String
The time the pickup fleet arrived at the pickup location.
PickupCompletedDateTime String
The time the pickup for the consignment was complete at the pickup location. May contain a date only value if pickup was completed by a fleet without a PDA unit
ManifestDate String
The date the consignment was placed onto a linehaul manifest,
RunsheetDate String
The date the consignment was placed onto a delivery vehicle or freight forwarder vehicle.
DeliveryArrivedDateTime String
The time the delivery fleet arrived at the delivery location.
DeliveryCompleteDateTime String
The time the delivery for the consignment was complete. May contain a date only value if delivery was completed by a fleet without a PDA unit.
Request Example
CURL -G https://api.hi-trans.com.au/ws/rest/freight/Status/ETS188
-U $Username:$Token
Response Example
Consignment POD
The POD and scanned documents can be requested through a GET call to the API. Currently you can retrieve all documents for an individual consignment.
Retrieve Consignment POD and Scanned Docs
Where $ConsignmentNo is the Consignment Number you wish to retrieve the documents for.
Attributes
PODs Array
ConsignmentNo StringThe linked consignment note number FileExt StringThe file extension type FileData String Base64 EncodedThe document encoded as Base64
|
Request Example
Response Example
Consignment Import
Consignment manifests can be imported using a POST request to the API. Multiple consignments can be imported at the same time with pickup requests being created from the included details.
Import Consignments
Attributes
ConsignmentNo String MaxLength:15 *Required
The newly created consignment note number. This must be unique and not repeat a previous consignment number. The consignment prefix will be used to determine the charge account.
DespatchDate String MaxLength:20 *Required
The date of consignment despatch. Date must be in format : dd-MM-yyyy
SenderReference String
An additional user reference for the consignment note. Eg. a purchase order number.
SenderName String MaxLength:50 *Required
The business name of the sender
SenderAddress1 String MaxLength:50 *Required
The sender’s address
SenderAddress2 String MaxLength:50
The sender’s address
SenderAddress3 String MaxLength:50
The sender’s address
SenderSuburb String *Required
The sender’s suburb. Our database contains all suburbs from the Australia Post database which can be found here: Postcodes Australia | Postcode Search & Finder - Australia Post (auspost.com.au)
SenderState String
The sending state. Options are ‘SA’, ‘QLD’, ‘VIC’, ‘NSW’, ‘ACT', ‘NT’, ‘WA’, 'TAS’
SenderPostcode String *Required
The sender postcode. Our database contains all suburbs from the Australia Post database which can be found here: Postcodes Australia | Postcode Search & Finder - Australia Post (auspost.com.au)
SenderContactName String MaxLength:30
The contact name of the sender
SenderContactPhone String MaxLength:25
The contact number of the sender.
SenderInstructions String MaxLength:120
Any additional instructions for pickup of the freight.
ReceiverName String MaxLength:50 *Required
The business name of the receiver
ReceiverAddress1 String MaxLength:50 *Required
The receiver’s address
ReceiverAddress2 String MaxLength:50
The receiver’s address
ReceiverAddress3 String MaxLength:50
The receiver’s address
ReceiverSuburb String *Required
The receiver’s suburb. Our database contains all suburbs from the Australia Post database which can be found here: Postcodes Australia | Postcode Search & Finder - Australia Post (auspost.com.au)
ReceiverState String
The receiving state. Options are ‘SA’, ‘QLD’, ‘VIC’, ‘NSW’, ‘ACT', ‘NT’, ‘WA’, 'TAS’
ReceiverPostcode String *Required
The receiver postcode. Our database contains all suburbs from the Australia Post database which can be found here: Postcodes Australia | Postcode Search & Finder - Australia Post (auspost.com.au)
ReceiverContactName String MaxLength:30
The contact name of the receiver
ReceiverContactPhone String MaxLength:25
The contact number of the receiver. Useful if we need to call upon delivery
ReceiverInstructions String MaxLength:120
Additional instructions for consignment delivery
ServiceCode String *Required
The service level of the consignment. Options are below, pending customer rates agreement
G | General Service |
X | Express Service |
L | Local Service. Eg. Metro Adelaide > Metro Adelaide job |
F | Full Load Service |
GeneralInstructions String MaxLength:120
Additional Instructions field for consignment. List and further requirements here.
TotalPalletSpaces integer *Required
The total number of pallet spaces the consignment covers.
TotalChepPallets integer *Required
The total number of chep pallets transferred. Required zero value if there are none
TotalChepPallets integer *Required
The total number of loscam pallets transferred. Required zero value if there are none
TotalPlainPallets integer *Required
The total number of customer own pallets used on the consignment. Required zero value if there are none
DeliveryRequiredDate String
For Timeslot use only. If delivery is required within a timeslot, please provide the date here. Date must be in format : dd-MM-yyyy
DeliveryRequiredTime String
For Timeslot use only. If delivery is required within a timeslot, please provide the time here. Time must be in 24hr format : 13:00
PickupReadyDate String
The date the pickup is ready to be collected from the sender. Date must be in format : dd-MM-yyyy
PickupReadyTime String
The time the pickup is ready to be collected from the sender. Time must be in 24hr format : 13:00
PickupCloseTime String
The time the senders business closes for freight pickups. Time must be in 24hr format : 16:00
LineItems array
LineItemReference String MaxLength:25User reference number for freight line item. Eg. A purchase order number. LineItemUnitName String MaxLength:20The unit name for the freight line item. Must correspond to the rate units found on the customer account. For accounts using weight (c/kg) rates, leave this field blank. LineItemDescription String MaxLength:20A brief description of the freight items. Eg. Electronic Goods LineItemQuantity integerThe quantity of this freight line item. LineItemWeight numberThe total weight for this line item in tonnes. Eg if there are 5x 0.200t pallets, the total weight would be 1.000t LineItemLength numberThe length of each individual item in metres. LineItemWidth numberThe width of each individual item in metres. LineItemDepth numberThe depth of each individual item in metres. LineItemCubic numberThe total volume for this line item in cubic metres. Eg if there are 4x 1.2mx1.2mx1.2m pallets, the total volume would be 6.912 LineItemUNNumber String MaxLength:4If containing dangerous goods, the UN number for this freight. Please refer to the latest version of the Dangerous Goods Code Australian Dangerous Goods Code | National Transport Commission (ntc.gov.au) LineItemDGAmount numberThe amount of dangerous goods in litres or kilograms |
Request Body JSON Example