Tạo đơn
Mẫu API tạo đơn hàng
Tạo đơn với thanh toán phí giao hàng không bằng tiền mặt
- cURL
- JavaScript
curl --location 'https://partner-apistg.ahamove.com/v3/orders' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
"order_time": 0,
"path": [
{
"lat": 10.76975346,
"lng": 106.6636615,
"address": "7/28 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh",
"name": "Aha",
"mobile": "84944309348"
},
{
"lat": 10.76487455,
"lng": 106.6744510,
"address": "104 Trần Nhân Tôn, Phường 2, Quận 10, Hồ Chí Minh",
"name": "Nhan",
"mobile": "0912345678"
}
],
"service_id": "SGN-BIKE",
"requests": [],
"payment_method": "BALANCE",
"items": [
{
"_id": "TG",
"num": 1,
"name": "Tủ gỗ nhỏ",
"price": 450000
},
{
"_id": "GDB",
"num": 2,
"name": "Gương để bàn",
"price": 120000
}
]
}'
const myHeaders = new Headers();
myHeaders.append('Content-Type', 'application/json');
myHeaders.append('Authorization', 'Bearer <token>');
const raw = JSON.stringify({
order_time: 0,
path: [
{
lat: 10.76975346,
lng: 106.6636615,
address: '7/28 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh',
name: 'Aha',
mobile: '84944309348',
},
{
lat: 10.76487455,
lng: 106.674451,
address: '104 Trần Nhân Tôn, Phường 2, Quận 10, Hồ Chí Minh',
name: 'Nhan',
mobile: '0912345678',
},
],
service_id: 'SGN-BIKE',
requests: [],
payment_method: 'BALANCE',
items: [
{
_id: 'TG',
num: 1,
name: 'Tủ gỗ nhỏ',
price: 450000,
},
{
_id: 'GDB',
num: 2,
name: 'Gương để bàn',
price: 120000,
},
],
});
const requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow',
};
fetch('https://partner-apistg.ahamove.com/v3/orders', requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
- Kiểm tra trạng thái đơn hàng trên partner portal
Thông tin đơn hàng sẽ được hiển thị trên partner portal dành cho Đối tác kiểm tra các trạng thái và lịch sử đơn hàng
Nếu Đối tác di chuyển chuột vào biểu tượng , Đối tác có thể kiểm tra trạng thái của callback đến webhook URL
- App Tài xế
Tài xế sẽ không thu bất kì phí giao hàng nào từ Người bán/Người gửi hoặc Người nhận
- Mẫu callback trả về thông qua webhook
{
"_id": "22JKP8Y3",
"accept_time": 0,
"city_id": "SGN",
"complete_time": 0,
"create_time": 1664248324.2389245,
"path": [
{
"address": "7/28 Thành Thái, Ph ường 14, Quận 10, Hồ Chí Minh",
"cod": 0,
"por_info": "",
"mobile": "09xxxxxxxx",
"status": "",
"complete_time": 0,
"fail_time": 0,
"return_time": 0,
"pod_info": "",
"fail_comment": "",
"name": "Aha"
},
{
"address": "104 Trần Nhân Tôn, Phường 2, Quận 10, Hồ Chí Minh",
"cod": 0,
"por_info": "",
"mobile": "09xxxxxxxx",
"status": "",
"complete_time": 0,
"fail_time": 0,
"return_time": 0,
"pod_info": "",
"fail_comment": "",
"name": "Nhan"
}
],
"payment_method": "BALANCE",
"pickup_time": 0,
"service_id": "SGN-BIKE",
"status": "ASSIGNING",
"sub_status": "",
...
}
Tạo đơn với thanh toán phí giao hàng bằng tiền mặt
- Trả bởi Người bán/Người gửi
Trường thông tin payment_method
trong parameters sẽ thay đổi thành payment_method=CASH
Tài xế sẽ thu Người bán/Người gửi 28.000đ
- Trả bởi Người nhận
Trường thông tin payment_method
trong parameters sẽ thay đổi thành payment_method=CASH_BY_RECIPIENT
Tài xế thu Người nhận 28.000đ
Tạo đơn kèm theo mã khuyến mãi
- Trường thông tin
promo_code
được yêu cầu trong parameters là promo_code=AHAKM - Ahamove phát hành một số mã coupon trong môi trường Staging environment:
AHAKM
(FLAT): Giá trị giảm giá là 10.000đ trên phí giao hàngAHAKM20
(PERCENTAGE ): Giảm 20% trên phí giao hàng và giảm tối đa 15.000đAHAKM1
(SAME PRICE): Giá trị giảm giá là 5.000đ cho tất cả đơn hàng
Tổng phí là 28.000đ nhưng chỉ còn 18.000đ sau khi áp dụng mã khuyến mãi AHAKM
Tạo đơn có ứng COD
Trường thông tin cod
được yêu cầu trong path[x], x>0
Tài xế ứng cho Người bán/Người gửi 50.000đ và thu của Người nhận 50.000đ
Tạo đơn với các dịch vụ kèm theo
Đối tác có thể lấy danh sách các dịch vụ kèm theo của từng loại dịch vụ bằng API Get List Of Service và áp dụng khi tạo đơn hàng
- cURL
- JavaScript
curl --location 'https://partner-apistg.ahamove.com/v3/orders' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
"order_time": 0,
"path": [
{
"lat": 10.76975346,
"lng": 106.6636615,
"address": "7/28 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh",
"short_address": "Thành Thái, Quận 10",
"name": "Lan",
"mobile": "84944309348",
"remarks": "Đến nơi lấy hàng đọc mã đơn để nhận hàng"
},
{
"lat": 10.76487455,
"lng": 106.6744510,
"address": "104 Trần Nhân Tôn, Phường 2, Quận 10, Hồ Chí Minh",
"name": "Nhanh",
"mobile": "0912345678",
"cod": 50000,
}
],
"service_id": "SGN-BIKE",
"requests": [
{
"_id": "SGN-BIKE-TIP",
"num": 1
},
{
"_id": "SGN-BIKE-ROUND-TRIP"
}
],
"payment_method": "BALANCE",
"items": [
{
"_id": "TG",
"num": 1,
"name": "Tủ gỗ nhỏ",
"price": 450000
},
{
"_id": "GDB",
"num": 2,
"name": "Gương để bàn",
"price": 120000
}
]
}'
const myHeaders = new Headers();
myHeaders.append('Content-Type', 'application/json');
myHeaders.append('Authorization', 'Bearer <token>');
const raw = JSON.stringify({
order_time: 0,
path: [
{
lat: 10.76975346,
lng: 106.6636615,
address: '7/28 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh',
name: 'Aha',
mobile: '84944309348',
},
{
lat: 10.76487455,
lng: 106.674451,
address: '104 Trần Nhân Tôn, Phường 2, Quận 10, Hồ Chí Minh',
name: 'Nhan',
mobile: '0912345678',
cod: 50000,
},
],
service_id: 'SGN-BIKE',
requests: [
{
_id: 'SGN-BIKE-TIP',
num: 1,
},
{
_id: 'SGN-BIKE-ROUND-TRIP',
},
],
payment_method: 'BALANCE',
items: [
{
_id: 'TG',
num: 1,
name: 'Tủ gỗ nhỏ',
price: 450000,
},
{
_id: 'GDB',
num: 2,
name: 'Gương để bàn',
price: 120000,
},
],
});
const requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow',
};
fetch('https://partner-apistg.ahamove.com/v3/orders', requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
- Kiểm tra trạng thái đơn hàng trên partner portal
Tổng phí sẽ bao gồm phí giao hàng và phí dịch vụ kèm theo
- App Tài xế
Các dịch vụ kèm theo sẽ được hiển thị trên màn hình khi tài xế chấp nhận đơn hàng
Tạo đơn hẹn giờ với nhiều điểm giao
- cURL
- JavaScript
curl --location 'https://partner-apistg.ahamove.com/v3/orders' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
"order_time": 0,
"idle_until": 1664249580,
"path": [
{
"lat": 10.76975346,
"lng": 106.6636615,
"address": "7/28 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh",
"short_address": "Thành Thái, Quận 10",
"name": "Lan",
"mobile": "84944309348",
"remarks": "Đến nơi lấy hàng đọc mã đơn để nhận hàng"
},
{
"lat": 10.76487455,
"lng": 106.6744510,
"address": "104 Trần Nhân Tôn, Phường 2, Quận 10, Hồ Chí Minh",
"name": "Nhanh",
"mobile": "0912345678",
"cod": 70000,
},
{
"address": "402 Lê Văn Sỹ, Phường 14, Quận 3, Hồ Chí Minh",
"name": "Tam",
"mobile": "0986754321"
}
],
"service_id": "SGN-BIKE",
"requests": [],
"payment_method": "BALANCE",
"need_optimize_route": True,
"items": [
{
"_id": "TG",
"num": 1,
"name": "Tủ gỗ nhỏ",
"price": 450000
},
{
"_id": "GDB",
"num": 2,
"name": "Gương để bàn",
"price": 120000
}
]
}'
const myHeaders = new Headers();
myHeaders.append('Content-Type', 'application/json');
myHeaders.append('Authorization', 'Bearer <token>');
const raw = JSON.stringify({
order_time: 0,
idle_until: 1664249580,
path: [
{
lat: 10.76975346,
lng: 106.6636615,
address: '7/28 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh',
name: 'Aha',
mobile: '84944309348',
},
{
lat: 10.76487455,
lng: 106.674451,
address: '104 Trần Nhân Tôn, Phường 2, Quận 10, Hồ Chí Minh',
name: 'Nhan',
mobile: '0912345678',
cod: 70000,
},
{
address: '402 Lê Văn Sỹ, Phường 14, Quận 3, Hồ Chí Minh',
name: 'Tam',
mobile: '0986754321',
},
],
service_id: 'SGN-BIKE',
requests: [],
payment_method: 'BALANCE',
need_optimize_route: True,
items: [
{
_id: 'TG',
num: 1,
name: 'Tủ gỗ nhỏ',
price: 450000,
},
{
_id: 'GDB',
num: 2,
name: 'Gương để bàn',
price: 120000,
},
],
});
const requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow',
};
fetch('https://partner-apistg.ahamove.com/v3/orders', requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
- Kiểm tra trạng thái đơn hàng
Tổng phí = Phí giao hàng + Phí điểm dừng
- App Tài xế
Tài xế ứng cho Người bán/Người gửi 70.000đ và thu của Người nhận tại điểm nhận hàng thứ nhất 70.000đ