«
| Khu vực | Cân nặng (kg) | Đơn giá (CNY) | Phí niêm yết (Ngoài khoảng niêm yết sẽ tính phí theo mốc) |
|---|---|---|---|
| Quận Hoàn Kiếm, Thành phố Hà Nội, Việt Nam | Từ 0 - 3 | 3.75 | Có |
| Quận Hoàn Kiếm, Thành phố Hà Nội, Việt Nam | Trên 3 - 5 | 4.65 | Có |
| Quận Hoàn Kiếm, Thành phố Hà Nội, Việt Nam | Trên 5 - 10 | 6.35 | Có |
| Quận Hoàn Kiếm, Thành phố Hà Nội, Việt Nam | Trên 10 - 15 | 11.3 | Có |
| Quận Hoàn Kiếm, Thành phố Hà Nội, Việt Nam | Trên 15 - 20 | 13.9 | Có |
| Quận Hoàn Kiếm, Thành phố Hà Nội, Việt Nam | Trên 20 - 25 | 16.2 | Có |
| Quận Hoàn Kiếm, Thành phố Hà Nội, Việt Nam | Trên 25 - 99999999 | 0.35 | |
| Phường Yên Nghĩa, Quận Hà Đông, Thành phố Hà Nội, Việt Nam | Từ 0 - 3 | 3.75 | Có |
| Phường Yên Nghĩa, Quận Hà Đông, Thành phố Hà Nội, Việt Nam | Trên 3 - 5 | 4.65 | Có |
| Phường Yên Nghĩa, Quận Hà Đông, Thành phố Hà Nội, Việt Nam | Trên 5 - 10 | 6.35 | Có |
| Phường Yên Nghĩa, Quận Hà Đông, Thành phố Hà Nội, Việt Nam | Trên 10 - 15 | 11.3 | Có |
| Phường Yên Nghĩa, Quận Hà Đông, Thành phố Hà Nội, Việt Nam | Trên 15 - 20 | 13.9 | Có |
| Phường Yên Nghĩa, Quận Hà Đông, Thành phố Hà Nội, Việt Nam | Trên 20 - 25 | 16.2 | Có |
| Phường Yên Nghĩa, Quận Hà Đông, Thành phố Hà Nội, Việt Nam | Trên 25 - 99999999 | 0.35 | |
| Quận 1, Thành phố HCM, Việt Nam | Từ 0 - 3 | 3.75 | Có |
| Quận 1, Thành phố HCM, Việt Nam | Trên 3 - 5 | 4.65 | Có |
| Quận 1, Thành phố HCM, Việt Nam | Trên 5 - 10 | 6.35 | Có |
| Quận 1, Thành phố HCM, Việt Nam | Trên 10 - 15 | 11.3 | Có |
| Quận 1, Thành phố HCM, Việt Nam | Trên 15 - 20 | 13.9 | Có |
| Quận 1, Thành phố HCM, Việt Nam | Trên 20 - 25 | 16.2 | Có |
| Quận 1, Thành phố HCM, Việt Nam | Trên 25 - 99999999 | 0.35 |
| addressId | country | province | city | district | ward | default |
|---|---|---|---|---|---|---|
| VN_01 | Việt Nam | Thành phố Hà Nội | Quận Hà Đông | Phường Yên Nghĩa | true |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"title": "Bad Request",
"detail": "Required header 'X-Tenant' is not present."
}| X-Tenant | tetete |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"title": "not_found_connection_config"
}| X-Tenant | m26 |
|---|
{
"skus": [],
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"title": "Constraint Violation"
}| X-Tenant | m26 |
|---|
{
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"title": "Constraint Violation",
"instance": "/api/M26/orders/shipping-fee",
"violations": [
{
"field": "skus",
"message": "must not be empty"
}
]
}| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 1,
"volumetric": null,
"price": <price>,
"quantity": <quantity>
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"type": "about:blank",
"title": "Constraint Violation"
}| price | quantity | |
|---|---|---|
| null | 1 | |
| 10 | null |
| merchantId | productId | skuId | stock | categoryId |
|---|---|---|---|---|
| merchant_01 | product01 | sku01 | 10 | 1900 |
| X-Tenant | m26 |
|---|
{
"skus": <skus>,
"categoryId": <categoryId>,
"totalValue": <totalValue>,
"location": null,
"addressId": "${VN_01}"
}{
"title": "Constraint Violation"
}| categoryId | totalValue | skus | |
|---|---|---|---|
| null | 10 | [{"weight": 1, "volumetric": null, "price": 10, "quantity": 1 }] | |
| "${1900}" | null | [{"weight": 1, "volumetric": null, "price": 10, "quantity": 1 }] | |
| "${1900}" | 10 | null |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 1,
"volumetric": null,
"quantity": 1
}
],
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"type": "about:blank",
"title": "Constraint Violation"
}| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 1,
"volumetric": null,
"price": 10
}
],
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"type": "about:blank",
"title": "Constraint Violation"
}| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": <weight>,
"volumetric": <volumetric>,
"price": <price>,
"quantity": <quantity>
}
],
"categoryId": "N2",
"totalValue": <totalValue>,
"location": null,
"addressId": "${VN_01}"
}{
"title": "<message>"
}| weight | volumetric | price | quantity | totalValue | message | |
|---|---|---|---|---|---|---|
| abc | 100 | 5 | 1 | 5 | Bad Request | |
| 1 | abc | 5 | 1 | 5 | Bad Request | |
| 1 | 100 | abc | 1 | 5 | Bad Request | |
| 1 | 100 | -0.5 | 1 | 5 | Constraint Violation | |
| 1 | 100 | 5 | abc | 5 | Bad Request | |
| 1 | 100 | 5 | -1 | 5 | Constraint Violation | |
| 1 | 100 | 5 | 1 | abc | Bad Request | |
| -1 | 5 | 1 | 5 | Bad Request | ||
| 1 | -100 | 5 | 1 | 5 | Volumetric_invalid | |
| 1 | 100 | 5 | 1 | -5 | total_value_invalid |
| weight | volumetric | price | quantity | totalValue | message | |
|---|---|---|---|---|---|---|
| 1 | 100 | -0.5 | 1 | 5 | Constraint Violation | |
| 1 | 100 | 5 | -1 | 5 | Constraint Violation |
| merchantId | productId | skuId | stock | categoryId |
|---|---|---|---|---|
| merchant_01 | product01 | sku01 | 10 | 1900 |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "no_exist",
"totalValue": 10,
"addressId": "${VN_01}"
}{
"vietnamDomesticShippingFee": 3.75
}| location code | detail | ward | district | province | country |
|---|---|---|---|---|---|
| D_01 | 75 Đinh Tiên Hoàng | Phường Tràng Tiền | Quận Hoàn Kiếm | Thành phố Hà Nội | Việt Nam |
| D_02 | Số 1 Bùi Viện | Phường Phạm Ngũ Lão | Quận 1 | Thành phố Hồ Chí Minh | Việt Nam |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": "0009876758450000",
"addressId": null
}{
"title": "location_invalid"
}| location code | ward | district | province | country |
|---|---|---|---|---|
| L_02 | Phường 01 | Quận 10 | Thành phố Hồ Chí Minh | Việt Nam |
| location code | detail | ward | district | province | country |
|---|---|---|---|---|---|
| D_01 | 75 Đinh Tiên Hoàng | Phường Tràng Tiền | Quận Hoàn Kiếm | Thành phố Hà Nội | Việt Nam |
| D_02 | Số 1 Bùi Viện | Phường Phạm Ngũ Lão | Quận 1 | Thành phố Hồ Chí Minh | Việt Nam |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": "${L_02}",
"addressId": null
}{
"title": "location_invalid"
}| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null
}{
"title": "address_id_not_empty"
}| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": null
}{
"title": "address_id_not_empty"
}| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "00003243243"
}{
"title": "address_not_found"
}| addressId | country | province | city | district | ward | default |
|---|---|---|---|---|---|---|
| VN_01 | Việt Nam | Thành phố Hà Nội | Quận Hà Đông | Phường Yên Nghĩa | true |
| location code | detail | ward | district | province | country |
|---|---|---|---|---|---|
| D_01 | 75 Đinh Tiên Hoàng | Phường Tràng Tiền | Quận Hoàn Kiếm | Thành phố Hà Nội | Việt Nam |
| D_02 | Số 1 Bùi Viện | Phường Phạm Ngũ Lão | Quận 1 | Thành phố Hồ Chí Minh | Việt Nam |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": "000900909",
"addressId": "${VN_01}"
}{
"title": "location_invalid"
}| location code | detail | ward | district | province | country |
|---|---|---|---|---|---|
| D_01 | 75 Đinh Tiên Hoàng | Phường Tràng Tiền | Quận Hoàn Kiếm | Thành phố Hà Nội | Việt Nam |
| D_02 | Số 1 Bùi Viện | Phường Phạm Ngũ Lão | Quận 1 | Thành phố Hồ Chí Minh | Việt Nam |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": "${D_01}",
"addressId": "00007789789000"
}{
"vietnamDomesticShippingFee": 3.75
}| addressId | country | province | city | district | ward | default |
|---|---|---|---|---|---|---|
| TQ_01 | 中国大陆 | 广东省 | 广州市 | 白云区 | 嘉禾街道 | false |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${TQ_01}"
}{
"title": "address_not_viet_nam"
}Trong trường hợp không có token, body có thể không gửi thông tin location và addressId. Hệ thống mặc định ước lượng phí theo khu vực mặc định của dịch vụ.
| location code | detail | ward | district | province | country |
|---|---|---|---|---|---|
| D_01 | 75 Đinh Tiên Hoàng | Phường Tràng Tiền | Quận Hoàn Kiếm | Thành phố Hà Nội | Việt Nam |
| D_02 | Số 1 Bùi Viện | Phường Phạm Ngũ Lão | Quận 1 | Thành phố Hồ Chí Minh | Việt Nam |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10
}{
"vietnamDomesticShippingFee": 3.75
}Hệ thống mặc định ước lượng phí theo khu vực Quận Hoàn Kiếm, thành phố Hà Nội.
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 0.4,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": null
}{
"vietnamDomesticShippingFee": 3.75
}| location code | detail | ward | district | province | country |
|---|---|---|---|---|---|
| D_01 | 75 Đinh Tiên Hoàng | Phường Tràng Tiền | Quận Hoàn Kiếm | Thành phố Hà Nội | Việt Nam |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": <weight>,
"volumetric": <volumetric>,
"price": 10,
"quantity": <quantity>
}
],
"categoryId": "N2",
"totalValue": 10,
"location": "${D_01}",
"addressId": null
}{
"vietnamDomesticShippingFee": <vietnamDomesticShippingFee>
}| weight | volumetric | quantity | vietnamDomesticShippingFee | |
|---|---|---|---|---|
| 1 | null | 1 | 3.75 | |
| 3.01 | 1000 | 25 | 34.05 | |
| null | 10000 | 2 | 3.75 |
| location code | detail | ward | district | province | country |
|---|---|---|---|---|---|
| D_01 | 75 Đinh Tiên Hoàng | Phường Tràng Tiền | Quận Hoàn Kiếm | Thành phố Hà Nội | Việt Nam |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": <weight>,
"volumetric": <volumetric>,
"price": 10,
"quantity": <quantity>
}
],
"categoryId": "N2",
"totalValue": 10,
"location": "${D_01}",
"addressId": "${VN_01}"
}{
"vietnamDomesticShippingFee": <vietnamDomesticShippingFee>
}| weight | volumetric | quantity | vietnamDomesticShippingFee | |
|---|---|---|---|---|
| 1 | null | 1 | 3.75 | |
| 3.01 | 1000 | 25 | 34.05 | |
| null | 10000 | 2 | 3.75 |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 1,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"vietnamDomesticShippingFee": 3.75
}| merchantId | productId | skuId | stock | categoryId |
|---|---|---|---|---|
| merchant_01 | product01 | sku01 | 10 | 1900 |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": 1,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "${1900}",
"location": null,
"addressId": "${VN_01}"
}{
"title": "Constraint Violation"
}| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": null,
"volumetric": null,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"vietnamDomesticShippingFee": null
}| X-Tenant | m26 |
|---|
{
"skus": [
{
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"vietnamDomesticShippingFee": null
}Tổng cân nặng dùng để tính phí = weight * quantity.
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": <weight>,
"volumetric": null,
"price": 10,
"quantity": <quantity>
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"vietnamDomesticShippingFee": <vietnamDomesticShippingFee>
}| weight | quantity | vietnamDomesticShippingFee | |
|---|---|---|---|
| 0.01 | 1 | 3.75 | |
| 0.4 | 2 | 3.75 | |
| 3.5 | 1 | 4.65 | |
| 3.5 | 3 | 11.3 | |
| 6 | 1 | 6.35 | |
| 12 | 2 | 16.2 | |
| 17 | 1 | 13.9 | |
| 22 | 1 | 16.2 | |
| 25.02 | 1 | 16.55 | |
| 26 | 1 | 16.55 | |
| 26 | 2 | 25.65 | |
| 29 | 1 | 17.6 |
trong đó cân nặng quy đổi theo volumetric nhỏ hơn weight, khi đó cân nặng dùng để tính phí = weight * quantity.
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": <weight>,
"volumetric": <volumetric>,
"price": 10,
"quantity": <quantity>
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"vietnamDomesticShippingFee": <vietnamDomesticShippingFee>
}| weight | quantity | volumetric | vietnamDomesticShippingFee | |
|---|---|---|---|---|
| 0.1 | 2 | 100 | 3.75 | |
| 3.2 | 1 | 6000 | 4.65 | |
| 3.2 | 2 | 6000 | 6.35 | |
| 6 | 1 | 25000 | 6.35 | |
| 6 | 3 | 25000 | 13.9 |
Tổng cân nặng dùng để tính phí = V/5000, không phụ thuộc quantity.
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": null,
"volumetric": <volumetric>,
"price": 10,
"quantity": <quantity>
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"vietnamDomesticShippingFee": <vietnamDomesticShippingFee>
}| volumetric | quantity | vietnamDomesticShippingFee | |
|---|---|---|---|
| 50 | 1 | 3.75 | |
| 50 | 2 | 3.75 | |
| 2000 | 2 | 3.75 | |
| 17500 | 1 | 4.65 | |
| 17500 | 2 | 4.65 | |
| 17500 | 3 | 4.65 | |
| 30000 | 1 | 6.35 | |
| 6000 | 1 | 3.75 | |
| 85000 | 1 | 13.9 | |
| 110000 | 1 | 16.2 | |
| 125100 | 1 | 16.55 | |
| 130000 | 1 | 16.55 | |
| 130000 | 2 | 16.55 | |
| 145000 | 1 | 17.6 |
trong đó cân nặng quy đổi theo volumetric lớn hơn weight
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": <weight>,
"volumetric": <volumetric>,
"price": 10,
"quantity": <quantity>
}
],
"categoryId": "N2",
"totalValue": 10,
"location": null,
"addressId": "${VN_01}"
}{
"vietnamDomesticShippingFee": <vietnamDomesticShippingFee>
}| weight | volumetric | quantity | vietnamDomesticShippingFee | |
|---|---|---|---|---|
| 0.1 | 1000 | 1 | 3.75 | |
| 0.1 | 50000 | 10 | 6.35 | |
| 3 | 100000 | 5 | 13.9 | |
| 6 | 31500 | 1 | 6.35 |
| X-Tenant | m26 |
|---|
{
"skus": [
{
"weight": <weight_01>,
"volumetric": <volumetric_01>,
"price": 10,
"quantity": 2
},
{
"weight": <weight_02>,
"price": 10,
"quantity": 1
}
],
"categoryId": "N2",
"totalValue": 30,
"location": null,
"addressId": "${VN_01}"
}{
"vietnamDomesticShippingFee": <vietnamDomesticShippingFee>
}| weight_01 | volumetric_01 | weight_02 | vietnamDomesticShippingFee | |
|---|---|---|---|---|
| 0.1 | null | 1 | 3.75 | |
| 0.1 | null | 100 | 42.8 | |
| 3 | null | 10 | 13.9 | |
| 6 | null | 1 | 11.3 | |
| 0.1 | 1000 | 1 | 3.75 | |
| 0.1 | 1000 | 100 | 42.8 | |
| 3 | 16000 | 10 | 13.9 | |
| 6 | 31500 | 1 | 11.3 |