Nhảy tới nội dung

3. API đăng đơn

Đối tác gửi danh sách đơn hàng sang hệ thống của Giaohangtietkiem thông qua APIs. Sau khi các đơn hàng được lưu thành công vào hệ thống của GHTK, hệ thống sẽ trả về danh sách đơn hàng tương ứng chứa các thông tin liên quan của mỗi đơn hàng.

Đường dẫn

POST /services/shipment/order

Headers

Token: {API_TOKEN}
X-Client-Source: {PARTNER_CODE}
POST /services/shipment/order/?ver=1.5 HTTP/1.1
Token: APITokenSample-ca441e70288cB0515F310742
X-Client-Source: S308157
Content-Type: application/json
{
"products": [{
"name": "bút",
"weight": 0.1,
"quantity": 1,
"product_code": 1241
}, {
"name": "tẩy",
"weight": 0.2,
"quantity": 1,
"product_code": 1254
}],
"order": {
"id": "a4",
"pick_name": "HCM-nội thành",
"pick_address": "590 CMT8 P.11",
"pick_province": "TP. Hồ Chí Minh",
"pick_district": "Quận 3",
"pick_ward": "Phường 1",
"pick_tel": "0911222333",
"tel": "0911222333",
"name": "GHTK - HCM - Noi Thanh",
"address": "123 nguyễn chí thanh",
"province": "TP. Hồ Chí Minh",
"district": "Quận 1",
"ward": "Phường Bến Nghé",
"hamlet": "Khác",
"is_freeship": "1",
"pick_date": "2016-09-30",
"pick_money": 47000,
"note": "Khối lượng tính cước tối đa: 1.00 kg",
"value": 3000000,
"transport": "fly",
"pick_option": "cod", // Đơn hàng xfast yêu cầu bắt buộc pick_option là COD
"gam_solutions": [
{ "solution_id": 12365478 },
{ "solution_id": 12365479 },
{ "solution_id": 12365470 }
]
}
}

Các tham số

Tham sốBắt buộcMô tả
orderyesObject - thông tin đơn hàng gửi sang GHTK
productsyesArray - Danh sách các sản phẩm, mô tả tham số của từng sản phẩm xem trong bảng tiếp theo
order.idyesString - mã đơn hàng thuộc hệ thống của đối tác
Thông tin điểm lấy hàng
order.pick_nameyesString - Tên người liên hệ lấy hàng hóa
order.pick_moneyyesInteger - Số tiền CoD. Nếu bằng 0 thì không thu tiền CoD. Tính theo VNĐ
order.pick_address_idnoString - ID địa điểm lấy hàng của shop trong trang quản lý đơn hàng dành cho khách hàng. Nếu trường này khác rỗng sẽ được ưu tiên sử dụng
order.pick_addressyesString - Địa chỉ ngắn gọn để lấy nhận hàng hóa. Ví dụ: nhà số 5, tổ 3, ngách 11, ngõ 45
order.pick_provinceyesString - Tên tỉnh/thành phố nơi lấy hàng hóa
order.pick_districtyesString - Tên quận/huyện nơi lấy hàng hóa
order.pick_wardnoString - Tên phường/xã nơi lấy hàng hóa
order.pick_streetnoString - Tên đường/phố nơi lấy hàng hóa
order.pick_telyesString - Số điện thoại liên hệ nơi lấy hàng hóa
order.pick_ext_telnoString - Số máy lẻ của số điện thoại chính tại nơi lấy hàng
order.pick_emailnoString - Email liên hệ nơi lấy hàng hóa
Thông tin điểm giao hàng
order.nameyesString - tên người nhận hàng
order.addressyesString - Địa chỉ chi tiết của người nhận hàng, ví dụ: Chung cư CT1, ngõ 58, đường Trần Bình
order.provinceyesString - Tên tỉnh/thành phố của người nhận hàng hóa
order.districtyesString - Tên quận/huyện của người nhận hàng hóa
order.wardyesString - Tên phường/xã của người nhận hàng hóa
order.streetyes if no order.hamletString - Tên đường/phố của người nhận hàng hóa (Bắt buộc khi không có thôn/ấp/xóm/tổ/...)
order.hamletyes if no order.streetString - Tên thôn/ấp/xóm/tổ/... của người nhận hàng hóa. Nếu không có, vui lòng điền "Khác" (Bắt buộc khi không có đường/phố)
order.telyesString - Số điện thoại người nhận hàng hóa
order.ext_telnoString - Số máy lẻ của số điện thoại chính của người nhận hàng
order.notenoString - Ghi chú đơn hàng. Vd: Khối lượng tính cước tối đa: 1.00 kgTừ 24/2/2020 ghi chú tối đa cho phép là 120 kí tự
order.emailnoString - Email người nhận hàng hóa
Thông tin điểm trả hàng
order.use_return_addressnoInteger - mặc định là 0. Field này có thể truyền vào một trong hai giá trị 0 hoặc 1. Bằng 0 nghĩa là địa chỉ trả hàng giống địa chỉ lấy hàng nên các field địa chỉ trả hàng không cần truyền qua. Bằng 1 nghĩa là sử dụng địa chỉ trả hàng khác địa chỉ lấy hàng và cần truyền vào giá trị cho các field tiếp theo
order.return_nameyesString - tên người nhận hàng trả
order.return_addressyesString - Địa chỉ chi tiết của người nhận hàng, ví dụ: nhà A, ngõ 100
order.return_provinceyesString - Tên tỉnh/thành phố của người nhận hàng hóa
order.return_districtyesString - Tên quận/huyện của người nhận hàng hóa
order.return_wardnoString - Tên phường/xã của người nhận hàng hóa
order.return_streetnoString - Tên đường/phố của người nhận hàng hóa
order.return_telyesString - Số điện thoại người nhận hàng hóa
order.return_emailnoString - Email người nhận hàng hóa
Các thông tin thêm
order.is_freeshipnoInteger - Thông tin người trả phí ship. Nếu bằng 1 thì shop trả ship, shipper sẽ chỉ thu người nhận hàng số tiền bằng pick_money, nếu bằng 0 thì người nhận trả ship, shipper sẽ thu tiền người nhận số tiền bằng pick_money + phí ship của đơn hàng, giá trị mặc định bằng 0
order.weight_optionnoString - nhận một trong hai giá trị gramkilogram, mặc định là kilogram, đơn vị khối lượng của các sản phẩm có trong gói hàng
order.total_weightnoDouble - Tổng khối lượng của đơn hàng, mặc định sẽ tính theo products.weight nếu không truyền giá trị này.
order.pick_work_shiftnoInteger - Ca lấy hàng mong muốn. Nếu bằng 1 là lấy buổi sáng, 2 là lấy buổi chiều. GHTK sẽ tính toán theo từng gói dịch vụ nếu không truyền field này
order.deliver_work_shiftnoInteger - Ca giao hàng mong muốn. Nếu bằng 1 là giao buổi sáng, 2 là giao buổi chiều. GHTK sẽ tính toán theo từng gói dịch vụ nếu không truyền field này
order.label_idnoString - Mã vận đơn được cấp trước cho đối tác - mặc định không sử dụng được field này, cấu hình riêng cho từng gói dịch vụ
order.pick_datenoString YYYY/MM/DD - Ngày lấy hàng mong muốn. GHTK sẽ tính toán theo từng gói dịch vụ nếu không truyền field này
order.deliver_datenoString YYYY/MM/DD - Ngày giao hàng mong muốn. GHTK sẽ tính toán theo từng gói dịch vụ nếu không truyền field này
order.valueyesInterger (VNĐ) - Giá trị đóng khai giá, là căn cứ để tính phí khai giá và bồi thường khi có sự cố.
order.opmnoInterger (VNĐ) - 1. đơn chỉ thu tiền, 0. default
order.pick_optionnoString - Nhận một trong hai giá trị codpost, mặc định là cod, biểu thị lấy hàng bởi COD hoặc Shop sẽ gửi tại bưu cục
order.actual_transfer_methodnoString - Trường này lưu đường vận chuyển của đơn hàng, mặc định là đường bay (fly). Nếu đơn hàng được chuyển bằng đường bộ (road), bạn sẽ nhận được thông báo của GHTK.
order.transportnoString - Phương thức vâng chuyển road ( bộ ) , fly (bay). Nếu phương thức vận chuyển không hợp lệ thì GHTK sẽ tự động nhảy về PTVC mặc định
order.tagsnoArray - Gắn nhãn cho đơn hàng, truyền lên mảng, mô tả nhãn đơn hàng trong bảng tiếp theo
order.sub_tagsnoArray - Chi tiết nhãn đơn hàng, truyền lên mảng (Bắt buộc gửi lên khi gán nhãn hàng cây cối cho đơn hàng)
order.total_boxnoInteger - Tổng số lượng kiện hàng trong đơn
order.gam_solutionsnoArray - Danh sách ID giải pháp Gam

Tham số products

Tham sốBắt buộcMô tả
nameyesString - Tên hàng hóa
pricenoInteger - Giá trị hàng hóa
weightyesDouble - Khối lượng hàng hóa Tính theo đơn vị KG
quantitynoInteger - Số lượng hàng hóa
product_codenoString - Mã sản phẩm được lấy từ api lấy danh sách thông tin sản phẩm
heightnoDouble - Chiều cao của sản phẩm (đơn vị: cm)
widthnoDouble - Chiều rộng của sản phẩm (đơn vị: cm)
lengthnoDouble - Chiều dài của sản phẩm (đơn vị: cm)

Mô tả nhãn đơn hàng tags

Nhãn đơn hàngMô tảChi tiết
2Giá trị cao/Đặc biệtNhững mặt hàng có giá trị hàng hoá > 3,000,000đ (với shop B2C) và > 1,000,000đ (với shop C2C). Các hàng hoá giá trị cao sẽ tính thêm phí khai giá là khoản khai giá cho các rủi ro trong quá trình vận chuyển hoặc lưu kho. Phí khai giá bằng 0.5% giá trị hàng hoá. GHTK sẽ bồi hoàn 100% giá trị khai giá khi mất hàng (tối đa 20,000,000 VNĐ) nếu có giấy tờ chứng minh nguồn gốc và giá trị hàng hoá (hoá đơn nhập hàng, hoá đơn mua hàng hợp lệ và khớp với thông tin sản phẩm trên hệ thống GHTK,...). Trong trường hợp shop không thể chứng minh nguồn gốc và giá trị hàng hoá, bồi thường tối đa 04 lần cước phí vận chuyển.
10Cho xem hàngKhách hàng được xem sản phẩm trước khi nhận hàng
13Gọi shop khi khách không nhận hàngNhân viên GHTK sẽ liên hệ với shop nếu gặp vấn đề như: sai thông tin người nhận, không liên lạc được, KH từ chối nhận hàng
17Giao hàng 1 phần chọn sản phẩmHỗ trợ khách chỉ nhận và trả tiền 1 phần hàng. Phần còn lại sẽ được trả về shop với mức phí nội tỉnh = 5.000đ/đơn, liên tỉnh = 50% phí ship
18Giao hàng 1 phần đổi trả hàngHỗ trợ giao 1 sản phẩm đến cho KH và mang phần hàng còn lại trả về shop. Phí ship của đơn hàng sẽ do shop và KH thỏa thuận (mặc định bằng phí ship). Phần hàng mang về cho shop được xem như đơn hàng trả với mức phí nội tỉnh = 5.000đ/đơn, liên tỉnh = 50% phí ship.
19Không giao được thu phíHỗ trợ KH không nhận sản phẩm nhưng thu một phần phí cho shop. Phí cần thu mặc định bằng phí ship, shop có thể sửa giá trị tiền cần thu theo mong muốn của mình. Phần hàng mang về cho shop được xem như đơn hàng trả với mức phí nội tỉnh = 5.000đ/đơn, liên tỉnh = 50% phí ship, Lưu ý: Đối tác cần truyền thêm trường not_delivered_fee với giá trị 0 < not_delivered_fee <= 20,000,000đ
62Giao hàng 1 phần thu hồi chứng từHỗ trợ giao sản phẩm đến cho khách hàng và mang chứng từ (hóa đơn, giấy tờ) kèm theo phần hàng còn lại về cho shop.

Mô tả nhãn đơn hàng sub_tags

Chi tiết nhãn đơn hàngMô tả
1Hạt giống
2Cây non
3Cây có bầu
4Cây có chậu dễ vỡ
5Các loại cây khác

Phản hồi

Kết quả trả về khi đăng đơn thành công:

{
"success": true,
"message": "",
"order": {
"partner_id": "123123a",
"label": "S1.A1.2001297581",
"area": "1",
"fee": "30400",
"insurance_fee": "15000",
"tracking_id": 2001297581,
"estimated_pick_time": "Sáng 2017-07-01",
"estimated_deliver_time": "Chiều 2017-07-01",
"products": [],
"status_id": 2
}
}

Trường hợp có lỗi

{
"success": false,
"message": "Chưa có thông tin order"
}
warning

Quy trình của GHTK không cho phép một mã đơn được đẩy lại nếu trước đấy đã đăng thành công trên hệ thống GHTK Trường hợp lỗi order.id đã có trên hệ thống GHTK, API sẽ trả về lỗi, kèm các thông tin

  • partner_id: mã đơn hàng của đối tác
  • ghtk_label: nhãn đơn của GHTK
  • created: thời gian đơn hàng được tạo
  • status: trạng thái hiện tại của đơn hàng
{
"success": false,
"message": "Mã đơn hàng của bạn đã tồn tại trên hệ thống GHTK",
"error": {
"code" : "ORDER_ID_EXIST",
"partner_id" : "a4", // id trong request đẩy sang của bạn
"ghtk_label": "S1.A1.1737345", // nhãn đơn GHTK, tương ứng với id của bạn
"created": "2016-11-02T12:18:39+07:00",
"status": 5 // trạng thái đơn hàng hiện tại trên hệ thống GHTK, tra bảng mã trạng thái đơn trong phần webhook
}
}

Lưu ý

thông tin

Lưu ý: Đơn vị khối lượng GHTK sử dụng cho từng sản phẩm là KG

warning

Lưu ý: Phí ship ban đầu sẽ được tính theo tổng khối lượng các sản phẩm có trong đơn hàng

warning

Lưu ý:

  • Nếu đơn hàng được set is_freeship = 1, COD sẽ chỉ thu người nhận hàng số tiền bằng pick_money
  • Nếu giá trị được set bằng 0, COD sẽ thu tiền người nhận số tiền bằng pick_money + phí ship của đơn hàng, giá trị mặc định bằng 0
  • Các trường trong response trả về có thể bị ẩn đi