Nhảy tới nội dung

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

ParameterLoạiYêu cầuMô tả
tokenstringToken của User
pathArrayDanh 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_idsArrayDanh sách dịch vụ hiển thị trên RO
request_idsArrayDanh sách các loại dịch vụ kèm theo được hiển thị theo từng service_id
promo_codestringMã khuyến mãi khả dụng
payment_methodArrayDanh sách các phương thức thanh toán có hỗ trợ
default_payment_methodArrayDanh sách phương thức thanh toán mặc định, có thể cấu hình theo từng service_id
close_buttonbooleanNút đóng chuyển đổi
srcstringNguồn dữ liệu RO
- Domain Staging: https://rostg.ahamove.com
- Domain Production: https://ro.ahamove.com
container_idstringID của khách hàng trên nền tảng tích hợp

IPoint

ParameterLoạiYêu cầuMô tả
addressstringĐịa chỉ điểm lấy hàng, giao hàng
namestringTên người gửi hàng, người nhận hàng
mobilestringSố điện thoại người gửi hàng, người nhận hàng
remarksstringKhôngGhi chú cho các điểm giao hàng
codnumberKhôngSố tiền COD (Cash on delivery), áp dụng cho các điểm giao hàng
tracking_numberstringKhôngMã 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

ParameterLoạiYêu cầuMô tả
paymentstringCác hình thức thanh toán phí giao hàng

DefaultPaymentMethod

ParameterLoạiYêu cầuMô tả
service_idstringDịch vụ cần được cấu hình phương thức thanh toán mặc định
service_methodstringPhương thức thanh toán của dịch vụ tương tứng
public_methodstringPhươ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

    rosdk_upload_file
  • Cho phép khách hàng lọc và tìm kiếm thông tin các điểm giao

    rosdk_ro_grid
  • 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

    rosdk_vrp
  • 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 đồ

    rosdk_routing rosdk_map
  • 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

    rosdk_edit_info
  • 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

    rosdk_requests
  • Khách hàng có thể tạo đơn hẹn giờ

    rosdk_schedule

Đố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