Here you'll find some answers to common enquiries regarding integration.
What can I do with the Australia Post Shipping and Tracking APIs?
They provide a secure interface into back-end Australia Post systems and allow you to lodge orders, print labels, dispatch your parcels and track their progress from source to destination.
How can I access the Australia Post Shipping and Tracking APIs?
To access the API simply log in or sign up for an Australia Post account and register your interest for the Shipping and Tracking APIs on the Developer Centre. We'll then contact you to discuss your needs and eligibility (you need to be a current eParcel or StarTrack parcels contract customer).
Do I need to receive a certification to use the Australia Post Shipping and Tracking APIs?
No. You don't need a certification but you do need to register your interest for the Shipping and Tracking APIs on the Developer Centre. We'll then contact you to discuss your needs and eligibility (you need to be a current eParcel or StarTrack parcels contract customer).
I have an existing Australia Post Delivery Choice API key, can I use it to access the Shipping and Tracking APIs?
No. Currently the Delivery Choice API key cannot be used for the Shipping and Tracking APIs. We are working to consolidate all API key management within the Developer Centre.
How can I access the Australia Post Shipping and Tracking APIs myself?
To access the Australia Post Shipping and Tracking APIs you currently need: Either an eParcel contract or a StarTrack contract with Premium and/or Express products. Then simply log in or sign up for an Australia Post account and register your interest for the Shipping and Tracking APIs on the Developer Centre. We'll then enable your access to the Shipping and Tracking API Services if you meet the eligibility criteria.
What do I need to do to after registering for the Australia Post Shipping and Tracking APIs?
Once you've registered, wait for us to contact you. We'll check your eligibility and if you meet the criteria, we'll set you up with access to our Shipping and Tracking API services and create and provide you a unique account number and API credentials for our test bed. You can test your solution using the Developer Test Bed. You'll need to use your provided Account Number as a header with the API requests. Once you have successfully completed your testing, you need to send us a PDF label and order summary that you've generated via the test bed API so we can validate your test bed integration. You'll then need to use your provided Account Number as a header with the API requests.
How can I move from the Australia Post Shipping and Tracking API test environment into production?
We need you to provide the following so we can validate your integration with the test bed API:
Once we receive these files and have validated your integration, we'll provide you access to the production Shipping and Tracking API.
Please note: If producing your own labels, you need to provide a sample printed label and PDF for testing to ensure it includes all the required information and works on our processing machinery.
Do the Australia Post Shipping and Tracking API keys have to be approved to use in production?
If you've been given test keys, you need to provide the following output from your test bed integration:
Once we have that, we'll arrange for you to switch to production.
Can I only use the Australia Post Shipping and Tracking Get Item Prices service?
Yes. You can choose the services you want to integrate with and easily uplift your integration at any time to access any new capability, products and services as they become available.
Do I need an Australia Post Business Account or an Australia Post eParcel account to use the Australia Post Shipping and Tracking APIs?
The current Shipping and Tracking API eligibility criteria requires you to have a current eParcel or StarTrack parcels contract.
Does the Australia Post Postage Assessment Calculator API provide my specific contract rates or does it just provide me with the full Australia Post retail rates?
The Postage Assessment Calculator API only provides full retail rate pricing. To access your specific contract rates, you can use the Australia Post Shipping and Tracking Get Item Prices API call.
Do I have to use the Australia Post Shipping and Tracking Create Label service or can I create my own labels for shipments?
You don't have to create labels using the Shipping and Tracking API Create Label service and can generate valid labels yourself. If you do create your own labels, the label data (Article Id, Consignment Id and barcode Id) needs to be supplied in the Create Order call. Please note: If you're creating your own labels they need to adhere to Australia Post label standards and you need to provide a sample printed label and PDF for testing. We need to verify physical printed copies of the labels to ensure the quality of the print will work on our processing machinery.
Will shipments created using the APIs appear in eParcel?
Yes. Once labels are printed and the shipment is placed into an order, the order appears in eParcel as a manifest. Please note that shipments will not appear in eParcel until they have been manifested. Any Shipments created using the Shipping and Tracking API must be manifested using the Shipping and Tracking API.
What are some sample calls that I can use to make requests to the Australia Post Shipping and Tracking API?
We have some sample calls available for you to use.
What should be the sequence of calls for the Australia Post Shipping and Tracking APIs?
You can sequence the calls as it best suits your business, the following call flow is the most commonly used:
Once all the labels are generated and the order is created – the order is automatically sent to Australia Post's back-end system (eParcel) for processing. The tracking interface then returns a valid status for each item in the order.
Where can I get a list of product IDs or codes to use in the Australia Post Shipping and Tracking Create Shipment service?
The product IDs match the charge codes and are available via the Get Accounts API call. The accounts call response will vary (the number and types of products returned) depending on your contract.
When using the Australia Post Shipping and Tracking APIs how can I see the parcel services and their prices?
You use the Get Item Prices call to see the parcel services and their corresponding prices.
How can I see the shipping amount excluding GST with the Australia Post Shipping and Tracking APIs?
The GST component is always included as a separate amount. To calculate the Shipping amount excluding GST you need to subtract the GST amount from the "total_cost" which is the Shipping amount including GST.
When using the Australia Post Shipping and Tracking APIs, can an order be cancelled or voided?
No. An order can't be cancelled, deleted or voided online. A shipment can be deleted before it is added to an order, but once a shipment is added to an order, neither the shipment within the order or the order can be deleted.
When using the Australia Post Shipping and Tracking APIs can I cancel an individual shipment after the order has been created?
No. An order cannot be cancelled, deleted or voided. A shipment can be deleted before it is added to an order but once a shipment is added to an order neither the shipment within the order nor the order can be deleted. Please note: If there are any modifications to your Order Summary (Manifest) you need to call your Lodgement Point on the day and notify them of the changes.
If I create an order and print a label using the Shipping and Tracking APIs in production can I cancel it?
No. An order can't be cancelled, deleted or voided online. A shipment can be deleted before it is added to an order but once a shipment is added to an order neither the shipment within the order or the order can be deleted. Please note: If there are any modifications to your Order Summary (Manifest) you need to call your Lodgement Point on the day and notify them of the changes.
What are valid layouts for the printed shipping labels for the Australia Post Shipping and Tracking APIs?
The printed shipping label layout specifies the number of labels per page and the size of the page. The layout must be valid for the product types of the items in the shipment. Valid Layouts are:
See the Create labels API call for more information.
When I create an order (consignment) using the Australia Post Shipping and Tracking APIs is it still available in the eParcel system?
Yes. After an order has been created using the Australia Post Shipping and Tracking APIs the consignment details are available in eParcel. Please note: Contract parcels created through the Shipping and Tracking APIs are also available in the eParcel Web UI.
What should be in the Australia Post Shipping and Tracking API header request?
You need to set the basic authorisation header manually. To do this, create a HTTP header with the following format:
Authorization: Basic Base64("api_key_uuid" + ":" + "api_key_password")For example:
Authorization: Basic YWZlMDYxNzEtNzdiNS00NzFlLWI1OTMtZTViZGRiMmU1YTRkOm15X2FwaV9rZXlfcGFzc3dvcmQ=Find more information in the reference documentation.
If I'm using the Australia Post Shipping and Tracking APIs and I have multiple regular daily pickups, when should I create orders and should an order only contain shipments that are going in the next pickup?
Each pickup must have an order created that contains the shipment details for all included items. An Order Summary (manifest) is created for each order, printed, signed and handed to the pickup driver. There should only be one Order Summary (manifest) per pickup, but a last-minute order might mean there are two orders going in one pick-up and there will be two Order Summaries. The Order Summary (manifest) must match the items given to the driver.
What is the Developer Test Bed?
The Developer Test Bed enables you to test your integration by generating requests to a test service and receiving responses. It has stubbed services that are hosted in the AWS cloud. It caches the details of previous requests you have made and uses this information when providing responses to your future requests.
What is the Developer Test Bed URL?
The test bed url is:
https://digitalapi.auspost.com.au/test/shipping/v1/…
How do I get an Australia Post Shipping and Tracking API key for testing?
To get an API key, simply log in or sign up for an Australia Post account and register your interest for the Shipping and Tracking APIs on the Developer Centre. We'll then contact you to discuss your needs and eligibility (you need to be a current eParcel or StarTrack parcels contract customer). Once we've established your eligibility, we'll give you access to our Shipping and Tracking API services and create and provide a unique account number and API credentials for our test bed. You can test your solution using the Developer Test Bed. You'll need to use your provided Account Number as a header with the API requests. Once you've successfully completed your testing, you need to send us a PDF label and order summary that you have generated via the test bed API so we can validate your test bed integration. You will need to use your provided Account Number as a header with the API requests.
The following test should work (you will be prompted for the password given to the key in developer centre):
curl -i -k --header "Content-Type: application/json" --header "Account-Number: xxxxxx"
--url "https://digitalapi.auspost.com.au/test/shipping/v1/track?tracking_ids=11111"
--user "your_api_key"In the Australia Post Shipping and Tracking API test bed why does it return the same response every time even when I change the dimensions or postcode?
The test bed does not use actual contract data, it only has a small subset of test data. If the request call is successful, currently the same standard response is returned.
I have a new developer integrating my site, can we have our Australia Post Shipping and Tracking API key put back into test mode?
Your API key will always work in the test bed environment. Test API keys can only be used in the test bed environment, Production API keys can be used in both the test bed and production environments.
Can the Australia Post Shipping and Tracking Create Labels call generate a label in the Developer Test Bed?
Yes. The Create Label call generates a sample generic label if the correct calls are made for a label. Regardless of the information sent, the same label is generated in the Developer Test Bed. The shipment details sent in the Create Label call do not change the details on the generated label.
When I use the Australia Post Shipping and Tracking APIs to create a shipment on the test bed URL, will it create a production shipment?
The test bed does not create production shipments or send any information or charges to your charge account. The test bed mimics backend system behaviour and responses. No data is sent to or from the back-end systems, consequently no actual transactions occur. Fictional customer data for a fictional company, ABC Pty Ltd, is used to provide responses to all requests made to the test bed.
When I create a shipment in the test bed why do I receive a $20 shipping price when my actual contract prices are $7 to $10?
The Shipping and Tracking test bed does not reflect actual contract pricing.
I am interested in using the Shipping and Tracking API suite for the sole purpose of tracking the items I am shipping. How can I access the Tracking service?
To get an API key, simply log in or sign up for an Australia Post account and register your interest for the Shipping and Tracking APIs on the Developer Centre. We'll enable your access to our Tracking API service and provide you with unique Track Items API credentials that you can use in the test bed and production environments. You'll need to use your provided Account Number as a header with the API requests. The following test should work (you will be prompted for the password given to the key in developer centre):
curl -i -k --header "Content-Type: application/json" --header "Account-Number: xxxxxx"
--url "https://digitalapi.auspost.com.au/test/shipping/v1/track?tracking_ids=11111"
--user "your_api_key"How can I get the tracking number using the Australia Post Shipping and Tracking APIs?
The tracking details are returned from the Get Shipments API call. Example of tracking details provided in a Get Shipments response:
"tracking_details": {
"article_id": "ABC000128201000931406",
"consignment_id": "ABC0001282"
},
Please note: The trackable ids are article_id and consignment_id. The order_id is not a trackable id.
Can get the tracking information for an item as soon as I have created a shipment using the Australia Post Shipping and Tracking APIs?
Tracking events are available for an item once an order is created. The item can be tracked via either the article id or the consignment id (both are valid Australia Post tracking ids). Once an order is created the tracking information is available from the call to Get Shipments.
Can I access the Australia Post tracking API for eParcel track events?
Yes, you need to register your interest for the Shipping and Tracking APIs on the Developer Centre. Find more information on how to use the Tracking APIs.
When calling the Australia Post Shipping and Tracking Track Items service can I only get the most recent status of the package or can I get the history of all its events?
The Shipping and Tracking Track Items service shows the entire history of an item's tracking events. Shipping and Tracking Track Items request (or response) example:
"tracking_details": {
"article_id": "ABC000128201000931406",
"consignment_id": "ABC0001282"
},
Do you have a document or list of services available via the Australia Post Shipping and Tracking APIs for shipping dangerous goods?
A parcel that is carrying Dangerous Goods requires manual handling and does not travel across our automated sortation equipment. Only some of our services support the shipping of Dangerous Goods and whether you can send Dangerous Goods or not depends on the products included in your contract. If a shipment containing dangerous goods is submitted with a service that does not support it an error will be returned via the API. Only the following Dangerous Goods can be sent by Air (currently PRM/FPP, Express Post - does not support dangerous goods):
How do I know which services allow me to send Dangerous Goods?
If a shipment containing Dangerous Goods requests a service that does not support it an error is returned. Speak to your Account Manager if you require clarification.
What do I need to sign when sending Dangerous Goods using the Shipping and Tracking APIs?
For Australia Post products - When you print the label for an item it includes any required Dangerous Goods declaration. The actual declaration on the label depends on the service selected. For example: An Express Post label has an Aviation Security and Dangerous Goods Declaration that needs to be signed.
For StarTrack products – Dangerous Goods items are not declared on the StarTrack label. A Dangerous Goods declaration (separate document) must be supplied with the freight.
When using the Shipping and Tracking APIs do I need to print additional documents for my dangerous goods shipment?
For Australia Post products - When you print the label for an item it includes any required Dangerous Goods declaration. The actual declaration on the label depends on the service selected. For example: An Express Post label has an Aviation Security and Dangerous Goods Declaration that needs to be signed.
For StarTrack products - Dangerous Goods items are not declared on the StarTrack label. A Dangerous Goods declaration (separate document) must be supplied with the freight.
When using the Australia Post Shipping and Tracking APIs why am I receiving the following error message?
"message": "The request failed authentication",
"error_code": "API_001",
"error_name": "Unauthenticated request"
This is an authorisation error. To set the basic authorisation header manually you need to create a HTTP header with the following format:
Authorization: Basic Base64("api_key_uuid" + ":" + "api_key_password")For example:
Authorization: Basic YWZlMDYxNzEtNzdiNS00NzFlLWI1OTMtZTViZGRiMmU1YTRkOm15X2FwaV9rZXlfcGFzc3dvcmQ=Find more information in our authorisation reference.
I have activated my Australia Post Shipping and Tracking API user key but I'm getting an error saying I am not authorisation. What do I do?
You need to set the basic authorisation header manually. To do this, create an HTTP header with the following format:
Authorization: Basic Base64("api_key_uuid" + ":" + "api_key_password")I am receiving the following error message:
{
"errors": [
{
"code": "41001",
"name": "CUSTOMER_NOT_FOUND",
"message": "A location with the charge account number of 1003866254 cannot be found. Please check that the identifier is correct and submit the request again."
}
]
}
Test API keys can only be used in the test bed environment. Production API keys can be used in both the test bed and production environments this allows you to use the test bed at any time after you are in production.
"The API key and password used to authenticate this request cannot be used to transact on the charge account with account number xxxxxxxxxx."What am I doing wrong?
This is an authorisation error message. If your API key is a:
Please contact us if you have a production API key and are receiving this error.
{
"errors": [
{
"code": "42011",
"name": "TWO_DIMENSIONS_LESS_THAN_5CM",
"message": "At least 2 dimensions must be 5 cm"
}
]
}
You're receiving this error because the parcel dimensions do not met Australia Post requirements, two of the three dimensions (width, length and height) must be at least 5 cm or more.
Why am I having problems calling the Australia Post Tracking API using JavaScript?
The Australia Post Tracking API has been designed using server based integration to ensure security of the API key, therefore JavaScript cannot be used.
Why do I get a CORS error when I call the Australia Post Tracking API using JavaScript?
The Australia Post Tracking API has been designed using server based integration to ensure security of the API key, therefore JavaScript cannot be used.