Vận chuyển
Mức phí vận chuyển (Shipping Profile Rate)
Quản lý các mức phí (đồng giá, theo giá trị đơn, theo cân nặng) của một biểu phí vận chuyển
Mỗi Shipping Profile có nhiều rate (mức phí / phương thức giao). Một rate tính phí theo một trong ba cách: đồng giá (flat), theo bậc giá trị đơn (tier_price) hoặc theo bậc cân nặng (tier_weight).
Shipping Profile Rate Object
| Trường (Field) | Kiểu (Type) | Mô tả (Description) |
|---|---|---|
id | int | ID rate |
company_id | int | ID công ty |
creator_id | int | ID người tạo |
shipping_profile_id | int | ID profile |
name | string | Tên phương thức (ví dụ "Giao tiêu chuẩn") |
code | string | Mã (duy nhất trong profile) |
description | string | Mô tả |
eta_hours_from | int | Thời gian giao dự kiến từ (giờ) |
eta_hours_to | int | Thời gian giao dự kiến đến (giờ) |
eta_note | string | Ghi chú thời gian giao |
shipping_carrier_id_list | array | Danh sách ID carrier dùng cho rate |
flat | int | Phí đồng giá (VND) |
enable_tier_price | int | Bật tính theo bậc giá trị đơn (0/1) |
enable_tier_weight | int | Bật tính theo bậc cân nặng (0/1) |
tier_price | array | Bậc giá trị đơn: [{ "min", "max", "amount" }] — đơn có giá trị trong [min, max] (max = 0: không giới hạn) thì phí = amount |
tier_weight | array | Bậc cân nặng: [{ "wmin", "wmax", "base", "perkg", "inckg" }] (kg) — phí = base + làm tròn lên(cân nặng − inckg) × perkg |
surcharge | array | Phụ phí |
priority | float | Độ ưu tiên |
status | int | 1 (Bật), 3 (Tắt) |
date_created | int | Thời gian tạo (Unix timestamp) |
date_modified | int | Thời gian sửa đổi (Unix timestamp) |
Không bật được đồng thời enable_tier_price và enable_tier_weight.
Danh sách
GET /v1/shippingprofilerates
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
page | int | Không | Số trang (Mặc định: 1) |
limit | int | Không | Số bản ghi mỗi trang (Mặc định và tối đa: 50) |
shipping_profile_id | int | Không | Lọc theo profile |
status | int | Không | Lọc theo trạng thái |
name | string | Không | Lọc theo tên |
Response: { total, currentpage, limit, items: [Shipping Profile Rate Object] }.
GET /v1/shippingprofilerates/fulldata trả mảng toàn bộ rate đang bật (không phân trang).
Chi tiết
GET /v1/shippingprofilerates/:id
Tạo mới / Cập nhật
POST /v1/shippingprofilerates (HTTP 201) và PUT /v1/shippingprofilerates/:id (HTTP 200)
Quyền:
setting.sale
| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
company_id | int | Có | ID công ty |
creator_id | int | Có | ID người tạo/sửa |
shipping_profile_id | int | Có | ID profile |
name | string | Có | Tên |
code | string | Có | Mã (khi tạo: không trùng trong profile) |
status | int | Có | 1 (Bật), 3 (Tắt) |
flat | int | Không | Phí đồng giá |
enable_tier_price | int | Không | 0/1 |
tier_price | array | Không | Bắt buộc có đủ min, max, amount ở mỗi bậc khi bật |
enable_tier_weight | int | Không | 0/1 |
tier_weight | array | Không | Bắt buộc có đủ wmin, wmax, base, perkg, inckg ở mỗi bậc khi bật |
description, eta_note | string | Không | Mô tả, ghi chú thời gian giao |
eta_hours_from, eta_hours_to | int | Không | Thời gian giao dự kiến (giờ) |
shipping_carrier_id_list | array | Không | Danh sách ID carrier |
surcharge | array | Không | Phụ phí |
priority | float | Không | Độ ưu tiên |
Xóa
DELETE /v1/shippingprofilerates/:id (HTTP 204)
Quyền:
setting.sale
Error Codes
| Mã lỗi | Mô tả |
|---|---|
error_shipping_profile_id_required | Thiếu shipping_profile_id (HTTP 422) |
error_name_required | Thiếu tên (HTTP 422) |
error_code_required | Thiếu mã (HTTP 422) |
error_code_exists | Mã đã tồn tại trong profile (HTTP 422) |
error_status_invalid | status không hợp lệ (HTTP 422) |
error_cannot_enable_both_tier_types | Bật cùng lúc hai kiểu bậc (HTTP 422) |
error_tier_price_invalid_format / error_tier_price_missing_fields | tier_price sai định dạng / thiếu trường (HTTP 422) |
error_tier_weight_invalid_format / error_tier_weight_missing_fields | tier_weight sai định dạng / thiếu trường (HTTP 422) |
error_surcharge_invalid_format | surcharge phải là mảng (HTTP 422) |
error_not_found | Rate không tồn tại hoặc không thuộc công ty của bạn (HTTP 404) |
error_role_not_available | Không có quyền setting.sale (HTTP 403) |