API Quản lý đơn hàng
API này cho phép quản lý đơn hàng hoàn chỉnh: lấy danh sách, chi tiết, tạo mới và cập nhật trạng thái.
Ví dụ minh họa: Quản lý đơn hàng
Ví dụ minh họa: Quản lý đơn hàng
1. Lấy danh sách đơn hàng
GET https://api.socdo.vn/v1/order_management
Các tham số có thể truyền (tùy chọn):
- user_id: ID người dùng
- status: Trạng thái đơn hàng (0: Chờ xác nhận, 1: Đã xác nhận, 2: Đang giao, 3: Đã giao, 4: Đã hủy)
- search: Tìm kiếm theo mã đơn, tên, SĐT, email
- date_from: Từ ngày (Y-m-d)
- date_to: Đến ngày (Y-m-d)
- page: Trang hiện tại (mặc định: 1)
- limit: Số đơn hàng mỗi trang (mặc định: 20, tối đa: 100)
2. Lấy chi tiết đơn hàng
GET https://api.socdo.vn/v1/order_management?order_id=123
3. Tạo đơn hàng mới
POST https://api.socdo.vn/v1/order_management
Các trường bắt buộc:
- user_id: ID người dùng
- ho_ten: Họ tên khách hàng
- dien_thoai: Số điện thoại
- dia_chi: Địa chỉ giao hàng
- sanpham: Danh sách sản phẩm (JSON array)
- tamtinh: Tạm tính
- tongtien: Tổng tiền
Dữ liệu mẫu tạo đơn hàng (JSON):
{
"user_id": 123,
"ho_ten": "Nguyễn Văn A",
"email": "[email protected]",
"dien_thoai": "0123456789",
"dia_chi": "123 Đường ABC, Phường XYZ",
"tinh": 1,
"huyen": 2,
"xa": 3,
"dropship": 0,
"sanpham": [
{
"id": 123,
"qty": 2,
"price": 500000,
"name": "iPhone 15"
},
{
"id": 456,
"qty": 1,
"price": 200000,
"name": "Case iPhone"
}
],
"tamtinh": 1200000,
"coupon": "SALE20",
"giam": 200000,
"phi_ship": 30000,
"tongtien": 1030000,
"thanhtoan": "cod",
"ghi_chu": "Giao hàng nhanh",
"utm_source": "facebook",
"utm_campaign": "summer_sale"
}
4. Cập nhật trạng thái đơn hàng
PUT https://api.socdo.vn/v1/order_management
Dữ liệu mẫu cập nhật trạng thái (JSON):
{
"order_id": 123,
"status": 2
}
Ví dụ lấy danh sách bằng cURL:
curl -X GET "https://api.socdo.vn/v1/order_management?status=1&page=1&limit=10" -H "Authorization: Bearer <token>"
Ví dụ tạo đơn hàng bằng PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.socdo.vn/v1/order_management");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer <token>"
]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"user_id" => 123,
"ho_ten" => "Nguyễn Văn A",
"email" => "[email protected]",
"dien_thoai" => "0123456789",
"dia_chi" => "123 Đường ABC, Phường XYZ",
"sanpham" => [
["id" => 123, "qty" => 2, "price" => 500000, "name" => "iPhone 15"],
["id" => 456, "qty" => 1, "price" => 200000, "name" => "Case iPhone"]
],
"tamtinh" => 1200000,
"giam" => 200000,
"phi_ship" => 30000,
"tongtien" => 1030000,
"thanhtoan" => "cod"
]));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Dữ liệu trả về mẫu (Danh sách):
{
"success": true,
"message": "Lấy danh sách đơn hàng thành công",
"data": {
"orders": [
{
"id": "123",
"ma_don": "DH123456",
"user_id": "456",
"ho_ten": "Nguyễn Văn A",
"email": "[email protected]",
"dien_thoai": "0123456789",
"dia_chi": "123 Đường ABC, Phường XYZ",
"tamtinh": "1200000",
"giam": "200000",
"phi_ship": "30000",
"tongtien": "1030000",
"status": "1",
"thanhtoan": "cod",
"date_post": "1695020400",
"date_update": "1695020400",
"utm_source": "facebook",
"tamtinh_formatted": "1,200,000",
"giam_formatted": "200,000",
"phi_ship_formatted": "30,000",
"tongtien_formatted": "1,030,000",
"date_post_formatted": "18/09/2023 15:00:00",
"date_update_formatted": "18/09/2023 15:00:00",
"status_text": "Đã xác nhận"
}
],
"pagination": {
"current_page": 1,
"total_pages": 5,
"total_orders": 48,
"limit": 10,
"has_next": true,
"has_prev": false
},
"filters": {
"user_id": 0,
"status": 1,
"search": "",
"date_from": "",
"date_to": ""
}
}
}
Dữ liệu trả về mẫu (Chi tiết):
{
"success": true,
"message": "Lấy chi tiết đơn hàng thành công",
"data": {
"id": "123",
"ma_don": "DH123456",
"ho_ten": "Nguyễn Văn A",
"products": [
{
"id": "123",
"tieu_de": "iPhone 15 Pro Max",
"minh_hoa": "/uploads/hinh-anh/iphone15.jpg",
"quantity": 2,
"price": 500000,
"total": 1000000,
"price_formatted": "500,000",
"total_formatted": "1,000,000",
"image_url": "https://api.socdo.vn/uploads/hinh-anh/iphone15.jpg"
}
],
"address_info": {
"tinh": "Hồ Chí Minh",
"huyen": "Quận 1"
},
"full_address": "123 Đường ABC, Phường XYZ, Quận 1, Hồ Chí Minh",
"tongtien_formatted": "1,030,000",
"status_text": "Đã xác nhận"
}
}
Lưu ý:
- Bạn cần lấy token xác thực trước khi gọi API này
- Trạng thái đơn hàng: 0=Chờ xác nhận, 1=Đã xác nhận, 2=Đang giao hàng, 3=Đã giao hàng, 4=Đã hủy
- sanpham phải là mảng JSON chứa thông tin sản phẩm
- Mã đơn hàng được tạo tự động khi tạo đơn hàng mới
- API tự động tính toán và format giá tiền
- Có thể lọc theo nhiều tiêu chí: user, status, ngày tháng, từ khóa