Order Tracking
Track an order using its public tracking key without authentication.
HTTP Request
GET/api/shop/customers/me/orders/{order_key}/tracking
Authorization
Authorization
- Required: No
- Permission: Public
- Authentication: None
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| order_key | string | Yes | Public tracking key of the order, obtainable from order details |
Example Requests
- 🐍 Python
- 🌐 Curl
1import requests
2
3# Track order by key
4response = requests.get('http://www.example.com/api/shop/customers/me/orders/ABCDEFG12345/tracking')
5print(response.json())1# Track order by key
2curl "http://www.example.com/api/shop/customers/me/orders/ABCDEFG12345/tracking"Response Fields (Order Details)
| Field | Type | Description |
|---|---|---|
| id | integer | Unique ID of the order |
| key | string | Order tracking key |
| status | string | Current order status |
| customer | object | Customer details |
| payment_method | object | Payment method details |
| shipping_method | object | Shipping method details |
| shipping_cost | decimal | Cost of shipping |
| notes | string | Order notes |
| created_at | string (ISO 8601) | Order creation timestamp |
| updated_at | string (ISO 8601) | Order last update timestamp |
| billing_country | object | Billing country details |
| billing_state | object | Billing state details |
| billing_city | object | Billing city details |
| billing_address | string | Billing address |
| billing_postal_code | string | Billing postal code |
| billing_national_code | string | Billing national code |
| billing_mobile_number | string | Billing mobile number |
| billing_first_name | string | Billing first name |
| billing_last_name | string | Billing last name |
| count | integer | Number of different products |
| quantity | integer | Total quantity of items |
| items_subtotal | decimal | Subtotal of all items |
| items_discount | decimal | Total discount on items |
| subtotal | decimal | Order subtotal |
| total_discount | decimal | Total discount amount |
| total | decimal | Final order total |
| amount_paid | decimal | Amount already paid |
| amount_outstanding | decimal | Outstanding amount |
| is_paid | boolean | Whether order is fully paid |
| is_payable | boolean | Whether order can be paid |
| items | array | Array of order items with product details |
| payments | array | Array of payment transactions for this order |
Order Items Structure
Each item in the items array contains:
| Field | Type | Description |
|---|---|---|
| id | integer | Unique ID of the order item |
| product_data | object | Snapshot of product data at time of order |
| unit_price | integer | Price per unit (in smallest currency unit) |
| unit_discount | integer | Discount per unit (in smallest currency unit) |
| quantity | integer | Quantity ordered |
| notes | string | Item-specific notes |
| subtotal | integer | Calculated subtotal (computed field) |
| discount | integer | Total discount for this item (computed field) |
| total | integer | Final total for this item (computed field) |
| created_at | string (ISO 8601) | Item creation timestamp |
| updated_at | string (ISO 8601) | Item last update timestamp |
Order Payments Structure
Each payment in the payments array contains:
| Field | Type | Description |
|---|---|---|
| id | integer | Unique ID of the payment |
| payment_method | object | Payment method details |
| approved | boolean | Whether payment is approved |
| amount | integer | Payment amount (in smallest currency unit) |
| transaction_id | string | External transaction identifier |
| notes | string | Payment-specific notes |
| created_at | string (ISO 8601) | Payment creation timestamp |
| updated_at | string (ISO 8601) | Payment last update timestamp |
Payment Method Structure
The payment_method object contains:
| Field | Type | Description |
|---|---|---|
| id | integer | Payment method ID |
| name | string | Payment method name |
| image | object | Payment method icon/logo |
Shipping Method Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the shipping method |
| name | String | Name of the shipping method |
| image | Object | Image details of the shipping method |
Image Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the image |
| type | String | File type (e.g., image/jpeg) |
| name | String | Original file name |
| size | Integer | File size in bytes |
| human_readable_size | String | Human readable file size (e.g., 2.5 MB) |
| f | String | URL to access the image file |
| width | Integer | Image width in pixels |
| height | Integer | Image height in pixels |
| mode | String | Color mode (e.g., RGB, CMYK) |
| thumbnails | List of thumbnail objects | Imgae thumbnails |
Thumbnail Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the thumbnail (unique) |
| f | String | URL to access the thumbnail file |
| size | Integer | File size in bytes (nullable) |
Customer Structure
The customer object contains:
| Field | Type | Description |
|---|---|---|
| id | integer | Customer ID |
| username | string | Customer username |
| full_name | string | Customer's full name |
Geographic Data Structures
Country, state, and city objects contain:
Country/State:
| Field | Type | Description |
|---|---|---|
| id | integer | Unique ID of the country/state |
| active | boolean | Whether the country/state is active |
| name | string | Name of the country/state |
| code | string | Code of the country/state (e.g., ISO code) |
City:
| Field | Type | Description |
|---|---|---|
| id | integer | City ID |
| active | boolean | Whether city is active |
| name | string | City name |
Example Response
{
"id": 2,
"key": "0c86ab758d3e236cb5a4",
"status": "shipped",
"customer": {
"id": 1,
"username": "behrooz3500",
"full_name": "behrooz ghorbanie"
},
"payment_method": {
"id": 1,
"name": "پرداخت در مخل",
"image": null
},
"shipping_method": {
"id": 1,
"name": "پیک موتور",
"image": {
"id": 8,
"type": "image",
"name": "پیک موتوری",
"size": 808754,
"human_readable_size": "789.80 KB",
"f": "http://127.0.0.1:8000/media/core_media/2025/12/20/Fantasticheskie_kartinki_dlja_monitora_68_63.jpg",
"width": 1920,
"height": 1080,
"mode": "RGB",
"thumbnails": [
{
"id": 213,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_64x64.jpg",
"size": 64
},
{
"id": 214,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_128x128.jpg",
"size": 128
},
{
"id": 215,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_512x512.jpg",
"size": 512
},
{
"id": 216,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_1080x1080.jpg",
"size": 1080
}
]
}
},
"shipping_cost": 75000,
"notes": "Facilis sequi alias optio. Alias ipsam deserunt. At veniam nam et. Et aut id id aut quae non animi. Sed tempora aut ut ipsa dicta vel eveniet et aspernatur.",
"created_at": "2025-12-27T18:17:09.771123Z",
"updated_at": "2025-12-28T11:28:47.290350Z",
"billing_country": {
"id": 1,
"name": "ایران",
"code": "IR"
},
"billing_state": {
"id": 1,
"name": "آذربایجان شرقی",
"code": "EA"
},
"billing_city": {
"id": 1,
"name": "اسکو"
},
"billing_address": "5411 Stokes Grove",
"billing_postal_code": "1234567890",
"billing_national_code": null,
"billing_mobile_number": "09523296536",
"billing_first_name": "پدرام",
"billing_last_name": "زمانی",
"count": 0,
"quantity": 0,
"items_subtotal": 0,
"items_discount": 0,
"subtotal": 0,
"total_discount": 0,
"total": 75000,
"amount_paid": 1100000,
"amount_outstanding": -1025000,
"is_paid": true,
"is_payable": true,
"items": [],
"payments": [
{
"id": 1,
"payment_method": {
"id": 1,
"name": "پرداخت در مخل",
"image": null
},
"approved": true,
"amount": 100000,
"transaction_id": "1589800",
"notes": "",
"created_at": "2025-12-28T10:43:38.509103Z",
"updated_at": "2025-12-30T11:19:16.265863Z"
},
{
"id": 3,
"payment_method": {
"id": 1,
"name": "پرداخت در مخل",
"image": null
},
"approved": true,
"amount": 1000000,
"transaction_id": "12345678910111213",
"notes": "by zarinpal",
"created_at": "2025-12-30T11:22:46.032030Z",
"updated_at": "2025-12-30T11:22:46.032039Z"
}
]
}
Notes
- Order Tracking: Public tracking allows customers to check order status without logging in.
- If is_payable is false, the order cannot be paid (e.g., canceled or refunded)
- If is_paid is true, amount_outstanding will be zero