Vận chuyển
Tính phí vận chuyển theo biểu phí
Tính phí ship cho đơn theo biểu phí (shipping profile / rate) shop đã cấu hình
Endpoint
POST /v1/shippingprofiles/calculate
Tính phí vận chuyển theo biểu phí và mức phí đang bật của công ty (không gọi sang hãng; để lấy cước thật của hãng dùng Báo giá cước hãng). Không ghi dữ liệu.
Request Body
| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
company_id | int | Có | ID công ty |
weight | int | Không | Tổng khối lượng (gram) |
region_id | int | Không | ID tỉnh/thành giao đến |
sub_region_id | int | Không | ID quận/huyện giao đến |
price_sell | int | Không | Giá trị đơn (VND) |
address | string | Không | Địa chỉ (chỉ trả lại, chưa dùng để tính) |
distance_meters | int | Không | Khoảng cách (chỉ trả lại, chưa dùng để tính) |
Workflow & Logic
- Chọn các profile đang bật khớp khu vực theo
region_mode(1mọi nơi,3chỉ khu vực trong danh sách,5trừ khu vực trong danh sách). - Với mỗi rate đang bật của các profile đó: giá khởi đầu là
flat; nếu bậttier_pricethì phải khớp một bậc theoprice_sell; nếu bậttier_weightthì phải khớp một bậc theo cân nặng (kg). Rate không khớp bậc bị bỏ. - Các rate hợp lệ được sắp xếp theo phí tăng dần; rate rẻ nhất được chọn.
Response Schema
HTTP 200 - JSON Object
| Trường | Kiểu | Mô tả |
|---|---|---|
total_price | int | price_sell đã gửi |
total_weight_grams | int | weight đã gửi |
distance_meters | int | distance_meters đã gửi |
address | string | address đã gửi |
region_id, sub_region_id | int | Khu vực đã gửi |
price_shipping_original | int | Phí của rate được chọn (trước phụ phí) |
price_shipping | int | Phí ship được chọn |
selected_rate_id | int | ID rate được chọn (0 nếu không có) |
selected_shipping_profile_id | int | ID profile của rate được chọn |
rates | array | Các rate hợp lệ, phí tăng dần (xem bên dưới) |
note | string | Ghi chú |
errors | array | Lỗi (nếu có) |
date_created | int | Thời điểm tính (Unix timestamp) |
Mỗi phần tử rates[]: shipping_profile_id, shipping_profile_name, id, name, code, description, eta_hours_from, eta_hours_to, eta_note, shipping_carrier_id_list, shipping_price_original, shipping_price, shipping_price_base, shipping_price_surcharge, surcharge_details.
Phụ phí
Phụ phí (surcharge) hiện chưa được cộng vào phí ship: shipping_price_surcharge luôn bằng 0.
Ví dụ
{
"company_id": 1001,
"weight": 1200,
"region_id": 1,
"sub_region_id": 9,
"price_sell": 450000
}