API Xem thông tin trả về của đơn hàng trước khi tạo
Tự động truyền thông tin đơn hàng sang GHN các thông tin như kích thước, cân nặng, số điện thoại và nhiều thông tin khác. Từ đó sẽ tạo đơn giao nhận.
Lưu ý : Ở API /shiip/public-api/v2/shipping-order/preview cần truyền token api và shopid ở header.
post/get
https://online-gateway.ghn.vn/shiip/public-api/v2/shipping-order/preview
https://dev-online-gateway.ghn.vn/shiip/public-api/v2/shipping-order/preview
curl --location --request POST 'https://dev-online-gateway.ghn.vn/shiip/public-api/v2/shipping-order/preview' \
--header 'Content-Type: application/json' \
--header 'ShopId: 885' \
--header 'Token: 285518-c4bb-11ea-be3a-f636b1deefb9' \
--data-raw '{
"payment_type_id": 2,
"note": "Tintest 123",
"required_note": "KHONGCHOXEMHANG",
"return_phone": "0332190158",
"return_address": "39 NTT",
"return_district_id": null,
"return_ward_code": "",
"client_order_code": "",
"from_name": "TinTest124",
"from_phone": "0987654321",
"from_address": "72 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh, Vietnam",
"from_ward_name": "Phường 14",
"from_district_name": "Quận 10",
"from_province_name": "HCM",
"to_name": "TinTest124",
"to_phone": "0987654321",
"to_address": "72 Thành Thái, Phường 14, Quận 10, Hồ Chí Minh, Vietnam",
"to_ward_name": "Phường 14",
"to_district_name": "Quận 10",
"to_province_name": "HCM",
"cod_amount": 200000,
"content": "Theo New York Times",
"length": 12,
"width": 12,
"height": 12,
"weight": 1200,
"cod_failed_amount": 2000,
"pick_station_id": 1444,
"deliver_station_id": null,
"insurance_value": 10000000,
"service_type_id": 2,
"coupon": null,
"pickup_time": 1692840132,
"pick_shift": [2],
"items": [
{
"name": "Áo Polo",
"code": "Polo123",
"quantity": 1,
"price": 200000,
"length": 12,
"width": 12,
"height": 12,
"weight": 1200,
"category":
{
"level1": "Áo"
}
}]
}'
Cấu trúc Request
Trường dữ liệu | Bắt buộc | Kiểu dữ liệu | Độ rộng dữ liệu | Mô tả |
---|---|---|---|---|
token | String |
Dùng để xác định định danh của tài khoản và dùng cho các trường hợp gọi tới các API. |
||
shop_id | Int |
Mã đơn hàng của GHN trả về cho khách hàng. |
||
from_name | String | 1024 |
Tên người gửi Trường hợp nào nếu không truyền thông tin người gửi thì hệ thống sẽ mặc định lấy thông tin ở ShopID |
|
from_phone | String |
Số điện thoại người gửi. |
||
from_address | String | 1024 |
Địa chỉ người gửi. |
|
from_ward_name | String | |||
from_district_name | String | |||
from_provice_name | String | |||
to_name | String | 1024 |
Tên người nhận hàng. |
|
to_phone | String |
Số điện thoại người nhận hàng. |
||
to_address | String | 1024 |
Địa chỉ Shiper tới giao hàng. |
|
to_ward_name | String | |||
to_district_name | String | |||
return_phone | String |
Số điện thoại trả hàng khi không giao được. |
||
return_address | String | 1024 |
Địa chỉ trả hàng khi không giao được. |
|
return_district_name | String | |||
return_ward_name | String | |||
client_order_code | String | 50 |
Mã đơn hàng riêng của khách hàng. Giá trị mặc định:
|
|
cod_amount | Int |
Tiền thu hộ cho người gửi. Maximum: Giá trị mặc định: |
||
content | String | 2000 |
Nội dung của đơn hàng. |
|
weight | Int |
Khối lượng của đơn hàng (gram). Bắt buộc khi truyền service_type_id = 2 Tối đa: 50.000 gram |
||
length | Int |
Chiều dài của đơn hàng (cm). Bắt buộc khi truyền service_type_id = 2 Tối đa: 200 cm |
||
width | Int |
Chiều rộng của đơn hàng (cm). Bắt buộc khi truyền service_type_id = 2 Tối đa: 200 cm |
||
height | Int |
Chiều cao của đơn hàng (cm). Bắt buộc khi truyền service_type_id = 2 Tối đa: 200 cm |
||
pick_station_id | Int |
Mã bưu cục để gửi hàng tại điểm. Giá trị mặc định: null Giá trị truyền vào > 0 |
||
insurance_value | Int |
Giá trị của đơn hàng ( Trường hợp mất hàng , bể hàng sẽ đền theo giá trị của đơn hàng). Tối đa Giá trị mặc định: |
||
coupon | String |
Mã giảm giá. |
||
service_type_id | Int |
Mã loại dịch vụ: Gọi API lấy gói dịch vụ để lấy mã loại dịch vụ. Mã loại dịch vụ cố định. Trong đó: Hàng nhẹ sử dụng length, width, height và weight Hàng nặng sử dụng items[].length, items[].width, items[].height và items[].weight |
||
payment_type_id | Int |
Mã người thanh toán phí dịch vụ.
|
||
note | String | 5000 |
Người gửi ghi chú cho tài xế. |
|
required_note | String | 500 |
Ghi chú bắt buộc, Bao gồm:
|
|
pick_shift | Array |
Dùng để truyền ca lấy hàng, Sử dụng API Lấy danh sách ca lấy |
||
pickup_time | Int |
Truyền thời gian mong muốn lấy hàng, định dạng |
||
Items | Array |
Thông tin sản phẩm. Bắt buộc truyền items khi sử dụng gói dịch vụ Hàng nặng |
||
items[].name | String |
Tên của sản phẩm. |
||
items[].code | String |
Mã của sản phẩm. |
||
items[].quantity | Int |
Số lượng của sản phẩm. |
||
items[].price | Int |
Giá của sản phẩm. |
||
items[].length | Int |
Chiều dài của sản phẩm. Hàng nặng đi nhiều kiện thì bắt buộc phải truyền |
||
items[].width | Int |
Chiều rộng của sản phẩm. Hàng nặng đi nhiều kiện thì bắt buộc phải truyền |
||
items[].weight | Int |
Đối với trường hợp chọn gói dịch. Hàng nặng đi nhiều kiện thì bắt buộc phải truyền |
||
items[].height | Int |
Chiều cao của sản phẩm. Hàng nặng đi nhiều kiện thì bắt buộc phải truyền |
||
items[].category | Object |
Danh mục sản phẩm được phân chia 3 cấp độ |
||
items[].category.level1 | String |
Danh mục cấp 1 |
||
cod_failed_amount | Int |
Thu thêm tiền khi giao hàng thất bại |
GHN có 2 dịch vụ hàng nhẹ và hàng nặng
- Hàng nhẹ có service_type_id = 2, kích thước/khối lượng tính cước length, width, height và weight
- Hàng nặng có service_type_id = 5, kích thước/khối lượng tính cước lấy trong items (items[].length, items[].width, items[].height và items[].weight)
- Mỗi item là 1 kiện hàng
- GHN tính toán kích thước/khối lượng của Items rồi cập nhật lại kích thước/khối lượng của đơn hàng theo công thức: Max(length), Max(width), Sum(height)
- Với mỗi item, kích thước dài nhất được tính là Dài, kích thước nhỏ nhất được tính là Cao
- Khối lượng quy đổi được tính theo công thức:
- (Length x Width x Height) / 5 ; So sánh khối lượng quy đổi và trọng lượng thực tế, giá trị nào lớn hơn sẽ là khối lượng tính cước.
{
"code": 200,
"message": "Success",
"data":
{
"order_code":"",
"sort_code":"19-60-06",
"trans_type":"truck",
"ward_encode":"",
"district_encode":"",
"fee":
{
"main_service":22000,
"insurance":11000,
"station_do":0,
"station_pu":0,
"return":0,
"r2s":0,
"coupon":0,
"cod_failed_fee":0,
},
"total_fee":"33000"
"expected_delivery_time":"2020-06-03T16:00:00Z"
}
}
Cấu trúc Response
Trường dữ liệu | Mô tả |
---|---|
expected_delivery_time |
Thời gian giao dự kiến. |
fee |
Phí. |
coupon |
Giá trị khuyến mãi. |
insurance |
Phí khai giá hàng hóa. |
main_service |
Phí vận chuyển. |
r2s |
Phí giao lại hàng. |
return |
Phí hoàn hàng. |
station_do |
Phí gửi hàng tại bưu cục. |
station_pu |
Phí lấy hàng tại bưu cục. |
order_code |
Mã đơn hàng. |
sort_code |
Mã phân loại. |
total_fee |
Tổng phí dịch vụ. |
trans_type |
Loại vận chuyển. |
{
"code": 400,
"message": "Sai thông tin Required Note",
"data": null,
"code_message":"USER_ERR_COMMON"
}