References/Events
Returns an array of document references related with the requested document tracking. It provides the current document status, when it was last updated, customer and system references, tracking url and any related documents.
Resource URI
Make an HTTP GET request to:
https://api.mainfreight.com/Tracking/1.1/References/Events?servicetype={add service type}&reference={add reference}®ion={add region}
Resource Information
Type | Value |
---|---|
Authentication | API Key |
Response Formats | JSON / XML |
HTTP Methods | GET |
API Version | 1.1 |
HTTP Headers
You must add the following HTTP Headers to your request:
Header | Type | Description |
---|---|---|
Content-Type | string | Request content type. Supported types are "application/json" or "application/xml." |
Authorization | string |
The word "Secret" followed by a space, then your unique API Key. e.g: Secret wdnOId93-VXZECxvVRPQEJZNxPB5XZ... |
Parameters
You must provide the following parameters:
Parameter | Type | Description |
---|---|---|
serviceType | string |
Service type used for the document. Includes:
|
reference | string | Tracking Reference to search for |
region | string |
Code for the region. This would be based on the location of the shipment being tracked.
|
Optional Parameters
You may also provide the following parameters:
Parameter | Type | Description |
---|---|---|
referenceType | string |
Type of reference is based on ServiceType. For all available types, click here |
Response Body
Field | Type | Description |
---|---|---|
ourReference | string | System reference for the shipment. |
yourReference | string | Tracking reference for the shipment. |
serviceType | string | Service used for delivery. |
trackingUrl | string | URL to track the shipment. |
relatedItems | Array | List of items related with the shipment (currently supports ProofOfDelivery documents) |
type | string | Related item type (i.e. "ProofOfDelivery") |
value | string | Related item value (i.e. "http://docs.mainfreight.com/DownloadHandler.ashx?Xg2EWGgs...) |
carrierReferences | Array | List of tracking reference(s) provided by the carrier for a dispatched warehouse order. |
reference | string | Tracking reference for the shipment. |
carrierName | string | Name of the carrier of the freight. |
trackingUrl | string | URL to track the shipment. |
signedBy | string | Represents the name of the person who has signed the delivery. |
type | string | Related item type. |
value | string | Related item value. |
events | Array | List of all the statuses the document has been through. |
sequence | int | Order when this event happened |
eventDateTime | dateTime | Date when the event happened. |
code | string |
Event status' system name. This is an immutable value. A full list of response codes can be found here |
displayName | string | Event status' description |
location | string | Status' location. |
isEstimate | bool | Represents if the status is an estimated status or real status. |
Code samples
To list all available anonymous notifications for a particular document you have to post a json similar to this (notice that no session secret is used):
- URL
https://api.mainfreight.com/Tracking/1.1/References/Events?servicetype=Transport&reference=ABC300000999
You are going to get another JSON object similar to this:
- JSON
[ { "ourReference": "ABC900000999", "yourReference": "ABC900000999", "serviceType": "TransportNZ", "trackingUrl": "https://www.mainfreight.com/track/NZ/ABC900000999", "relatedItems": [ { "type": "ProofOfDelivery", "value": "http://docs.mainfreight.com/DownloadHandler.ashx? VnohipduDcbWKcxVrWONiZvHnT302oUO2GLn93Zp8GLYFL3u__eAUJtQIGewaOZfvaSKOO0SKOOKf-IcUectXgDj3xMNccwX6JbDcAm9Aptr_unKhRw" } ], "signedBy": "Jane Doe", "events": [ { "sequence": 0, "eventDateTime": "2019-12-04T16:15:13", "code": "PickUp", "displayName": "Picked Up", "location": "OTAHUHU, AUCKLAND", "isEstimate": false }, { "sequence": 1, "eventDateTime": "2019-12-04T23:28:32.48", "code": "InTransit", "displayName": "In Transit", "location": "AUCKLAND to NAPIER", "isEstimate": false }, { "sequence": 2, "eventDateTime": "2019-12-07T00:00:00", "code": "OutForDelivery", "displayName": "On Delivery Vehicle", "location": "NAPIER", "isEstimate": false }, { "sequence": 3, "eventDateTime": "2019-12-07T02:36:44", "code": "AtDeliverySite", "displayName": "At Delivery Depot", "location": "NAPIER", "isEstimate": false }, { "sequence": 4, "eventDateTime": "2019-12-07T11:23:13", "code": "Delivered", "displayName": "Delivered", "location": "WAIPUKURAU", "isEstimate": false } ] } ]
To list all available anonymous notifications for a particular document you have to post a XML similar to this (notice that no session secret is used):
- XML
https://api.mainfreight.com/Tracking/1.1/References/Events?servicetype=TransportNZ&reference=ABC300000999
You are going to get another XML document similar to this:
- XML
<references xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<reference>
<ourReference>ABC900000999</ourReference>
<yourReference>ABC900000999</yourReference>
<serviceType>TransportNZ</serviceType>
<trackingUrl>https://www.mainfreight.com/track/NZ/ABC900000999</trackingUrl>
<relatedItems>
<relatedItem>
<type>ProofOfDelivery</type>
<value>http://docs.mainfreight.com/DownloadHandler.ashx?VnohipduDcbWKcxVrWONiZvHnT302oUO2GLn93Zp8GLYFL3u__eAUJtQIGewaOZfvaSKOO0SKOOKf-IcUectXgDj3xMNccwX6JbDcAm9Aptr_unKhRw</value>
</relatedItem>
</relatedItems>
<signedBy />
<events>
<event>
<sequence>0</sequence>
<eventDateTime>2019-12-07T11:23:00</eventDateTime>
<code>Delivered</code>
<displayName>Delivered</displayName>
<isEstimate>false</isEstimate>
</event>
</events>
</reference>
</references>