After placing a booking, you can check on its status via the Zoom2u Customer API.
This section will detail how you can do so.

Request

Endpoint

MethodEndpointNotes
GEThttps://api.zoom2u.com/api/v1/delivery/status/{reference}{reference} is the Zoom2u booking reference that would have been provided in the HTTP Response when the booking was created.

Example: https://api.zoom2u.com/api/v1/delivery/status/T20200101999999

Request 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.
There is a short guide here on how to access that information!

Note: This is a secret key and links to your account. For your own security, please do not share it or expose the key publicly.

Body

The body of the request should be left blank.

Response

Note:

  • If the reference value can’t be found in our system, a 404 error will be displayed.
  • If the “status” field returns Unassigned, the statusChangeDateTime  field will be NULL.

Success

NameTypeDescription
referenceMain bodyStringA confirmation of the Zoom2u reference number for the booking in our system.
statusMain bodyStringCurrent status of the booking.
Options, in order, include;

  1. Unassigned - Your new booking is being offered to couriers, and a courier will be allocated shortly.

  2. Accepted - Booking has been accepted by a courier

  3. On Route to Pickup - Courier is heading towards the pick up location

  4. Picked up - Courier has picked up the parcel

  5. On Route to Dropoff - Courier has the parcel and is heading to the drop off location

  6. Tried to deliver - Parcel has attempted to be delivered. Contact courier or Zoom2u for redelivery options.

  7. Dropped Off - Booking is complete!

There are 3 other statuses that aren't part of a standard booking flow, but may still occur on occasion.
A booking cannot be updated or cancelled in any of these status' either, and an error message will be returned if attempted.

  • Cancelled - The booking has been cancelled

  • Returning - The booking has been requested to be returned to the pickup location.

  • Returned - The booking has been returned to the pickup location. Usually due to failed delivery or by request.

  • On Hold - With Courier - The booking has been paused temporarily.

statusChangeDateTimeMain bodyDateTimeDate and time of the most recent (current) status change.
Note:
- Will be returned in UTC time, in ISO8601 format.
eg. YYYY-MM-DDTHH:MM:SSZ
purchaseOrderNumberMain bodyStringYour own reference code, PO Number, or other reference number to the booking details!
tracking-linkMain bodyStringURL sent to the customer and the recipient to track the location of the driver and the delivery.
proofOfDeliveryPhotoUrlMain bodyStringIf the delivery has been completed, this field will contain a URL linking to the proof-of-delivery photo that each driver must take when a delivery is completed.
Note: This URL is only valid for the 24hrs after a delivery is completed.
signatureUrlMain bodyStringIf the delivery has been completed, this field will contain a URL linking to the proof-of-delivery signature that each driver must take when a delivery is completed.
Note: This URL is only valid for the 24hrs after a delivery is completed.
courierMain bodyObjectIf the booking is assigned to a driver but not yet completed, this will show the details of the driver.
idcourierStringUniqueID of the driver
namecourierStringDriver's name
phonecourierStringContact information for the driver.
Example:
{
    "reference": "Z20190101123456",
    "status": "Dropped Off",
    "statusChangeDateTime": "2018-11-12T10:29:16.867Z",
    "purchaseOrderNumber": "",
    "tracking-link": "https://deliveries.zoom2u.com/EMPQ28I5J",
    "proofOfDeliveryPhotoUrl": null, 
    "signatureUrl": null,
    "courier": {
        "id": "1234",
        "name": "Test Courier",
        "phone": "02 1234 5678"
    }
}

Issues and troubleshooting

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