Download OpenAPI specification:Download
The following documentation describes the current Shippit API (version 3).
Submits a request for Quotes from different couriers on Shippit.
At minimum, a Quote requires a delivery location and information on the parcels being delivered. However, different couriers and delivery methods can require additional fields to satisfy their requirements. There is a maximum of 1000 parcels per quote request.
By default, Shippit will return a quote from the fastest / cheapest courier. However, for the purposes of showing different options, such as in a courier selection page, you may want to have Shippit display all quotes. To do this, pass the return_all_quotes
field as true.
Note that the quotes returned are filtered based on the requirements given by different couriers. Depending on the info submitted in the order and the carrier settings in the Shippit admin page, you may not see quotes from all configured carriers.
required | object (Root Type for quote) A specification of the queries to include in the quote. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Array of objects (Root Type for Quote) The Quote returned by the carrier | |||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||
count | number Number of quote results returned. |
{- "quote": {
- "dropoff_postcode": "2000",
- "dropoff_state": "NSW",
- "dropoff_suburb": "Sydney",
- "parcel_attributes": [
- {
- "qty": 1,
- "weight": 1
}
]
}
}
{- "response": [
- {
- "courier_type": "CouriersPlease",
- "quotes": [
- {
- "price": 20.4,
- "estimated_transit_time": "3 business days"
}
], - "service_level": "standard",
- "success": true
}, - {
- "courier_type": "eParcelExpress",
- "quotes": [
- {
- "price": 30.4,
- "estimated_transit_time": "1 business day"
}
], - "service_level": "express",
- "success": true
}, - {
- "courier_type": "Priority",
- "quotes": [
- {
- "delivery_date": "2014-09-18T00:00:00.000Z",
- "delivery_window": "07:00-10:00",
- "delivery_window_desc": "7AM-10AM",
- "price": 24.24,
- "courier_type": "Bonds"
}, - {
- "delivery_date": "2014-09-18T00:00:00.000Z",
- "delivery_window": "10:00-13:00",
- "delivery_window_desc": "10AM-1PM",
- "price": 24.24,
- "courier_type": "AlliedExpressP2P"
}
], - "service_level": "priority",
- "success": true
}, - {
- "courier_type": "DoorDashOndemand",
- "quotes": [
- {
- "price": 10.99,
- "estimated_delivery_time": "2023-10-03T16:21:57.000+11:00"
}
], - "service_level": "on_demand",
- "success": true
}
], - "count": 4
}
Submits an Order to be created on Shippit.
At minimum, an Order requires a delivery location, user details, and parcel details. Shippit will then generate the order, allocate the courier, and fill in the origin location based on the provided info and merchant configuration on Shippit.
Note that the required fields for an Order can vary depending on the type of order, the requested courier, whether it is local or international, etcetera.
There is a maximum of 1000 parcels per quote request.
Web UI action | API call | State on completion | Where seen in UI |
---|---|---|---|
Add order | POST order | New Order | New Orders page |
Confirm order | GET label | Ready to Ship | Ready to Ship page |
Cancel order | DELETE order | Cancelled | Not visible |
Book order | POST book | Booked | Track page |
Web UI action | API call | State on completion | Where seen in UI |
---|---|---|---|
N/A | POST order | Packing order | New Orders page |
Label | GET label | Packing order | New Orders page |
Cancel order | DELETE order | Cancelled | Not visible |
Book order | POST book | Booked | Track page |
Unlike standard / express orders, click and collect orders do not proceed to the Ready to Ship page. They remain in the New Orders page until you call either the Book API or click the Label button.
Web UI action | API call | State on completion | Where seen in UI |
---|---|---|---|
N/A | POST order | Packing order | New Orders page |
Label | GET label | Booked | Track page |
Cancel order | DELETE order | Cancelled | Not visible |
Unlike standard / express orders, priority and ondemand orders do not need the book call. They are automatically booked by Shippit on the delivery date.
Ondemand orders are automatically booked by Shippit for an ASAP pickup, respecting store pick-and-pack time. Priority and Ondemand orders will remain on the New Orders page until dismissed by clicking the Label button or the GET label API call is made.
Web UI action | API call | State on completion | Where seen in UI |
---|---|---|---|
N/A | POST order | New Order | New Orders page |
Confirm order | GET label | Awaiting drop off / Return requested | Track page |
Cancel order | DELETE order | Cancelled | Not visible |
Unlike outbound orders, return orders do not proceed to Ready to Ship page. They move directly to the Track page and change their status to Awaiting drop off, for AusPost drop offs or Return requested, for carrier pickups.
If the validate
field is passed and set to true
, then the order is not saved unless Shippit can validate the destination suburb and postcode to be a valid combination. If a valid combination is not found, Shippit will return a suggested address.
You can allocate a courier to an order in one of two ways: you can manually specify the courier as part of the order, or you can allow Shippit to automatically allocate a courier for you.
To manually specify a courier, pass the courier_allocation
field with the identifier of the courier (see below).
To have Shippit allocate the courier for you, pass the courier_type
field to specify the type of couriers that Shippit can choose from to allocate for you. This is used to stand for a service level such as standard
, express
, priority
, click_and_collect
.
Shippit needs to know the specifications of the products you want shipped and what parcels to use in shipping them. There is a maximum of 1000 parcels per quote request.
In the simplest case, this can be specified by a parcel_attributes
field, which contains a list of Parcel specifications. Each item specifies the number, dimensions, and other information about the products being shipped, and the associated parcel. In this case, each parcel contains one type of product.
For more complex shipping arrangements, you can additionally specify a product_attributes
field, which contains a list of Product specifications. In this case, the parcel_attributes
will no longer contain product information such as qty
. Each item under product_attributes
would specify the number, dimensions, and other information about the products; while each item under parcel_attributes
would separately specify the dimensions of the parcels. By mixing parcel and product specifications, you can define arbitrary groupings of products into parcels.
The number of parcels is further determined by the Allocate each item in an order to a separate carton
setting in the Shippit administration page. If this is enabled, then each item will be assigned a separate parcel according to its dimensions. If this is disabled, then Shippit may combine multiple product or parcel specifications into one.
In a standard order, Shippit will book the courier given the provided information and provide tracking information and notifications for the merchant and recipient on the status of the order.
If you've already booked and allocated a courier to your consignment outside of Shippit, however, you can still use Shippit to provide tracking and notifications for the order. This is called a tracking order. In this case, you're only using Shippit for the tracking and notifications, and not for carrier booking.
Creating a tracking order is the same as creating a standard order, only that you have to provide additional attributes so that Shippit can match the the courier's internal info to shippit. Note the following attributes:
tracking_only
required -- true - this makes this order a tracking order.courier_allocation
required -- the name of the courier in charge of the item.courier_job_id
-- the ID assigned by some carriers to the shipment / consignment.parcel_attributes
-> label_number
required -- the label assigned by the carrier system to a parcel, used by Shippit to match the parcel number against the carrier's parcel numbertracking_histories
-- one or two optional status events that will be added to the tracking page for the benefit of the recipient.In a tracking order, you can choose to pass tracking histories for the benefit of the recipient. These are shown to the recipient in the tracking page to inform them of the status of when the order has been processed.
These items have just two fields, a status
field and a timestamp
in UTC format, to indicate to the recipient events such as order_placement
and ready_for_pickup
. The status
informs the user of the Order's state at that point in time and can be either order_placed
or ready_for_pickup
. The timestamp
indicates when that change happened. The following tracking history entries are recommended to be placed:
order_placed
- set to the time when you received the order on your system.ready_for_pickup
- set to the time when you book the order on Shippit.If no tracking_histories
entries are passed, Shippit will generate an initial tracking history for the order, set to ready_for_pickup
at the point when Shippit received the API request.
When using 500g satchels,
No
, you must have Satchel 500g (A5)
enabled in your settings (Settings > Pick & Pack > Automatic Package Sorting > Carrier Default Presets). Yes
, you must have Satchel 500g ATL (A5)
enabled in your settings (Settings > Pick & Pack > Automatic Package Sorting > Carrier Default Presets).No
Note that the final ATL value also depends on how couriers are allocated and if users manually override the ATL option in the UI. It is important when confirming quotes that the ATL is set as desired.
Our "On-Demand Service Level" contains a range of ondemand carriers and services. On-demand carriers offer local delivery services with various delivery options. These options include 2-hour delivery, same-day delivery, and next-day delivery. Additionally, some carriers provide a service where one driver picks up all orders at a fixed time.
You can see an example request for a return order on the right hand side under: Request samples > Example > Return Order.
The following 5 params are essential and return
must be true:
pickup_postcode
pickup_address
pickup_suburb
pickup_state
return
This will create a new order in the background, with the pickup/recipient data as the origin and the default merchant address as the destination and also set the order to the state awaiting_drop_off
or return_requested
, depending on the carrier allocation. We can also get a label for this order via the default label API.
Receivers will receive an email with their return label. This email provides the customer instructions on how to return their package/s. It is automatically triggered by Shippit, once a return order is confirmed by the merchant.
Despite the existing order API limitations, the only addition for return orders is the selection of the carrier. Only certain carriers allow return orders.
In most cases, the merchant chooses only AusPost drop off as a valid return option.
A Shippit admin can, on behalf of a merchant, turn on or off carriers who would instead pick up the parcel for returns.
As this functionality is using the default order API, we can also create return orders for parcels that were not shipped originally via Shippit. As long as we supply the necessary pickup data in the request.
After Apple Pay Wallet Order Tracking is successfully activated on your account, it can be used by providing an additional value wallet_order_tracking
to the POST /orders request.
If the property wallet_order_tracking: true
is attached to the order creation request, the response will include an additional object wallet_order_tracking_attributes
, which contains the necessary data for the Apple Pay integration:
{
"response": {
"id": number,
"tracking_number": string,
[...]
"wallet_order_tracking_attributes": {
"order_type_identifier": string,
"order_identifier": string,
"web_service_url": string,
"authentication_token": string
}
}
}
Standard | Express | Priority | Ondemand |
---|---|---|---|
AlliedExpressOvernight | CapitalTransport | AlliedExpressSameday | DoorDashOndemand |
AramexAuNz | CouriersPleaseExpress | Bonds | GrabExpress |
AramexExpress | DirectCouriers | DoorDash | LalamoveOndemand |
AramexInternational | EparcelExpress | EparcelOndemand | PandagoOndemand |
CityLink | EparcelInternationalExpress | QxpressSameday | UberOndemand |
CouriersPlease | FedExInternationalPriority | YelloOndemand | |
DhlEcommerce | KerryExpress | ||
DhlEcommerceAsia | NewZealandPostExpress | ||
DhlExpress | NinjaVanExpress | ||
DhlExpressInternational | PbtCourierExpress | ||
DirectFreightExpress | SekoExpress | ||
Eparcel | SingPostExpress | ||
EparcelInternational | StarTrackPremium | ||
Fastway | TntOvernightExpress | ||
FedExInternationalEconomy | TollPriority | ||
FlashExpress | |||
FourPXStandard | |||
Gdex | |||
HunterExpress | |||
Janio | |||
JanioInternational | |||
Jnt | |||
KerryStandard | |||
LyneConnect | |||
LynePlus | |||
Neway | |||
NewZealandCouriers | |||
NewZealandPost | |||
NinjaVanStandard | |||
PbtCourier | |||
Pgeon | |||
Pickupp | |||
PosMalaysia | |||
Qxpress | |||
SekoStandard | |||
SingPost | |||
Skybox | |||
SmartRoutingInternational | |||
StarTrack | |||
Teleport | |||
TeleportInternational | |||
Tnt | |||
Toll |
Passes an Order object under the order
field.
required | object (OrderRequestOrder) Represents parameters that can be used to create an order in Shippit | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
object (OrderResponseOrder) Represents an Order that was created in Shippit | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "order": {
- "courier_type": "standard",
- "delivery_address": "1 Union Street",
- "delivery_postcode": "2009",
- "delivery_state": "NSW",
- "delivery_suburb": "Pyrmont",
- "authority_to_leave": "Yes",
- "parcel_attributes": [
- {
- "qty": 1,
- "weight": 2.1
}
], - "user_attributes": {
- "email": "test@shippit.com",
- "first_name": "John",
- "last_name": "Smith"
}
}
}
{- "response": {
- "courier_delivery_instructions": "special instructions",
- "courier_job_id": "30734876324",
- "courier_name": "eParcel",
- "delivery_address": "1 Union Street",
- "delivery_instructions": "test special instructions",
- "delivery_postcode": "2009",
- "delivery_state": "NSW",
- "delivery_suburb": "Pyrmont",
- "id": 26599,
- "parcel_attributes": [
- {
- "depth": 0.13,
- "length": 0.1,
- "qty": 1,
- "weight": 16.8,
- "width": 0.11
}
], - "products": [
- {
- "title": "Industrial Paint Stripper",
- "price": 29.13,
- "sku": 0.1,
- "tariff_code": "000999",
- "dangerous_goods_code": "ID8000",
- "dangerous_goods_text": "ID8000 Consumer commodities - Dangerous Goods as per attached DGD",
- "origin_country_code": "TH",
- "quantity": 1
}
], - "price": "0.0",
- "processing_state": "created",
- "receiver_contact_number": "0400000000",
- "receiver_name": "Josh",
- "retailer_invoice": "#23201005",
- "slug": "ppu38wz2tdonj",
- "state": "processing",
- "tracking_number": "PPu38Wz2TdoNj",
- "user_attributes": {
- "email": "test@shippit.com",
- "first_name": "jon",
- "last_name": "smith",
- "mobile": "0491570006"
}
}
}
Cancels an Order in Shippit using the tracking number.
The API first checks if the Order can be cancelled, ie., if its current state allows it, then returns an immediate response. If the Order is successfully cancelled, the API will answer with the Order with its state updated as cancelled
. If it cannot be cancelled, it will throw a 422
error.
tracking_number required | string The tracking number of the Order. |
object (OrderResponseOrder) Represents an Order that was created in Shippit | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "response": {
- "id": 33,
- "tracking_number": "PPuqD0J0uLslM",
- "state": "cancelled",
- "processing_state": " processing_cancelled",
- "delivery_address": "1 Union Street",
- "delivery_suburb": "Pyrmont",
- "delivery_postcode": "2009",
- "receiver_name": "Francois",
- "receiver_contact_number": "0404342342",
- "courier_name": "eParcel International",
- "slug": "ppuqd0j0ulslm",
- "price": "0.0",
- "retailer_invoice": "SO42637",
- "courier_job_id": "ABC0100023",
- "user_attributes": {
- "email": "test@shippit.com",
- "first_name": "John",
- "last_name": "Smith"
}, - "parcel_attributes": [
- {
- "qty": 1,
- "length": 0.325,
- "width": 0.205,
- "depth": 0.03,
- "weight": 0.5
}
]
}
}
Retrieves labelling information for an Order using the tracking number.
The labelling information for an Order can only be retrieved once the Order has been processed and allocated a courier, which may take some time after the Order has been placed. If the Order is yet to be processed, you will get a 422
Unprocessable response.
tracking_number required | string The tracking number of the Order. |
object (Root Type for Label) Represents an Order and related labelling information | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "response": {
- "id": 5044,
- "order": {
- "courier_delivery_instructions": "Authority to Leave. ",
- "courier_job_id": "SHP0100002",
- "delivery_address": "37 Manorvale Pde",
- "delivery_instructions": "",
- "delivery_postcode": "3030",
- "delivery_state": "VIC",
- "delivery_suburb": "Werribee",
- "id": 9972,
- "invoice_number": "INV-1384",
- "parcels": [
- {
- "depth": 0.19,
- "length": 0.38,
- "name": "",
- "weight": 1,
- "width": 0.29,
- "label_number": "SHP010000201000930803",
- "courier_data": {
- "product_code": "X123",
- "pickup_zone": "SYD",
- "dropoff_zone": "MEL"
}
}
], - "products": [
- {
- "title": "Industrial Paint Stripper",
- "price": 29.13,
- "sku": 0.1,
- "quantity": 1,
- "tariff_code": "000999",
- "dangerous_goods_code": "ID8000",
- "dangerous_goods_text": "ID8000 Consumer commodities - Dangerous Goods as per attached DGD",
- "origin_country_code": "TH"
}
], - "price": "15.95",
- "receiver_contact_number": "",
- "receiver_language_code": "EN",
- "receiver_name": "Jane Doe",
- "retailer_invoice": "",
- "slug": "ppkfqy44u8nff",
- "state": "completed",
- "tracking_number": "PPKFqy44U8Nff",
- "user": {
- "email": "jane.doe@shippit.com",
- "first_name": "Jane",
- "last_name": "Doe ",
- "mobile": ""
}, - "customs_documents_require_printing": false,
- "documents": {
- "archive_awb": {
- "page_size": "a6",
- "file_type": "pdf"
}, - "customs_invoice": {
- "page_size": "a3",
- "file_type": "pdf"
}, - "dangerous_goods_declaration": {
- "page_size": "a3",
- "file_type": "pdf"
}, - "shipping_label": {
- "page_size": "a6",
- "file_type": "pdf"
}
}
},
}
}
The merchant settings API will allow you to query the current settings for your merchant account and to make updates to this via API.
object (Root Type for Merchant) Represents a merchant account | |||||||||||||||||||||||
|
{- "response": {
- "store_name": "New Store Name",
- "company_name": "Harold Pty Ltd",
- "contact_name": "Robert",
- "contact_phone": "0400000000",
- "shipping_cart_method_name": "",
- "preparation_time": 60,
- "website_url": "www.haroldsharpoons.com.au",
- "address_1": "110 Rex Road",
- "suburb": "Sydney",
- "state": "NSW",
- "postcode": "2000",
- "country_code": "AU"
}
}
Given an object with the desired settings to update, will update the Merchant settings on Shippit
required | object (Root Type for Merchant) Represents a merchant account | ||||||||||||||||||||||
|
object (Root Type for Merchant) Represents a merchant account | |||||||||||||||||||||||
|
{- "merchant": {
- "store_name": "New Store Name"
}
}
{- "response": {
- "store_name": "Harolds Harpoons",
- "company_name": "Harold Pty Ltd",
- "contact_name": "Robert",
- "contact_phone": "0400000000",
- "shipping_cart_method_name": "",
- "preparation_time": 60,
- "website_url": "www.haroldsharpoons.com.au",
- "address_1": "110 Rex Road",
- "suburb": "Sydney",
- "state": "NSW",
- "postcode": "2000",
- "country_code": "AU"
}
}
This sends a tracking request to the API to retrieve the status of an Order.
This uses a pull-based model of Order tracking, which sends tracking info on each request. If you would like to use a push-based model where you automatically receive messages on Order status changes, you can subscribe to the Tracking Webhook
instead.
tracking_number required | string The tracking number of the Order |
object (Root Type for TrackingResponseOrder) Order details returned by a tracking request | |||||||||||||||||||||
|
{- "response": {
- "tracking_number": "PP39TBECV7QSSPK",
- "success": true,
- "track": [
- {
- "status": "Completed",
- "date": "2015-04-03T00:00:00.000Z",
- "timestamp": 58985,
- "status_owner": "Bonds Couriers"
}, - {
- "status": "With Driver",
- "date": "2015-04-03T00:00:00.000Z",
- "timestamp": 55385,
- "status_owner": "Bonds Couriers"
}, - {
- "status": "In Transit",
- "date": "2015-04-03T00:00:00.000Z",
- "timestamp": 55325,
- "status_owner": "Bonds Couriers"
}, - {
- "status": "Ready For Pick Up",
- "date": "2015-04-03T00:00:00.000Z",
- "timestamp": 49400,
- "status_owner": "Harold's Harpoons"
}, - {
- "status": "Despatch In Progress",
- "date": "2015-04-03T00:00:00.000Z",
- "timestamp": 36603,
- "status_owner": "Harold's Harpoons"
}, - {
- "status": "Order Placed",
- "date": "2015-04-03T00:00:00.000Z",
- "timestamp": "07:23:32",
- "status_owner": "Harold's Harpoons"
}
]
}
}
Shippit will send status updates on orders to a URL you have configured in the Shippit admin page.
This can be configured at Settings
-> Integrations
-> Webhook URL
at the Shippit admin.
If configured, Shippit will send POST requests to the URL set here with updates on an Order's status as it progresses.
Event types
Your webhook implementation should be configured to action only the types of events required by your integration. Actioning for extra events (or all events) is not recommended as we may add new events at anytime.
Handle duplicate events
Webhook endpoints might occasionally receive the same event more than once. We advise you to guard against duplicated event receipts by making your event processing idempotent. One way of doing this is logging the events you’ve processed, and then not processing already-logged events.
Order of events
Shippit does not guarantee delivery of events in the order in which they are generated.
IP allow list
The webhook will originate from one of the following IP addresses:
It is recommended to only allow requests from these IP addresses as part of your firewall configuration.
Updated status info about the Order sent by the webhook.
tracking_number | string | ||||||||
tracking_url | string | ||||||||
current_state | string Possible enumerations are | ||||||||
retailer_order_number | string | ||||||||
courier_name | string | ||||||||
courier_job_id | string | ||||||||
delivery_address | string | ||||||||
delivery_suburb | string | ||||||||
delivery_postcode | string | ||||||||
delivery_state | string | ||||||||
merchant_url | string | ||||||||
Array of objects (WebhookTrackingHistory) | |||||||||
Array
| |||||||||
Array of objects | |||||||||
Array
| |||||||||
expected_delivery_date | string | ||||||||
retailer_reference | string | ||||||||
source_platform | string | ||||||||
delivery_country_code | string | ||||||||
delivery_latitude | integer | ||||||||
delivery_longitude | integer | ||||||||
delivery_instructions | string |
{- "tracking_number": "PPYvZCTod5bkD",
- "expected_delivery_date": "2016-04-26T20:46:01+10:00",
- "current_state": "completed",
- "retailer_order_number": "WEYFEW232",
- "retailer_reference": "#OD12345",
- "courier_name": "Couriers Please",
- "courier_job_id": "CPAVZUZ0001749",
- "delivery_address": "123 Fake Drive",
- "delivery_suburb": "Sydney",
- "delivery_postcode": "2000",
- "delivery_state": "NSW",
- "delivery_country_code": "AU",
- "delivery_latitude": -33.77,
- "delivery_longitude": 150.91,
- "merchant_url": "myshopify.storename.com",
- "status_history": [
- {
- "status": "completed",
- "time": "2016-04-26T19:36:32.000Z"
}, - {
- "status": "with_driver",
- "time": "2016-04-26T18:36:32.000Z"
}, - {
- "status": "in_transit",
- "time": "2016-04-26T17:36:32.000Z"
}, - {
- "status": "ready_for_pickup",
- "time": "2016-04-26T16:36:11.000Z"
}, - {
- "status": "despatch_in_progress",
- "time": "2016-04-26T16:27:35.000Z"
}, - {
- "status": "order_placed",
- "time": "2016-04-26T16:25:04.000Z"
}
], - "products": [
- {
- "quantity": 1,
- "sku": "EWPE123123",
- "title": "Super awesome red tshirt",
- "product_line_id": "1234"
}, - {
- "quantity": 7,
- "sku": "EWPE123123",
- "title": "Super awesome blue tshirt",
- "product_line_id": "1235"
}
]
}
Given an array of Orders, this will initiate a booking with their respective couriers.
For Orders to be booked, they must first be labelled.
An array of Order tracking numbers to book
orders required | Array of strings an array of Shippit tracking numbers, corresponding to the orders which you would like to book. |
Array of objects (Root Type for BookingStatus) Array of booking statuses at each courier | |||||||||||||||||
Array
| |||||||||||||||||
error | string Error code returned by Shippit For the book response, there can be errors at the top-level request or for individual orders booked. If the error occurs at the top-level request (order format, authorization), then this error code applies. Otherwise, the response will be successful and there will be individual errors applied in the body of each booked item. | ||||||||||||||||
error_description | string Human-readable description of the top-level error encountered. | ||||||||||||||||
count | integer Number of items in the response |
{- "orders": [
- "PPKNpNhR0A5Ud",
- "PP2ZlACi2vtxNY",
- "PPKNpNhR0A5Ud"
]
}
{- "response": [
- {
- "courier": "eParcel Express",
- "manifest": "ABC0000214",
- "order_count": 2,
- "success": true
}, - {
- "courier": "Fastway",
- "manifest": "FW20160721215",
- "order_count": 2,
- "success": true
}, - {
- "courier": "Couriers Please",
- "manifest": "JJJ20160721216",
- "order_count": 4,
- "success": true
}, - {
- "courier": "eParcel",
- "manifest": "ABC0000217",
- "order_count": 2,
- "success": true
}
], - "count": 4
}
Get Manifest Document from the courier
manifest_id required | string The id of the Manifest returned from book call. |
object | |||||||||||||||
|
{- "response": {
- "manifest": "SHP12345",
- "manifest_id": 123123,
- "courier": "eParcel",
- "order_count": 1,
- "orders": [
- "PPKNpNhR0A5Ud"
], - "success": true
}
}
Retrieves labelling information for an Order using the tracking number.
The labelling information for an Order can only be retrieved once the Order has been processed and allocated a courier, which may take some time after the Order has been placed. If the Order is yet to be processed, you will get a 422
Unprocessable response.
tracking_number required | string The tracking number of the Order. |
object (Root Type for Label) Represents an Order and related labelling information | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "response": {
- "id": 5044,
- "order": {
- "courier_delivery_instructions": "Authority to Leave. ",
- "courier_job_id": "SHP0100002",
- "delivery_address": "37 Manorvale Pde",
- "delivery_instructions": "",
- "delivery_postcode": "3030",
- "delivery_state": "VIC",
- "delivery_suburb": "Werribee",
- "id": 9972,
- "invoice_number": "INV-1384",
- "parcels": [
- {
- "depth": 0.19,
- "length": 0.38,
- "name": "",
- "weight": 1,
- "width": 0.29,
- "label_number": "SHP010000201000930803",
- "courier_data": {
- "product_code": "X123",
- "pickup_zone": "SYD",
- "dropoff_zone": "MEL"
}
}
], - "products": [
- {
- "title": "Industrial Paint Stripper",
- "price": 29.13,
- "sku": 0.1,
- "quantity": 1,
- "tariff_code": "000999",
- "dangerous_goods_code": "ID8000",
- "dangerous_goods_text": "ID8000 Consumer commodities - Dangerous Goods as per attached DGD",
- "origin_country_code": "TH"
}
], - "price": "15.95",
- "receiver_contact_number": "",
- "receiver_language_code": "EN",
- "receiver_name": "Jane Doe",
- "retailer_invoice": "",
- "slug": "ppkfqy44u8nff",
- "state": "completed",
- "tracking_number": "PPKFqy44U8Nff",
- "user": {
- "email": "jane.doe@shippit.com",
- "first_name": "Jane",
- "last_name": "Doe ",
- "mobile": ""
}, - "customs_documents_require_printing": false,
- "documents": {
- "archive_awb": {
- "page_size": "a6",
- "file_type": "pdf"
}, - "customs_invoice": {
- "page_size": "a3",
- "file_type": "pdf"
}, - "dangerous_goods_declaration": {
- "page_size": "a3",
- "file_type": "pdf"
}, - "shipping_label": {
- "page_size": "a6",
- "file_type": "pdf"
}
}
},
}
}
The returns request and returns order motification can be implemented to support the returns portal.
A Return Order is created when a Returns Request is approved and the shipment has been confirmed.
Shippit will send a notification when a the Return Order is created to a URL you have configured in your Returns Portal settings in Shippit Admin.
required | object (Root Type for ReturnOrder) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "return_order": {
- "return_request_id": "aaaa-1111-bbbb-2222",
- "order_reference": "123456",
- "customer_email": "test@shippit.com",
- "order_api_reference": "abcdef",
- "shippit_api_reference": 180663,
- "date": "2024-05-03T11:31:45+10:00",
- "shipping_method": {
- "code": "standard",
- "source": "shippit",
- "carrier": "eparcel",
- "label": "AusPost Standard Post",
- "tracking_number": "PPsometracking"
}, - "customer": {
- "email": "test@shippit.com",
- "phone": "0410123456",
- "firstname": "John",
- "lastname": "Wick"
}, - "return_address": {
- "firstname": "Robert",
- "lastname": "Johns",
- "company": "Harold's Harpoons",
- "phone": "0400000000",
- "street": [
- "110 Rex Road"
], - "suburb": "Sydney",
- "postcode": "2000",
- "region": "New South Wales",
- "region_code": "NSW",
- "country": "Australia",
- "country_code": "AU"
}, - "shipping_address": {
- "firstname": "John",
- "lastname": "Wick",
- "phone": "0411111111",
- "street": [
- "Level 10",
- "1 Union Street"
], - "suburb": "Pyrmont",
- "postcode": "2000",
- "region": "New South Wales",
- "region_code": "NSW",
- "country": "Australia",
- "country_code": "AU"
}
}
}
A Return Request provides a mechanism to query the merchant's platform for details about an order and it's contents.
A Request Request will trigger Shippit to query the Merchant's platform to retrieve all applicable details required to be provided as part of the Return Request response.
Upon a successful Return Request response, the return details are presented to the customer in the Returns Portal, allowing them to make a selection of the goods to be returned for the order.
order_reference | string |
email_address | string |
required | object (Root Type for ReturnRequest) The root of the ReturnRequest type's schema. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "order_reference": "ORDER-10001",
- "email_address": "test@shippit.com"
}
{- "return_request": {
- "id": 1355,
- "reference": "#1001",
- "api_reference": "845450641471",
- "date": "2019-04-11T03:30:30+00:00",
- "customer": {
- "id": 1348,
- "api_reference": "1047141580863",
- "email": "test@shippit.com",
- "firstname": "John",
- "lastname": "Wick"
}, - "billing_address": {
- "id": 1291,
- "firstname": "John",
- "lastname": "Wick",
- "street": [
- "10 Flinders Street"
], - "suburb": "Sydney",
- "postcode": "2000",
- "region": "New South Wales",
- "region_code": "NSW",
- "country": "Australia",
- "country_code": "AU"
}, - "shipping_address": {
- "id": 1290,
- "firstname": "John",
- "lastname": "Wick",
- "street": [
- "10 Flinders Street"
], - "suburb": "Sydney",
- "postcode": "2000",
- "region": "New South Wales",
- "region_code": "NSW",
- "country": "Australia",
- "country_code": "AU"
}, - "items": [
- {
- "id": 1890,
- "api_reference": "1936837640255",
- "sku": "TACO",
- "name": "Single Taco",
- "weight": 0.5,
- "options": [
- {
- "api_reference": "2380278235199",
- "label": "Title",
- "value": "Default Title"
}
], - "qty": 1,
- "qty_ordered": 1,
- "qty_shipped": 0,
- "qty_refunded": 0,
- "non_return_reason": "This product cannot be returned because it is a sale item",
- "price": 20,
- "original_price": 20,
- "discount_amount": 0,
- "tax": 2,
- "is_price_incl_tax": true,
- "is_virtual": false
}
], - "currency_code": "AUD",
- "subtotal": 20,
- "tax_amount": 2,
- "shipping_amount": 10,
- "grand_total": 32,
- "merchants": [ ],
- "created_at": "2019-04-12T00:07:19+00:00",
- "updated_at": "2019-04-12T00:07:19+00:00"
}
}