Returns
Returns are an inevitable part of e-commerce, and the Shippit API aims to make them less of a headache. Shippit distinguishes between several types of returns:
- Merchant-initiated returns, where the merchant creates a return label for the customer. You can do this through using the API or through the Shippit web interface.
- Customer-initiated returns, where the recipient requests a return through the Shippit returns portal.
- Automatic returns triggered by specific events, such as a failed delivery.
There are two ways of processing returns using the Shippit APIs. For a simplified return, you can set the return
parameter in an order
API call to true
. Alternatively, you can implement a custom returns integration, using the returns
endpoint.
The
returns
endpoint uses v4 of the Shippit API, check that you are using the correct endpoints.
You can also use the Shippit returns functionality for orders that were not originally shipped using the Shippit platform, provided you supply the require pickup data in the returns request.
Simple returns with the order
endpoint
If you want to use the order
endpoint to process simple returns, set the return
parameter in the order request to true
, and provide these required parameters:
pickup_postcode
pickup_address
pickup_suburb
pickup_state
return
This creates a new order in the background, with the pickup or recipient data as the origin and the default merchant address as the destination. It also sets the order to the state awaiting_drop_off
or return_requested
, depending on the carrier allocation.
You can use the label API to create a label for the return. When the label is created, the recipient receives an email that contains their return label, and instructions on how to return their package. The email is automatically triggered by Shippit, when a return order is confirmed by the merchant.
Custom returns portal
If you create your own returns portal using the Returns API, the returns process works like this:
- A customer requests a return in your returns portal. The original order doesn’t need to be made through Shippit.
- Make the return request using the
/returns/order
endpoint. The destination address is the merchant default pickup address. The pickup address is as defined in the order request pickup address fields. - The return order shows in the Shippit web interface on the
New Orders
tab, with the statusReturn requested
. - The return order must be approved by the merchant. You can do this by requesting a label for the order using the
GET /orders/{tracking_number}/label
endpoint. Alternatively, you can approve it in the Shippit web interface. - When you approve the return, the order moves to the
Track
tab, with the statusawaiting_drop_off
. An email goes out to the customer containing the label, along with instructions for returning the items.
If the order is allocated to Australia Post, the customer is instructed to drop the order at a post office or drop-off point. If the order is allocated to one of the other returns carriers, such as Couriers Please, Aramex, or Allied Express, the customer is instructed to use the order tracking page to arrange a pickup.
Which carrier is allocated to a return order depends on which carriers you have enabled for returns, and which carriers the Order API is using. For example, if the Order API request contains courier_type: standard
then the cheapest enabled returns courier is selected. Alternatively, you can select a specific carrier by naming them using courier_allocation: <courier_name>
.
Limitations of the API in the returns process
Only certain carriers allow return orders. In most cases, returns are handled through Australia Post, and Australia Post drop off is the only valid return option offered. If you need to turn different carriers on or off for returns, contact your Shippit account manager, or contact Shippit support.
While the API helps initiate returns within Shippit’s system, it doesn’t cover the entire returns process. Some things you need to manage directly, such as:
- Customer communication: you might need to communicate directly with the recipient outside of the API, such as discussion around return reasons.
- Physical return of goods: the API doesn’t manage the actual shipment of the returned item back to you.
- Refunds and exchanges: processing refunds or exchanges typically happens within your own system, not through the Shippit API.