Tính năng tạo đơn giao hàng đa điểm trên RO SDK
Mẫu index
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Ahamove RO SDK</title>
<script>
function init() {
const path = [
{
address: "84 Đường An Dương Vương, Phường 09, Quận 05, Hồ Chí Minh, Việt Nam",
name: "CHỊ LOAN",
mobile: "0909634751",
remarks: "LÔ H "
},
{
address: "351 Đường Phan Xích Long, Phường 01, Quận Phú Nhuận",
name: "CHỊ TÂM ĐAN ",
mobile: "0987235325",
cod: 420000,
tracking_number: "SO_0001",
},
{
address: "83 Đường Số 5, Phường 17, Gò Vấp",
name: "FB PHUC HOANG",
mobile: "0907935292",
cod: 245000,
tracking_number: "SO_0002",
},
{
address: "26 Út Tịch, Phường 04, Quận Tân Bình",
name: "CHỊ XUÂN",
mobile: "0908158017",
tracking_number: "SO_0003",
},
{
address: "290 Nguyễn Thị Nhỏ, Phường 06, Quận 11",
name: "CHỊ TÂM ĐAN ",
mobile: "0987235325",
cod: 420000,
tracking_number: "SO_0004",
},
{
address: "16 Tân Khai, Phường 4, Tân Bình, Ho Chi Minh City",
short_address: "16 Tân Khai",
name: "FB QUANG",
mobile: "0907935292",
cod: 245000,
tracking_number: "SO_0005",
}
];
const token = "<TOKEN>"; //token của người dùng
const src = "https://rostg.ahamove.com"; //domain staging
const container_id = "kiotvietId"; //custom container
let ahamove = WebRoSdk;
ahamove.initIframe({
container_id,
close_button: true, //nút đóng chuyển đổi, mặc định là false
token,
src,
path,
service_ids: ["BIKE", "TRUCK"],
request_ids: ["TIP", "COD", "BULKY"],
promo_code: "AHAKM",
payment_method: [
{
payment: "cash",
},
{
payment: "cash_by_recipient",
},
{
payment: "balance",
},
],
default_payment_method: {
service_id: "SGN-BIKE",
service_method: "BALANCE",
public_method: "BALANCE",
},
});
ahamove.addEventListener("SUBMIT_ORDER_LIST", ({ data }) => {
console.log("on SUBMIT_ORDER_LIST", data);
setTimeout(() => {
// ahamove.destroy()
// Truyền giá trị container_id nếu sử dụng container_id
ahamove.destroy(container_id);
}, 3000);
});
}
</script>
</head>
<body style="background-color: grey">
<button onclick="init()">Init RO SDK</button>
<div class="kiotviet-screen" style="max-width: 80%; margin: auto">
<div id="kiotvietId"></div>
</div>
<script src="https://vncdn.ahamove.com/public/web-ro-sdk/index.0.1.2.js"></script>
</body>
</html>
Request Payload
Request payload
export interface SDKProps {
token: string;
path: Array<IPoint>;
service_ids: Array<string>;
request_ids: Array<string>;
promo_code: string;
payment_method: Array<PaymentMethod>;
default_payment_method: DefaultPaymentMethod;
close_button?: boolean;
src?: string;
container_id?: string;
}
export interface IPoint {
address: string;
name: string;
mobile: string;
remarks?: string;
cod?: number;
tracking_number?: string;
}
export interface PaymentMethod {
payment: string;
}
export interface DefaultPaymentMethod {
service_id: string | null;
service_method: string | null;
public_method: string | null;
}
function addEventListener, initIframe
SDKProps
Parameter | Loại | Yêu cầu | Mô tả |
---|---|---|---|
token | string | Có | Token của User |
path | Array | Có | Danh sách thông tin điểm lấy hàng (path[0] ) và danh sách các điểm giao hàng (path[x] , x>0) |
service_ids | Array | Có | Danh sách dịch vụ hiển thị trên RO |
request_ids | Array | Có | Danh sách các loại dịch vụ kèm theo được hiển thị theo từng service_id |
promo_code | string | Có | Mã khuyến mãi khả dụng |
payment_method | Array | Có | Danh sách các phương thức thanh toán có hỗ trợ |
default_payment_method | Array | Có | Danh sách phương thức thanh toán mặc định, có thể cấu hình theo từng service_id |
close_button | boolean | Có | Nút đóng chuyển đổi |
src | string | Có | Nguồn dữ liệu RO - Domain Staging: https://rostg.ahamove.com - Domain Production: https://ro.ahamove.com |
container_id | string | Có | ID của khách hàng trên nền tảng tích hợp |
IPoint
Parameter | Loại | Yêu cầu | Mô tả |
---|---|---|---|
address | string | Có | Địa chỉ điểm lấy hàng, giao hàng |
name | string | Có | Tên người gửi hàng, người nhận hàng |
mobile | string | Có | Số điện thoại người gửi hàng, người nhận hàng |
remarks | string | Không | Ghi chú cho các điểm giao hàng |
cod | number | Không | Số tiền COD (Cash on delivery), áp dụng cho các điểm giao hàng |
tracking_number | string | Không | Mã theo dõi của gói hàng (Mã đơn hàng nội bộ của Đối tác, không bắt buộc nhưng Ahamove đề xuất nên có mã này trong path[x] ) |
PaymentMethod
Parameter | Loại | Yêu cầu | Mô tả |
---|---|---|---|
payment | string | Có | Các hình thức thanh toán phí giao hàng |
DefaultPaymentMethod
Parameter | Loại | Yêu cầu | Mô tả |
---|---|---|---|
service_id | string | Có | Dịch vụ cần được cấu hình phương thức thanh toán mặc định |
service_method | string | Có | Phương thức thanh toán của dịch vụ tương tứng |
public_method | string | Có | Phương thức thanh toán công khai |
Các thông tin cần lưu ý
- Thông tin điểm lấy hàng sẽ là thông tin của path đầu tiên (
path[0]
) - Thông tin của các điểm giao hàng sẽ là thông tin từ path thứ 2 trở đi (
path[x]
, x>0) - Token của người dùng khi thao tác tối ưu và tạo đơn trên RO SDK được lấy từ API Đăng ký tài khoản
- Danh sách
service_id
có thể lấy từ API Lấy danh sách các dịch vụ và chọn lọc các mã dịch vụ có hỗ trợ tạo đơn nhiều điểm giao (max_stop_points
>1) - Danh sách các loại
request_id
có thể lấy từ Danh sách các yêu cầu đặc biệt - Mã khuyến mãi
promo_code
cho phép khách hàng khi sử dụng RO SDK trên hệ thống của Đối tác có thể input vào các mã được Ahamove cung cấp - Kết quả của Ahamove trả về khi Đối tác Xác nhận tạo đơn trên RO SDK là danh sách các trường thông tin và dữ liệu của từng đơn hàng để Đối tác kết nối các data đó vào API tạo đơn hàng của Ahamove
Chức năng chính
Tối ưu tuyến đường đơn đa điểm
-
Cho phép khách hàng thao tác tải lên các điểm giao hàng thông qua file excel hoặc nhập thủ công
-
Cho phép khách hàng lọc và tìm kiếm thông tin các điểm giao
-
Dùng các Thuật toán tối ưu để tối ưu các tuyến đường dựa trên quãng đuờng, khối luợng,... nhằm giảm tối thiểu chi phí, rút ngắn khoảng cách giao hàng
-
Cho phép khách hàng chọn số điểm giao và khoảng cách tối đa của 1 đơn hàng giao đa điểm khi được tối ưu
Tạo đơn giao hàng đa điểm
-
Khách hàng có thể xem trực quan được các tuyến đường đã được tối ưu trên bản đồ
-
Khách hàng có thể chỉnh sửa thông tin các điểm giao trước khi xác nhận tạo đơn
-
Khách hàng có thể thay đổi lại loại dịch vụ, các yêu cầu đặc biệt và phương thức thanh toán của đơn hàng
-
Khách hàng có thể tạo đơn hẹn giờ
Đối tác có thể tham khảo thêm cách sử dụng RO SDK tại tính năng Tối ưu đơn hàng để hướng dẫn cho các Khách hàng khi sử dụng giao hàng đa điểm trêm hệ thống của Đối tác