Before you start
- A connected Australia Post account with an account number.
- A credential with the
SHIPMENT_WRITEpermission. - The
idof the fulfillment center you ship from (used when closing the group).
Step 1: Open a consolidation group
Create a group with shipmentConsolidationCreate, using carrierCode: AUSTRALIA_POST.
The returned id is the group you add labels to. If you already have an open group for
the day, reuse it instead of creating a new one (see Reuse an open group below).
mutation ShipmentConsolidationCreate($input: ShipmentConsolidationCreateInput!) { shipmentConsolidationCreate(input: $input) { id name carrierCode status }}Reuse an open group
To add labels to an existing group instead of creating a new one, query for open groups
and use the id of the one you want.
query ShipmentConsolidations { shipmentConsolidations(filter: { status: OPEN }, first: 50) { edges { node { id name carrierCode status } } }}Step 2: Create a label into the group
Create the shipment and its label with shipmentCreateWorkflow, passing the group id
as shipmentConsolidationId. The mutation registers the shipment with Australia Post and
returns a label URL and tracking number. No charge occurs yet — the shipment is held
in Australia Post's basket until the group is closed.
Australia Post-specific fields:
shipmentConsolidationId— the groupidfrom Step 1. Required to add the shipment to the manifest.serviceLevel— the Australia Post service level for the shipment (for example, an International Standard or International Express service level).itnNumber— the export declaration number (EDN). Required when the total article value exceeds AUD 2,000.
Phone numbers must contain digits only — Australia Post rejects spaces and punctuation.
See ShipmentCreateWorkflowInput for the
full list of fields, and Create a shipment
for the general (non-Australia Post) shipment mutation.
mutation ShipmentCreateWorkflow($input: ShipmentCreateWorkflowInput!) { shipmentCreateWorkflow(input: $input) { id status tracking { number } shipmentCartons { label { url trackingNumber } } }}Repeat this step for every parcel you want on the same manifest — pass the same
shipmentConsolidationId each time.
Step 3: Close the group to generate the manifest
When you are ready to ship, close the group with shipmentConsolidationUpdate and
status: CLOSED. This lodges the order with Australia Post and returns the manifest in
customsDocuments (the Order Summary PDF). This is the point at which the merchant is
charged.
Pass the fulfillmentCenterId you ship from so the manifest reflects the correct sender.
mutation ShipmentConsolidationUpdate($input: ShipmentConsolidationUpdateInput!) { shipmentConsolidationUpdate(input: $input) { id status customsDocuments { id fileUrl fileName documentType fileType } }}Download the manifest from customsDocuments.fileUrl and present it at drop-off or
pickup. Once the group is closed, its shipments are lodged and can no longer be changed.
Voiding before lodgement
Because charging happens at close, you can back a shipment out of a group any time before it is closed by voiding its label. Voiding removes the shipment from Australia Post's basket, so it is never lodged and never charged.
Create Australia Post labels and manifests
Create labels and generate a manifest for Australia Post using the GraphQL API.
GraphQL
Australia Post lodges shipments as a consolidation (a manifest). Unlike carriers where a label is a standalone action, an Australia Post shipment must belong to a consolidation group, and the group is what gets lodged with Australia Post.
The flow has three parts: