Below is all the information you need to use our API to send a single booking, or collection of bookings, to one of our Smart Sort Facilities!

Our Smart Sort Facilities allow our customers to send bulk parcels to an aggregate facility for a next day (or even that afternoon!) delivery service.
This aggregate style of delivery allows for the processing of not only bulk volume, but also affords a cheaper per-delivery service through our efficient routing algorithms.

NOTE:

  • When creating runs, bookings will be pushed through into a our queue for processing and routing in the next cycle, allowing you to send booking data & ship the freight during the whole day.

    Freight will need to be at the sorting facility before processing and routing, which occurs at 5am Monday-Friday.
    This may mean shipping freight and sending the API data at different times.


  • Also note that you, as the customer, are responsible for arranging the delivery of these items to the Smart Sort Facility.This can be done either with our delivery or freight services here, through your own network, or with a third party carrier!

  • You are required to make sure each item being sent has a barcode attached to it. This is to ensure each piece and parcel can be scanned and tracked and delivered correctly.

 

Request

Endpoint

MethodEndpointNotes
POSThttps://api.zoom2u.com/api/v1/delivery/sortingfacility/queue

Headers

{
  "Authorization" : "Bearer your-token-goes-here",
  "Content-Type"  : "application/json"
}

You will need to retrieve the bearer token by logging into your customer account and navigating to the “My Account” section.

Example Submission

Body

NameLocationTypeMandatoryDescription
SmartSortFacilityMain bodyStringYesLocation of the facility that the pieces are being directed to.
- sydney is currently the only available option until further notice.
ItemsMain bodyObjectYesContainer for consignment and item information
PurchaseOrderNumberItemsStringYesThe customer reference number.
Usually a PO Number or quote reference number.
Can be blank.
PackageDescriptionItemsStringNoShort text description of the items or delivery.
PinTypeItemsStringNoSome of our customers have the capacity to require an ID check upon delivery, requiring the courier to enter the last 4 digits of a drivers licence or passport (see below) in order for the delivery to be completed.
If the numbers match the delivery will be able to be completed, otherwise the driver will return the delivery.

Valid options include;
- "" - No ID Check required
- Drivers Licence
- Passport
- Blind Citizens Card

Important: If you are unsure, leave this field empty.
PinItemsStringNo*If the PinType field contains a valid ID, this field must contain the last 4 digits of the requested ID.

Notes;
- Mandatory when PinType is not empty
- Alphanumerical is ok
- No spaces.
HasAuthorityToLeaveItemsStringNoYou, as the sender, are allowing the parcel to be left unattended (in a safe location) if the recipient is not home.

- True - parcel(s) can be left unattended, only if its safe and only if the recipient is not already home.
- False - parcels cannot be left unattended regardless.

Default if not provided is False
AuthorityToLeavePermittedItemsStringNoDetermines whether or not the recipient is allowed to provide an Authority To Leave if they are not available to receive the delivery.
Submitting a True value only enables this option for the recipient, it does not guarantee that the recipient will use it.

- True
- False

This is not mutually exclusive or inclusive of the HasAuthorityToLeave field above.
PiecesItemsObjectYesContainer for the specific piece information.

Multiple pieces are allowed to be submitted under the same booking/consignment for the same recipient.
BarcodePiecesStringYesBarcode attached to the specific item (this needs to be the at the individual item level, not the broad booking/consignment level).

Important: This will be used to match against the barcode on the physical piece itself.
ReferencePiecesStringYesIndividual reference number for the piece.

It is not uncommon for this to be a copy of the barcode.
DropoffItemsObjectYesDelivery location details.

The reference table for the Dropoff object can be found on the request a quote or create a booking pages.

Example request body:
{
    "SmartSortFacility" : "sydney",
    "Items":[
        {
        "PurchaseOrderNumber": "ABCD1234",
        "PackageDescription": "1 box with some cakes",
        "Pin": "1234",
        "PinType": "Passport",
        "HasAuthorityToLeave": "true",
        "AuthorityToLeavePermitted": "true",
        "Pieces": [
                    {
                        "Reference": "PACK1",
                        "Barcode": "BAR10000012345678"
                    },
                    {
                        "Reference": "PACK2",
                        "Barcode": "BAR10000012345674"
                    }
                ],
                "Dropoff": {
                    "ContactName": "Jane Smith (ACME Co.)",
                    "Email": "test@test.com",
                    "Phone": "0000 0000",
                    "UnitNumber": "",
                    "StreetNumber": "123",
                    "Street": "Miller St",
                    "Suburb": "North Sydney",
                    "State": "NSW",
                    "Postcode": "2060",
                    "Country": "Australia",
                    "Notes": "See reception for more information"
                    }
                }
            ]
}

Alternatively, for your convenience, you can choose to submit a full, concatenated, address instead of the individualised components.
When a full street address is submitted, the FullAddress field MUST include the following elements;

  • Street Number
  • Street Name
  • Suburb
  • Postcode

A booking cannot be completed if it is missing any of the above components.
Eg.

  • This is acceptable:
     "FullAddress": "123 Main St, North Sydney, 2060, NSW",
  • This is not acceptable:
     "FullAddress": "20 Main St, NSW",

The other components of the pickup or drop off location must still be submitted. The submission, in total, would then contain these 5 strings;

  • ContactName
  • Phone
  • Email
  • Notes
  • FullAddress
Example (With FullAddress address substitution):
    "Dropoff": {
        "ContactName": "Jane Smith",
        "Email": "test@test.com",
        "Phone": "0000 0000",
        "UnitNumber": "Unit 609",
        "FullAddress": "123 Main St, North Sydney, NSW, 2000",
        "Notes" : ""
    }

 
 

Response

NameTypeDescription
batchRefStringReceipt number for the successful submission.
This will be the primary identifier when troubleshooting logs.
resultsObjectObject containing tracking and confirmation information.
referenceStringA copy of the PurchaseOrderNumber as confirmation.
This is the persistent customer and recipient facing reference number, and the reference number needed if making any modifications to the booking later.
priceString
tracking-linkStringURL sent to the customer and the recipient to track the location of the driver and the delivery.
trackingCodeStringUnique tracking code.
{
    "results": [
        {
            "reference": "ABCD1234",
            "price": 0,
            "tracking-link": "https://track.zoom2u.com/NQTPEUJ9C",
            "trackingCode": "NQTPEUJ9C"
        }
    ],
    "batchRef": "20191405041456"
}

 
 

Other issues

HTTP Status CodeMeaningDescriptionTroubleshooting
400Bad RequestThe server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).- Check the request syntax!
401UnauthorisedThe request has not been applied because it lacks valid authentication credentials for the target resource.- Check the bearer token is valid and has been submitted correctly.
- Check the url is correct
403ForbiddenThe server understood the request but refuses to authorize it.
404Not foundThe origin server did not find a current representation for the target resource or is not willing to disclose that one exists.- Check the endpoint URL to make sure it is correct.
415Unsupported media TypeThe origin server is refusing to service the request because the payload is in a format not supported by this method on the target resource.- Check the Content-Type field has been correctly assigned
- Check the syntax of the body data is correct, and is of the same language as the Content-Type tag