References

Returns an array of document tracking related with the requested document reference. 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?serviceType={add service type}&reference={add reference}&region={add region}

Resource Information

TypeValue
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:

HeaderTypeDescription
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:

ParameterTypeDescription
serviceType string

Service type used for the document.

  1. TransportNZ
  2. TransportAU
  3. TransportUS
  4. TransportEU
  5. WarehousingAU
  6. WarehousingNZ
  7. WarehousingUS
  8. WarehousingUK
  9. WarehousingEU
  10. ContainersNZ
  11. ContainersAU
  12. AirAndOcean
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.

  1. NZ - New Zealand
  2. AU - Australia
  3. US - USA and Canada
  4. UK - United Kingdom
  5. EU - Europe
  6. AS - Asia

Optional Parameters

You may also provide the following parameters:

ParameterTypeDescription
referenceType string

Type of reference is based on service type. 

For all available types, click here 

Response Body

FieldTypeDescription
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.
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

JSON Example

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
< > grab code
https://api.mainfreight.com/Tracking/1.1/References?servicetype=TransportNZ&reference=ABC900000999

You are going to get another JSON object similar to this:

  • JSON
< > grab code
[
    {
        "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" 
           }
        ],
        "events": [
            {
                "sequence": 0,
                "eventDateTime": "2019-12-07T11:23:00",
                "code": "Delivered",
                "displayName": "Delivered",
                "location": null,
                "isEstimate": false
            }
        ]
    }
]

XML Example

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
< > grab code
https://api.mainfreight.com/Tracking/1.1/References?serviceType=TransportNZ&reference=ABC900000999

You are going to get another XML document similar to this:

  • XML
< > grab code

<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>
NOTE: Content in the panels below this point are not visible on the site unless used by other features e.g. gadgets, OB&E, etc.