Chuyển tới nội dung chính

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

🔗Endpoint Staging
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
🔗Endpoint Production
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ểuMặc địnhMô tả
pagenumber1Trang cần lấy
limitnumber10Số đơn mỗi trang (tối đa 100)
statusstringLọc theo trạng thái: pending, confirmed, shipping, delivered, cancelled
startDatestring (ISO 8601)Chỉ lấy đơn có createdAt giá trị này
endDatestring (ISO 8601)Chỉ lấy đơn có createdAt giá trị này
customerIdstringLọc theo ID khách hàng
paymentMethodstringLọc theo phương thức thanh toán
platformstringLọc theo nền tảng tạo đơn
searchstringTìm theo mã đơn / tên / SĐT khách (không phân biệt hoa thường)
Lưu ý khi lọc theo ngày

startDateendDate 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
Phân trang chính xác

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)

{
"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
}
}
}