Lấy danh sách đơn hàng
API lấy danh sách đơn hàng cho phép bạn truy xuất các đơn hàng đã được tạo trong hệ thống của chúng tôi.
Bạn có thể phân trang và lọc kết quả bằng các tham số như page, limit, status, và lọc theo khoảng ngày với startDate / endDate (xem bảng bên dưới).
Endpoint
GET https://staging-manage.api.miniai.vn/api/external/v1/orders
https://staging-manage.api.miniai.vn/api/external/v1/orders?status=pending&page=1&limit=1
GET https://manage-api.miniap.vn/api/external/v1/orders
Tham số truy vấn (Query Parameters)
Tất cả tham số đều tùy chọn. shopId được xác định tự động từ API key của bạn — không cần gửi. Kết quả luôn được sắp xếp mới nh ất trước (theo createdAt giảm dần).
| Tham số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
page | number | 1 | Trang cần lấy |
limit | number | 10 | Số đơn mỗi trang (tối đa 100) |
status | string | — | Lọc theo trạng thái: pending, confirmed, shipping, delivered, cancelled… |
startDate | string (ISO 8601) | — | Chỉ lấy đơn có createdAt ≥ giá trị này |
endDate | string (ISO 8601) | — | Chỉ lấy đơn có createdAt ≤ giá trị này |
customerId | string | — | Lọc theo ID khách hàng |
paymentMethod | string | — | Lọc theo phương thức thanh toán |
platform | string | — | Lọc theo nền tảng tạo đơn |
search | string | — | Tìm theo mã đơn / tên / SĐT khách (không phân biệt hoa thường) |
startDate và endDate phải theo định dạng ISO 8601 và được so sánh theo giờ UTC. endDate so sánh ≤ với createdAt, nên nếu chỉ truyền ngày (vd 2025-09-16) hệ thống hiểu là 2025-09-16T00:00:00Z và sẽ bỏ sót đơn phát sinh trong ngày hôm đó. Để lấy trọn một ngày, hãy truyền mốc cuối ngày rõ ràng — ví dụ endDate=2025-09-16T23:59:59.999Z.
Ví dụ — lọc theo khoảng ngày
GET https://staging-manage.api.miniai.vn/api/external/v1/orders?startDate=2025-09-01T00:00:00.000Z&endDate=2025-09-30T23:59:59.999Z&page=1&limit=50
Dùng meta.total (tổng số đơn khớp bộ lọc) và meta.totalPages trong response để lặp qua từng trang — không cần quét toàn bộ rồi lọc createdAt ở phía client.
Phản hồi (Response)
- Response
{
"success": true,
"data": {
"orders": [
{
"_id": "68c9415a802d36826bc46836",
"code": "Q42Df8a2V2",
"shippingMethod": "ahamove",
"addressId": "685a28d9ec74b054e81ef206",
"shopAddressId": "689c054edab00e15569f2d54",
"userId": {
"_id": "685930fd539ae361bb35fa62",
"phone": "0335214562",
"fullName": "Lê Quốc An",
"avatar": "https://s120-ava-talk.zadn.vn/d/b/8/1/18/120/3fa4b3b7f2e9501ff1e42d65e4b97dd5.jpg",
"id": "685930fd539ae361bb35fa62"
},
"shopId": "64204a17a5a97a86f12e1f0a",
"price": 520000,
"discount": 0,
"originPrice": 500000,
"discountShipping": 0,
"flashSaleDiscount": 0,
"isPaid": false,
"paidAmount": 0,
"status": "pending",
"note": "",
"shippingFee": 70000,
"loyaltyDiscount": 50000,
"pointDiscountPrice": 0,
"points": 0,
"search": "q42df8a2v2 0335214562 le quoc an le quoc an",
"platform": "mini_app",
"createdAt": "2025-09-16T10:52:10.219Z",
"updatedAt": "2025-09-16T10:52:11.013Z",
"__v": 0,
"sOrderId": "1725173646",
"isSynced": true,
"orderItems": [
{
"_id": "68c9415a802d36826bc46838",
"orderId": "68c9415a802d36826bc46836",
"skuId": "68ad93ebe2945293c795e568",
"quantity": 1,
"price": 500000,
"listSubItem": [],
"name": "Combo 2 Thùng Kazu Chan Tặng 1 Lốc Cùng Loại Và 1 Lọ Yến Sào Sago Nest Kid Hồi Phục",
"status": "pending",
"sku": {
"_id": "68ad93ebe2945293c795e568",
"name": "Combo 2 Thùng Kazu Chan Tặng 1 Lốc Cùng Loại Và 1 Lọ Yến Sào Sago Nest Kid Hồi Phục",
"price": 500000,
"originPrice": null,
"images": [
"https://dmcl0k8mc5oht.cloudfront.net/68771917162907f3c32d45e2/692d4327-21ae-42a3-887f-3e92d1f224bf.png"
],
"itemId": "68ad93eae2945293c795dd39",
"sku": "COMBO-KAZU-01",
"barcode": "8935049500123",
"variantOptionIDs": [],
"item": {
"_id": "68ad93eae2945293c795dd39",
"name": "Combo 2 Thùng Kazu Chan Tặng 1 Lốc Cùng Loại Và 1 Lọ Yến Sào Sago Nest Kid Hồi Phục",
"images": [
"https://dmcl0k8mc5oht.cloudfront.net/68771917162907f3c32d45e2/692d4327-21ae-42a3-887f-3e92d1f224bf.png"
],
"id": "68ad93eae2945293c795dd39"
},
"variantOptions": [],
"id": "68ad93ebe2945293c795e568"
},
"id": "68c9415a802d36826bc46838"
}
],
"table": null,
"id": "68c9415a802d36826bc46836",
"paymentStatus": "not_paid",
"invoiceStatus": "draft",
"isVAT": false
}
],
"orderCountByStatus": {
"ready_to_ship": 1,
"confirmed": 97,
"completed": 24,
"shipping": 111,
"complete": 2,
"delivered": 304,
"pending": 1152,
"cancelled": 33,
"processing": 1
},
"meta": {
"page": 1,
"limit": 1,
"total": 1152,
"totalPages": 1152,
"pending": 1152,
"confirmed": 97,
"readyToShip": 1,
"shipping": 111,
"delivered": 304,
"cancelled": 33
}
}
}