Tính Phí Vận Chuyển (Mini App)
API tính phí vận chuyển dựa trên địa chỉ gửi/nhận, trọng lượng (gram) và giá trị đơn hàng (VND).
Hệ thống lấy "miền" và "vùng" từ bảng tinh_moi để xác định khu vực, ưu tiên giá tốt từ SUPERAI và bảng giá cố định GHTK.
POST https://api.socdo.vn/mini-app/v1/fee-ship
Request Headers
Authorization: Bearer YOUR_TOKEN_SELLER
Content-Type: application/json
Body Parameters
| Tham số |
Loại |
Bắt buộc |
Mô tả |
sender_province |
string |
✓ |
Tên tỉnh/thành nơi gửi (ví dụ: "Thành phố Hà Nội") |
sender_district |
string |
✓ |
Tên quận/huyện nơi gửi (ví dụ: "Nam Từ Liêm") |
receiver_province |
string |
✓ |
Tên tỉnh/thành nơi nhận (ví dụ: "Thành phố Hồ Chí Minh") |
receiver_district |
string |
✓ |
Tên quận/huyện nơi nhận (ví dụ: "Quận 1") |
weight |
integer |
✓ |
Trọng lượng tổng (gram) |
value |
integer |
✓ |
Giá trị đơn hàng (VND) |
Ví dụ Request Body
{
"sender_province": "Thành phố Hà Nội",
"sender_district": "Nam Từ Liêm",
"receiver_province": "Thành phố Hồ Chí Minh",
"receiver_district": "Quận 1",
"weight": 800,
"value": 200000
}
Response thành công (200)
{
"success": true,
"message": "Lấy báo giá vận chuyển thành công",
"data": {
"input": {
"sender_province": "Thành phố Hà Nội",
"sender_district": "Nam Từ Liêm",
"sender_ward": "",
"receiver_province": "Thành phố Hồ Chí Minh",
"receiver_district": "Quận 1",
"receiver_ward": "",
"weight": 800,
"value": 200000
},
"quotes": [
{
"provider": "SUPERAI (SPX Express)",
"carrier_name": "SPX Express",
"carrier_id": 10,
"fee": 25000,
"provider_code": "SUPERAI-10-SPX Express"
},
{
"provider": "GHTK",
"carrier_name": "GHTK",
"carrier_id": 0,
"fee": 27000,
"provider_code": "GHTK"
}
],
"best": {
"provider": "SUPERAI (SPX Express)",
"carrier_name": "SUPERAI (SPX Express)",
"carrier_id": 10,
"fee": 25000,
"provider_code": "SUPERAI-10-SPX Express"
},
"best_simple": {
"fee": 25000,
"provider": "SUPERAI (SPX Express)",
"eta_text": "Dự kiến từ 31/10 - 02/11"
},
"region": {
"sender": { "mien": "mien-bac", "vung": "noi_tinh" },
"receiver": { "mien": "mien-nam", "vung": "noi_tinh" }
}
}
}
Response lỗi (400 - Thiếu thông tin)
{
"success": false,
"message": "Thiếu địa chỉ gửi/nhận (province, district)"
}
Ví dụ JavaScript
async function getShippingFee() {
try {
const body = {
sender_province: 'Thành phố Hà Nội',
sender_district: 'Nam Từ Liêm',
receiver_province: 'Thành phố Hồ Chí Minh',
receiver_district: 'Quận 1',
weight: 800,
value: 200000
};
const tokenSeller = 'YOUR_TOKEN_SELLER';
const res = await fetch('https://api.socdo.vn/mini-app/v1/fee-ship', {
method: 'POST',
headers: {
'Authorization': `Bearer ${tokenSeller}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(body)
});
const json = await res.json();
if (json.success) {
console.log('Best:', json.data.best_simple);
console.log('Quotes:', json.data.quotes);
} else {
console.error('Error:', json.message);
}
} catch (e) {
console.error('Network error:', e);
}
}
getShippingFee();