Create an order
Endpoint
Section titled “Endpoint”POST /api/ordersCreates a new order in Transdirect from an external system. Orders can then be converted into bookings through the Transdirect members area or API.
Request body
Section titled “Request body”| Field | Type | Required | Description |
|---|---|---|---|
order_number | string | Yes | The order number from your external system |
source | string | No | Integration source identifier (e.g. custom, api) |
receiver_name | string | Yes | Recipient’s full name |
receiver_email | string | No | Recipient’s email address |
receiver_phone | string | No | Recipient’s phone number |
receiver_address | string | Yes | Delivery street address |
receiver_suburb | string | Yes | Delivery suburb |
receiver_postcode | string | Yes | Delivery postcode |
receiver_state | string | Yes | Delivery state or territory (e.g. NSW, VIC) |
receiver_country | string | No | Delivery country code (defaults to AU) |
items | array | Yes | Array of item objects (see below) |
Item fields
Section titled “Item fields”| Field | Type | Required | Description |
|---|---|---|---|
description | string | Yes | Description of the item |
quantity | integer | Yes | Number of items |
weight | number | Yes | Weight in kilograms |
Request
Section titled “Request”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/ordersResponse
Section titled “Response”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}Error responses
Section titled “Error responses”| Status code | Meaning |
|---|---|
400 | Bad request — missing or invalid fields |
401 | Unauthorised — invalid credentials or API key |
422 | Unprocessable entity — validation errors |