Xem thông tin trả về của đơn hàng trước khi tạo

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
X
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
X
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  

Phường/Xã của người gửi hàng.

from_district_name   String  

Quận/Huyện của người gửi hàng.

from_provice_name   String  

Tỉnh của người gửi hàng.

to_name
X
String  1024

Tên người nhận hàng.

to_phone
X
String  

Số điện thoại người nhận hàng.

to_address
X
String  1024

Địa chỉ Shiper tới giao hàng.

to_ward_name
X
String  

Phường/Xã của người nhận hàng.

to_district_name
X
String  

Quận/Huyện của người nhận hàng.

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  

Quận/Huyện của người nhận hàng trả.

return_ward_name   String  

Phường/Xã của người nhận hàng trả.

client_order_code   String  50

Mã đơn hàng riêng của khách hàng.

Giá trị mặc định: null

Lưu ý: Client_order_code thì sẽ lấy lại đơn hàng đã có Client_order_code này

cod_amount   Int  

Tiền thu hộ cho người gửi.

Maximum: 50.000.000

Giá trị mặc định: 0

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 5.000.000

Giá trị mặc định: 0

coupon   String  

Mã giảm giá.

service_type_id
X
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 đó:  2: Hàng nhẹ, 5: Hàng nặng

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
X
Int  

Mã người thanh toán phí dịch vụ.

1: Người bán/Người gửi.

2: Người mua/Người nhận.

note   String  5000

Người gửi ghi chú cho tài xế.

required_note
X
String  500

Ghi chú bắt buộc, Bao gồm: CHOTHUHANG, CHOXEMHANGKHONGTHU, KHONGCHOXEMHANG

CHOTHUHANG nghĩa là Người mua có thể yêu cầu xem và dùng thử hàng hóa

CHOXEMHANGKHONGTHU nghĩa là Người mua được xem hàng nhưng không được dùng thử hàng

KHONGCHOXEMHANG nghĩa là Người mua không được phép xem hàng

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 UnixtimeStamp.

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 length

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 width

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 weight

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 height

items[].category    Object  

Danh mục sản phẩm được phân chia 3 cấp độ level1, level2, level3

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"
}