Skip to content

Create an order

POST /api/orders

Creates a new order in Transdirect from an external system. Orders can then be converted into bookings through the Transdirect members area or API.

FieldTypeRequiredDescription
order_numberstringYesThe order number from your external system
sourcestringNoIntegration source identifier (e.g. custom, api)
receiver_namestringYesRecipient’s full name
receiver_emailstringNoRecipient’s email address
receiver_phonestringNoRecipient’s phone number
receiver_addressstringYesDelivery street address
receiver_suburbstringYesDelivery suburb
receiver_postcodestringYesDelivery postcode
receiver_statestringYesDelivery state or territory (e.g. NSW, VIC)
receiver_countrystringNoDelivery country code (defaults to AU)
itemsarrayYesArray of item objects (see below)
FieldTypeRequiredDescription
descriptionstringYesDescription of the item
quantityintegerYesNumber of items
weightnumberYesWeight in kilograms
Terminal window
curl -X POST \
-H "Api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"order_number": "ORD-10042",
"source": "custom",
"receiver_name": "John Smith",
"receiver_email": "john@example.com.au",
"receiver_phone": "0498765432",
"receiver_address": "42 George Street",
"receiver_suburb": "SYDNEY",
"receiver_postcode": "2000",
"receiver_state": "NSW",
"receiver_country": "AU",
"items": [
{
"description": "Widget Pro",
"quantity": 2,
"weight": 1.5
},
{
"description": "Accessory Pack",
"quantity": 1,
"weight": 0.5
}
]
}' \
https://www.transdirect.com.au/api/orders

A successful response returns a 201 status code with the created order.

{
"id": 5003,
"order_number": "ORD-10042",
"source": "custom",
"status": "pending",
"receiver_name": "John Smith",
"receiver_email": "john@example.com.au",
"receiver_phone": "0498765432",
"receiver_address": "42 George Street",
"receiver_suburb": "SYDNEY",
"receiver_postcode": "2000",
"receiver_state": "NSW",
"receiver_country": "AU",
"items": [
{
"description": "Widget Pro",
"quantity": 2,
"weight": 1.5
},
{
"description": "Accessory Pack",
"quantity": 1,
"weight": 0.5
}
],
"created_at": "2025-08-20T14:00:00+1000",
"booking_id": null
}
Status codeMeaning
400Bad request — missing or invalid fields
401Unauthorised — invalid credentials or API key
422Unprocessable entity — validation errors