SlideShare a Scribd company logo
1 of 31
Download to read offline
Tài liệu tích hợp dịch vụ thanh toán đảm bảo
Lịch sử cập nhật
Phiên bản Ngày cập nhật Người cập nhật Nội dung cập nhật
1.0 02-06-2020 Nguyễn Thành Đạt Khởi tạo tài liệu
1.1 02-07-2020 Trần Minh Chung
Bổ sung hàm Tạo kho và Tra cứu
thông tin kho
1.2 09-11-2020 Nguyễn Thành Đạt
Bổ sung thông tin về Coordinates
trong Drop và Pickup các hàm Tra
cứu phí vận chuyển và Tạo vận đơn
2.0 30-11-2020 Trần Minh Chung Cập nhật tài liệu mới. Bổ sung hàm
Tìm kiếm dịch vụ
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
2
Danh mục
1. Định nghĩa và chữ viết tắt .............................................................................................3
2. Mục đích........................................................................................................................3
3. Yêu cầu ..........................................................................................................................3
4. Tổng quan về API...........................................................................................................4
4.1 Thông tin kết nối............................................................................................................... 4
4.2 Thông tin request tới BAOKIM ......................................................................................... 4
4.3 Thông tin BAOKIM response về PARTNER ........................................................................ 4
5. Chi tiết các hàm .............................................................................................................5
5.1 Hàm tra cứu tỉnh thành / quận huyện.............................................................................. 5
5.2 Tra cứu phí vận chuyển .................................................................................................... 6
5.3 Hàm tạo vận đơn............................................................................................................ 10
5.4 Tra cứu thông tin vận đơn.............................................................................................. 15
5.5 Huỷ vận đơn................................................................................................................... 17
5.6 Tra cứu thông tin dịch vụ................................................................................................ 18
5.7 Thông báo trạng thái vận đơn ........................................................................................ 20
5.8 Hàm tạo kho cho Partner................................................................................................ 22
5.9 Tra cứu thông tin kho..................................................................................................... 24
5.10 Tìm kiếm dịch vụ phù hợp dựa theo địa chỉ. .................................................................. 26
6. Bảng mã lỗi..................................................................................................................29
7. Bảng mã đơn vị vận chuyển ........................................................................................30
8. Bảng mã trạng thái vận đơn .......................................................................................30
9. Bảng mã danh mục ship ..............................................................................................31
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
3
1. Định nghĩa và chữ viết tắt
Định nghĩa Mô tả
BAOKIM Công ty cổ phần Thương mại điện tử Bảo Kim
USER Người dùng cuối.
PARTNER Đối tác của BAOKIM
SHIP Đơn vị vận chuyển
2. Mục đích
Đây là tài liệu mô tả chi tiết API dành cho PARTNER dùng để kết nối tới BAOKIM
trong việc tạo đơn ship, huỷ đơn ship, xem phí ship dự kiến cũng như theo dõi trạng
thái đơn ship.
3. Yêu cầu
 Kiến trúc: API chi hộ mà BAOKIM triển khai sẽ được xây dựng trên kiến trúc
RESTFUL, dữ liệu truyền nhận giữa hai bên sẽ là JSON.
 Chữ ký số: Để đảm bảo dữ liệu truyền nhận giữa hai bên bảo mật và xác
thực, tất cả dữ liệu sẽ được mã hóa và ký số nhằm rằng buộc về dữ liệu.
 IP: BAOKIM sẽ giới hạn truy cập vào API bằng một hoặc nhiều IP. Do vậy
trước khi kết nối STB sẽ gửi danh sách IP sang BAOKIM để mở truy cập.
 SSL/HTTPS: BAOKIM sẽ sử dụng kênh truyền SSL/HTTPS, SSL sẽ tạo một
kết nối an toàn giữa PARTNER và BAOKIM, tất cả dữ liệu truyền nhận sẽ
được mã hóa.
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
4
4. Tổng quan về API
4.1 Thông tin kết nối
Môi trường
Phương
thức
URL
Sandbox POST
Golive POST
4.2 Thông tin request tới BAOKIM
Thành phần Tham số Mô tả
Header
Authorization Basic base64_encode(UserName:Password)
Content-Type application/json
Signature
PARTNER sẽ ký vào dữ liệu Data trong Body với
thuật toán sha1WithRSA và sử dụng mã hóa
base64.
PartnerCode Mã đối tác, BAOKIM sẽ cung cấp khi kết nối
Body Data
Thông tin trao đổi (Xem chi tiết tại mục 5. Chi tiết
các hàm)
 UserName: BAOKIM sẽ cung cấp khi thực hiện kết nối.
 Password: BAOKIM sẽ cung cấp khi thực hiện kết nối.
4.3 Thông tin BAOKIM response về PARTNER
Thành phần Tham số Mô tả
Header
Content-Type application/json
Signature
BAOKIM sẽ ký vào dữ liệu Data trong Body với
thuật toán sha1WithRSA và sử dụng mã hóa
base64.
Body Data
Thông tin trao đổi (Xem chi tiết tại mục 5. Chi tiết
các hàm)
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
5
5. Chi tiết các hàm
5.1 Hàm tra cứu tỉnh thành / quận huyện
5.1.1 Quy trình
 PARTNER gửi yêu cầu tra cứu tỉnh thành / quận huyện cho BAOKIM
 BAOKIM xử lý và trả về kết quả cho PARTNER, mặc định sẽ trả về tất cả dữ
liệu
5.1.2 Tham số gửi lên
# Tham số
Kiểu dữ
liệu
Điều kiện Mô tả
1 RequestId String(50) Bắt buộc
Id duy nhất ứng với mỗi Request
từ PARTNER sang BAOKIM. Đề
xuất format:
PARTNER+YYYYMMDDHHIISS+
UniqueId
2 RequestTime String(19) Bắt buộc
Thời gian gửi Request. Format:
YYYY-MM-DD HH:II:SS
3 Operation String(4) Bắt buộc Cố định: 8000
4 Id Integer Tuỳ chọn Mã tỉnh / thành phố / Quận / Huyện
5.1.3 Dữ liệu BAOKIM trả về cho PARTNER
STT Tham số Kiểu dữ liệu Mô tả
1 Cities JSONArray Danh sách tỉnh thành / quận huyện
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 Cities
[
{
"id": 1,
"name": "Thành phố Hà Nội",
"parent_id": 0,
"level": 1
},
{
"id": 2,
"name": "Tỉnh Hà Giang",
"parent_id": 0,
"level": 1
}
]
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
6
5.2 Tra cứu phí vận chuyển
5.2.1 Quy trình
 PARTNER gửi yêu cầu tra cứu phí vận chuyển BAOKIM
 BAOKIM xử lý và trả về kết quả cho PARTNER
5.2.2 Tham số gửi lên
# Tham số
Kiểu dữ
liệu
Điều kiện Mô tả
1 RequestId String(50) Bắt buộc
Id duy nhất ứng với mỗi Request
từ PARTNER sang BAOKIM. Đề
xuất format:
PARTNERCODE+YYYYMMDDHH
IISS+UniqueId
2 RequestTime String(19) Bắt buộc
Thời gian gửi Request. Format:
YYYY-MM-DD HH:II:SS
3 Operation String(4) Bắt buộc Cố định: 8001
4 ServiceDetail String(50) Bắt buộc
Mã code dịch vụ chi tiết lấy từ API
lấy dịch vụ
5 Pickup JSON Bắt buộc Thông tin nơi lấy hàng, bao gồm
Type Integer Bắt buộc
Phương thức lấy hàng:
1: Mặc định lấy tại địa chỉ
2: Giao tại bưu cục
Address String(200) Bắt buộc Địa chỉ lấy hàng
Warehouse String(20) Tuỳ chọn
Mã kho. Sẽ ưu tiên lấy địa chỉ theo
mã kho này. Trường hợp truyền
sai mã kho sẽ báo lỗi.
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
7
WardId Integer Bắt buộc Phường / Xã
DistrictId Integer Bắt buộc Quận / huyện
ProvinceId Integer Bắt buộc Tỉnh / thành phố
Phone String(10) Bắt buộc Số điện thoại người gửi
Name String(50) Bắt buộc Tên người gửi
Note String(200) Tuỳ chọn
Ghi chú của người bán, có thể để
trống
Lat String(50) Tuỳ chọn
Toạ độ sử dụng với dịch vụ giao
ngay. Nếu KH không truyền BK sẽ
tự lấy thông tin.
Long Tuỳ chọn Tuỳ chọn
Toạ độ sử dụng với dịch vụ giao
ngay. Nếu KH không truyền BK sẽ
tự lấy thông tin.
6 Drop
JSONArra
y
Bắt buộc Thông tin giao hàng, bao gồm:
Info JSON Bắt buộc Thông tin người nhận, bao gồm:
Address String(200) Bắt buộc Địa chỉ trả hàng
Hamlet String(50) Tuỳ chọn Tên thôn / ấp / xóm / tổ.
WardId Integer Bắt buộc Phường / xã
DistrictId Integer Bắt buộc Quận / huyện
ProvinceId Integer Bắt buộc Tỉnh / thành phố
Phone String(10) Bắt buộc Số điện thoại người gửi
Name String(50) Bắt buộc Tên người nhận
Note String(200) Tuỳ chọn
Ghi chú của người mua, có thể để
trống
Products
JSONArra
y
Tuỳ chọn Danh sách sản phẩm, bao gồm:
Name String(50) Bắt buộc Tên sản phẩm
Quantity Integer Bắt buộc Số lượng
TotalPrice Integer Tuỳ chọn Tổng số tiền
Type String(50) Tuỳ chọn Phân loại hàng
Package JSON Bắt buộc Thông tin gói hàng, bao gồm:
Weight Integer Bắt buộc Cân nặng gói hàng tính theo gram
Lenght Integer Tuỳ chọn
Chiều dài gói hàng (tính theo cm)
Bắt buộc truyền nếu không truyền
Weight
Width Integer Tuỳ chọn
Chiều rộng gói hàng (tính theo cm)
Bắt buộc truyền nếu không truyền
Weight
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
8
Height Integer Tuỳ chọn
Chiều cao gói hàng (tính theo cm)
Bắt buộc truyền nếu không truyền
Weight
Insurance Integer Tuỳ chọn Số tiền hàng hoá cần bảo hiểm
Collection JSON Bắt buộc Thông tin thu hộ, bao gồm
Amount Integer Bắt buộc
Số tiền thu hộ, không thu hộ thì
truyền 0
Coordinates JSON Tuỳ chọn Thông tin về toạ độ nhận hàng
Lat String(50) Tuỳ chọn
Toạ độ sử dụng với dịch vụ giao
ngay. Nếu KH không truyền BK sẽ
tự lấy thông tin.
Long String(50) Tuỳ chọn
Toạ độ sử dụng với dịch vụ giao
ngay. Nếu KH không truyền BK sẽ
tự lấy thông tin.
Ví dụ dữ liệu mẫu
STT Tham số Dữ liệu
1 RequestId PARTNERCODE2020041217000000003
2 RequestTime 2020-04-12 18:00:05
3 Operation 8002
4 ServiceDetail INSTANT2H
5 Pickup
{
"Type" : 1,
"Address" : "Số 102 Thái Thịnh",
"Warehouse" : "ABC12345678",
"WardId" : 1297,
"DistrictId" : 106,
"ProvinceId" : 1,
"Phone" : "0978083494",
"Name" : "Nguyễn Thành Đạt",
"Note" : "Không có gì"
}
6 Drop
[
{
"Info":
{
"Address":" HN ",
"Hamlet":" Tổ 7 ",
"WardId":1075,
"DistrictId":101,
"ProvinceId":1,
"Name":"Nguyễn Thành Đạt",
"Phone":"0912345678",
"Note":"123"
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
9
},
"Products":[{
"Name":"NA@",
"Quantity":1,
"TotalPrice":1222,
"Type":1
}
],
"Package":{
"Weight":3000,
"Insurrance":3000000,
"IsCheck":0
},
"Collection":{
"Amount":100000
}
},
{
"Info":{
"Address":"HN",
"Hamlet":" Khác ",
"WardId":1,
"DistrictId":2,
"ProvinceId":3,
"Phone":"123",
"Name":"123",
"Note":"123"
},
"Products":{
"Name":"NA",
"Quantity":1,
"TotalPrice":1222,
"Type":1
},
"Package":{
"Weight":3000,
"Insurrance":3000000
},
"Collection":{
"Type":1,
"Amount":100000
}
}
]
5.2.3 Dữ liệu BAOKIM trả về cho PARTNER
STT Tham số Kiểu dữ liệu Mô tả
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
10
1 ResponseCode Int(3)
Mã lỗi của BAOKIM (Xem chi tiết
tại mục 6. Bảng mã lỗi)
2 ResponseMessage String(200)
Thông báo mã lỗi của BAOKIM
(Xem chi tiết tại mục 6. Bảng mã
lỗi)
3 FeeList JSONArray
Danh sách các đơn vị vận chuyển
và phí dự tính
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 ResponseCode 200
2 ResponseMessage Success
3 FeeList
[
{
"TotalFee": 9500,
"ShipFee": 3500,
"InsuranceFee": 0,
"CodFee": 0,
"ServiceName": "Giao ngay 2h",
"ShipService": "INSTANT2H"
}
]
5.3 Hàm tạo vận đơn
5.3.1 Quy trình
 PARTNER sẽ gửi thông tin đơn hàng cần ship vào hệ thống BAOKIM
 BAOKIM sẽ xử lý và trả về kết quả cho PARTNER
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
11
5.3.2 Tham số gửi lên
# Tham số
Kiểu dữ
liệu
Điều kiện Mô tả
1 RequestId String(50) Bắt buộc
Id duy nhất ứng với mỗi Request
từ PARTNER sang BAOKIM. Đề
xuất format:
PARTNERCODE+YYYYMMDDHH
IISS+UniqueId
2 RequestTime String(19) Bắt buộc
Thời gian gửi Request. Format:
YYYY-MM-DD HH:II:SS
3 Operation String(4) Bắt buộc Cố định: 8002
4 PartnerShipId String(50) Bắt buộc
Mã vận đơn duy nhất trên hệ
thống PARTNER. Đề xuất format:
PARTNERCODE + UniqueId
5 ServiceDetail String(50) Bắt buộc
Loại hình ship. Tìm kiếm trong
hàm tra cứu dịch vụ ship
6 ChargeFeeFrom Integer(2) Tuỳ chọn
Thu phí từ ai
1: Người bán
2: Người mua
Mặc định 1.
7 Pickup JSON Bắt buộc Thông tin nơi lấy hàng, bao gồm
Type Integer Bắt buộc
Phương thức lấy hàng:
1: Mặc định lấy tại địa chỉ
2: Giao tại bưu cục
Address
String(20
0)
Bắt buộc Địa chỉ lấy hàng
Warehouse String(20) Tuỳ chọn
Mã kho. Sẽ ưu tiên lấy địa chỉ theo
mã kho này. Trường hợp truyền
sai mã kho sẽ báo lỗi.
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
12
WardId Integer Bắt buộc Phường / Xã
DistrictId Integer Bắt buộc Quận / huyện
ProvinceId Integer Bắt buộc Tỉnh / thành phố
Phone String(10) Bắt buộc Số điện thoại người gửi
Name String(50) Bắt buộc Tên người gửi
Note
String(20
0)
Tuỳ chọn
Ghi chú của người bán, có thể để
trống
Lat String(50) Tuỳ chọn
Toạ độ sử dụng với dịch vụ giao
ngay. Nếu KH không truyền BK sẽ
tự lấy thông tin.
Long Tuỳ chọn Tuỳ chọn
Toạ độ sử dụng với dịch vụ giao
ngay. Nếu KH không truyền BK sẽ
tự lấy thông tin.
8 Drop
JSONArr
ay
Bắt buộc Thông tin giao hàng, bao gồm:
Info JSON Bắt buộc Thông tin người nhận, bao gồm:
Address
String(20
0)
Bắt buộc Địa chỉ trả hàng
Hamlet String(50) Tuỳ chọn Tên thôn / ấp / xóm / tổ.
WardId Integer Bắt buộc Phường / xã
DistrictId Integer Bắt buộc Quận / huyện
ProvinceId Integer Bắt buộc Tỉnh / thành phố
Phone String(10) Bắt buộc Số điện thoại người gửi
Name String(50) Bắt buộc Tên người nhận
Note
String(20
0)
Tuỳ chọn
Ghi chú của người mua, có thể để
trống
Products
JSONArr
ay
Tuỳ chọn Danh sách sản phẩm, bao gồm:
Name String(50) Bắt buộc Tên sản phẩm
Quantity Integer Bắt buộc Số lượng
TotalPrice Integer Tuỳ chọn Tổng số tiền
Type String(50) Tuỳ chọn Phân loại hàng
Package JSON Bắt buộc Thông tin gói hàng, bao gồm:
Weight Integer Bắt buộc Cân nặng gói hàng tính theo gram
Lenght Integer Tuỳ chọn
Chiều dài gói hàng (tính theo cm)
Bắt buộc truyền nếu không truyền
Weight
Width Integer Tuỳ chọn Chiều rộng gói hàng (tính theo cm)
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
13
Bắt buộc truyền nếu không truyền
Weight
Height Integer Tuỳ chọn
Chiều cao gói hàng (tính theo cm)
Bắt buộc truyền nếu không truyền
Weight
Insurance Integer Tuỳ chọn Số tiền hàng hoá cần bảo hiểm
Collection JSON Bắt buộc Thông tin thu hộ, bao gồm
Amount Integer Bắt buộc
Số tiền thu hộ, không thu hộ thì
truyền 0
Coordinates JSON Tuỳ chọn Thông tin về toạ độ nhận hàng
Lat String(50) Tuỳ chọn
Toạ độ sử dụng với dịch vụ giao
ngay. Nếu KH không truyền BK sẽ
tự lấy thông tin.
Long String(50) Tuỳ chọn
Toạ độ sử dụng với dịch vụ giao
ngay. Nếu KH không truyền BK sẽ
tự lấy thông tin.
Ví dụ dữ liệu mẫu
S
TT
Tham số Dữ liệu
1 RequestId PARTNERCODE2020041217000000003
2
RequestTi
me
2020-04-12 18:00:05
3 Operation 8002
4
PartnerShi
pId
PARTNERCODE0000000002
5
ServiceDe
tail
INSTANT2H
6
ChargeFe
eFrom
1
7 Pickup
{
"Type" : 1,
"Address" : "Số 102 Thái Thịnh",
"Warehouse" : "ABC12345678",
"WardId" : 1297,
"DistrictId" : 106,
"ProvinceId" : 1,
"Phone" : "0978083494",
"Name" : "Nguyễn Thành Đạt",
"Note" : "Không có gì"
}
8 Drop
[
{
"Info": {
"Address":"Số 152 Thuỵ Khuê, Tây Hồ, Hà Nội",
"Hamlet":" ",
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
14
"WardId":1231,
"DistrictId":105,
"ProvinceId":1,
"Name":"Nguyễn Thành Đạt",
"Phone":"0922345678",
"Note":"Giao hàng một phần @@"
},
"Products":[
{
"Name":"Smart Tivi Samsung 55 inch 4K UHD UA55
RU7400KXXV - Hàng chính hãng",
"Quantity":1,
"TotalPrice":1232,
"Type":1
}
],
"Package":{
"Weight":3000,
"Height":0,
"Width":0,
"Length":0,
"Insurance":5000000
},
"Collection":{
"Amount":3000000
}
}
]
5.3.3 Dữ liệu BAOKIM trả về cho PARTNER
STT Tham số Kiểu dữ liệu Mô tả
1 ResponseCode Int(3)
Mã lỗi của BAOKIM (Xem chi tiết
tại mục 6. Bảng mã lỗi)
2 ResponseMessage String(200)
Thông báo mã lỗi của BAOKIM
(Xem chi tiết tại mục 6. Bảng mã
lỗi)
3 BkShipId String(50)
Mã vận đơn duy nhất trên hệ
thống BAOKIM
4 BkStatus Integer
Trạng thái đơn trên hệ thống
BAOKIM. Xem tại mục 8.Bảng mã
trạng thái vận đơn
5 Fee JSON Các loại phí
TotalFee Integer Số tiền phí vận chuyển
CodFee Integer Số tiền phí COD
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
15
InsuranceFee Integer
Số tiền phí bảo hiểm với hàng hoá
có giá trị cao
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 ResponseCode 200
2 ResponseMessage Success
3 BkShipId BKSHIPCODE0000000001
4 BkStatus 1
5 Fee
{
"TotalFee":40000,
"CodFee":14000,
"InsuranceFee":11000
}
5.3.4 Xử lý timeout
5.4 Tra cứu thông tin vận đơn
5.4.1 Quy trình
 PARTNER gửi thông tin vận đơn cần tra cứu
 BAOKIM sẽ kiểm tra dữ liệu và trả về kết quả
5.4.2 Tham số gửi lên
# Tham số
Kiểu dữ
liệu
Điều kiện Mô tả
1 RequestId String(50) Bắt buộc
Id duy nhất ứng với mỗi Request
từ PARTNER sang BAOKIM. Đề
xuất format:
PARTNERCODE+YYYYMMDDHH
IISS+UniqueId
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
16
2 RequestTime String(19) Bắt buộc
Thời gian gửi Request. Format:
YYYY-MM-DD HH:II:SS
3 Operation String(4) Bắt buộc Cố định: 8003
4 PartnerShipId String(50) Bắt buộc
Mã vận đơn duy nhất trên hệ
thống PARTNER mà PARTNER
gửi khi gọi hàm Tạo vận đơn
Ví dụ dữ liệu mẫu
STT Tham số Dữ liệu
1 RequestId PARTNER2020041217000000005
2 RequestTime 2020-04-12 19:00:05
3 Operation 8003
4 PartnerShipId PNSHIPCODE00N0000001
5.4.3 Dữ liệu BAOKIM trả về cho PARTNER
STT Tham số Kiểu dữ liệu Mô tả
1 ResponseCode Int(3)
Mã lỗi của BAOKIM (Xem chi tiết
tại mục 6. Bảng mã lỗi)
2 ResponseMessage String(200)
Thông báo mã lỗi của BAOKIM
(Xem chi tiết tại mục 6. Bảng mã
lỗi)
3 BkShipId Int(3)
Mã giao vận đơn duy nhất trên hệ
thống BAOKIM mà PARTNER
nhận được khi gọi hàm Tạo vận
đơn
4 BkStatus String(50)
Trạng thái đơn trên hệ thống
BAOKIM. Xem tại mục 8.Bảng mã
trạng thái vận đơn
5 Logs JSONArray Lịch sử vận đơn
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 ResponseCode 200
2 ResponseMessage Success
3 BkShipId BKSHIPCODE0000000001
4 BkStatus 2
5 Logs
{
"ResponseCode": 200,
"ResponseMessage": "Success",
"BkShipId": "BKS5F0E9EC622224AQ",
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
17
"BkStatus": 10, // Trạng thái đơn
"Logs": [
{
"Status": 10,
"Time": "2020-07-15 17:30:39",
"Note": "Đã đối soát",
"DropPoint": [
{
"DropStatus": "10", // Trạng thái điểm giao
hàng
"DropTime": "2020-07-
15T10:30:39.000000Z",
"DropNote": "Đã đối soát",
"Address": "Số 116 Ngọc Thuỵ, Long
Biên, Hà Nội",
"Phone": "0912345678",
"Name": "Nguyễn Thành Đạt",
"Remark": "Giao hàng một phần",
"Cod": 50000
}
]
}
]
}
5.5 Huỷ vận đơn
5.5.1 Quy trình
 Khi PARTNER có nhu cầu huỷ vận đơn thì PARTNER sẽ gửi thông tin vận
đơn cần huỷ cho BAOKIM
 BAOKIM sẽ kiểm tra thông tin, xử lý và trả về kết quả
5.5.2 Tham số gửi lên
# Tham số
Kiểu dữ
liệu
Điều kiện Mô tả
1 RequestId String(50) Bắt buộc
Id duy nhất ứng với mỗi Request
từ PARTNER sang BAOKIM. Đề
xuất format:
PARTNERCODE+YYYYMMDDHH
IISS+UniqueId
2 RequestTime String(19) Bắt buộc
Thời gian gửi Request. Format:
YYYY-MM-DD HH:II:SS
3 Operation String(4) Bắt buộc Cố định: 8004
4 BkShipId String(50) Bắt buộc
Mã giao vận đơn duy nhất trên hệ
thống BAOKIM mà PARTNER
nhận được khi gọi hàm Tạo vận
đơn
5 Note String(200) Bắt buộc Lý do huỷ
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
18
Ví dụ dữ liệu mẫu
# Tham số Dữ liệu
1 RequestId PARTNER2020041217000000005
2 RequestTime 2020-04-12 19:00:05
3 Operation 8004
4 BkShipId BKSHIPCODE0000000001
5 Note Khách không lấy nữa
5.5.3 Dữ liệu BAOKIM trả về cho PARTNER
STT Tham số Kiểu dữ liệu Mô tả
1 ResponseCode Int(3)
Mã lỗi của BAOKIM (Xem chi tiết
tại mục 6. Bảng mã lỗi)
2 ResponseMessage String(200)
Thông báo mã lỗi của BAOKIM
(Xem chi tiết tại mục 6. Bảng mã
lỗi)
3 BkShipId Int(3)
Mã giao vận đơn duy nhất trên hệ
thống BAOKIM mà PARTNER
nhận được khi gọi hàm Tạo vận
đơn
4 BkStatus String(50)
Trạng thái đơn trên hệ thống
BAOKIM. Xem tại mục 8.Bảng mã
trạng thái vận đơn
5 CanceledAt String(19)
Thời gian huỷ. Định dạng:
YYYY-MM-DD HH:II:SS
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 ResponseCode 200
2 ResponseMessage Success
3 BkShipId BKSHIPCODE0000000001
4 BkStatus 6
5 CanceledAt 2020-06-04 12:00:00
5.6 Tra cứu thông tin dịch vụ
5.6.1 Quy trình
 PARTNER gửi yêu cầu tra cứu thông tin dịch vụ tới BAOKIM.
 BAOKIM kiểm tra và trả về kết quả
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
19
5.6.2 Tham số gửi lên
# Tham số
Kiểu dữ
liệu
Điều kiện Mô tả
1 RequestId String(50) Bắt buộc
Id duy nhất ứng với mỗi Request
từ PARTNER sang BAOKIM. Đề
xuất format:
PARTNERCODE+YYYYMMDDHH
IISS+UniqueId
2 RequestTime String(19) Bắt buộc
Thời gian gửi Request. Format:
YYYY-MM-DD HH:II:SS
3 Operation String(4) Bắt buộc Cố định: 8005
4 ShipCategory String(50) Tuỳ chọn
Loại hình ship. Xem bảng 9.Bảng
mã danh mục ship
5 ShipUnit String(200) Tuỳ chọn
Mã đơn vị vận chuyển. Xem mục
7. Bảng mã đơn vị vận chuyển
Ví dụ dữ liệu mẫu
# Tham số Dữ liệu
1 RequestId PARTNER2020041217000000005
2 RequestTime 2020-04-12 19:00:05
3 Operation 8005
4 ShipCategory
5 ShipUnit
5.6.3 Dữ liệu BAOKIM trả về cho PARTNER
STT Tham số Kiểu dữ liệu Mô tả
1 ResponseCode Int(3)
Mã lỗi của BAOKIM (Xem chi tiết
tại mục 6. Bảng mã lỗi)
2 ResponseMessage String(200)
Thông báo mã lỗi của BAOKIM
(Xem chi tiết tại mục 6. Bảng mã
lỗi)
3 Services JsonArray Mã các dịch vụ của BK
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 ResponseCode 200
2 ResponseMessage Success
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
20
3 Services
[
{
"ShipService": "AHAHNDG",
"ShipCategory": "NOITINH",
"ShipUnit": "AHAMOVE",
"ServiceExtra": []
},
{
"ShipService": "AHAHNGG",
"ShipCategory": "NOITINH",
"ShipUnit": "AHAMOVE",
"ServiceExtra": [
{
"Code": "RETURN"
},
{
"Code": "H2H"
}
]
}
]
5.7 Thông báo trạng thái vận đơn
5.7.1 Quy trình
 Khi đơn vị vận chuyển cập nhật trạng thái vận đơn, BAOKIM sẽ gửi một thông
báo tới hệ thống của PARTNER
5.7.2 Tham số BAOKIM gửi cho PARTNER
# Tham số
Kiểu dữ
liệu
Điều kiện Mô tả
1 RequestId String(50) Bắt buộc
Id duy nhất ứng với mỗi Request
từ BAOKIM sang PARTNER.
2 RequestTime String(19) Bắt buộc
Thời gian gửi Request. Format:
YYYY-MM-DD HH:II:SS
3 BkShipId String(50) Bắt buộc
Mã giao vận đơn duy nhất trên hệ
thống BAOKIM mà PARTNER
nhận được khi gọi hàm Tạo vận
đơn
4 BkStatus Integer Bắt buộc
Trạng thái đơn trên hệ thống
BAOKIM. Xem tại mục 8.Bảng mã
trạng thái vận đơn
5 UpdatedAt String(19) Bắt buộc
Thời gian cập nhật trạng thái trên
hệ thống BAOKIM. Định dạng:
YYYY-MM-DD HH:II:SS
6 Note String(200) Bắt buộc Lý do cập nhật
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
21
7
TotalEstimateF
ee
Integer Bắt buộc
Tổng số tiền cước vận chuyển dự
tính khi tạo đơn
8 TotalRealFee Integer Bắt buộc
Tổng số tiền cước vận chuyển
thực tế
9 DropPoint JsonArray Bắt buộc
Danh sách trạng thái tại từng điểm
giao hàng
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 RequestId BKUNIQUEID0001
2 RequestTime 2020-06-04 10:59:50
3 BkShipId BKSHIPCODE0000000001
4 BkStatus 6
5 UpdatedAt 2020-06-04 11:00:00
6 Note Người bán huỷ đơn
7 TotalEstimateFee 16500
8 TotalRealFee 20000
9 DropPoint
{
"RequestId":"BK5F0FBE1854C4CC1VES",
"RequestTime":"2020-07-16 09:40:24",
"BkShipId":"BKS5F0E9EC622224AQ",
"BkStatus":"10",
"UpdatedAt":"2020-07-16 01:46:15",
"Note":"Đã đối soát",
"DropPoint":[
{
"DropStatus":"10",
"DropTime":"2020-07-16T01:46:15.000000Z",
"DropNote":"Đã đối soát",
"Address":"Số 116 Ngọc Thuỵ, Long Biên, Hà Nội",
"Phone":"0912345678",
"Name":"Nguyễn Thành Đạt",
"Remark":"Giao hàng một phần",
"Cod":50000
}
]
}
5.7.3 Dữ liệu PARTNER trả về cho BAOKIM
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
22
STT Tham số Kiểu dữ liệu Mô tả
1 ResponseCode Int(3)
Trả lại 1 trong 2 trạng thái:
200 – Ghi nhận thành công
11 – Ghi nhận không thành công
2 ResponseMessage String(200)
Thông báo mã lỗi của BAOKIM
(Xem chi tiết tại mục 6. Bảng mã
lỗi)
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 ResponseCode 200
2 ResponseMessage Success
5.8 Hàm tạo kho cho Partner
5.8.1 Quy trình
Partner gửi thông tin về kho cho hệ thống Bao Kim
5.8.2 Tham số gửi lên
# Tham số
Kiểu dữ
liệu
Điều kiện Mô tả
1 RequestId String(50) Bắt buộc
Id duy nhất ứng với mỗi Request
từ PARTNER sang BAOKIM. Đề
xuất format:
PARTNERCODE+YYYYMMDDHH
IISS+UniqueId
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
23
2 RequestTime String(19) Bắt buộc
Thời gian gửi Request. Format:
YYYY-MM-DD HH:II:SS
3 Operation String(4) Bắt buộc Cố định: 8006
4 Warehouses
JSON
ARRAY
Bắt buộc Thông tin các kho cần tạo
ProvinceId Integer Bắt buộc Mã Tỉnh/ Thành phố
DistrictId Integer Bắt buộc Mã Quận/ Huyện
WardId Integer Bắt buộc Mã Phường/Xã
Address String(50) Bắt buộc
Địa chỉ kho. Cấu trúc: Số nhà , Tên
đường
Manager String(50) Bắt buộc Tên quản lý kho
PhoneNumber String(50) Bắt buộc Số điện thoại kho
Email String(50) Bắt buộc Email kho
Ví dụ dữ liệu mẫu
STT Tham số Dữ liệu
1 RequestId PARTNER2020041217000000005
2 RequestTime 2020-04-12 19:00:05
3 Operation 8006
4 Warehouses
[
{
"Address": "102 Thai Thinh ",
"ProvinceId": 1,
"DistrictId": 106,
"WardId" : 1297,
"Manager": "Nguyễn Văn Minh",
"PhoneNumber": "0369867856",
"Email": "chungtm@vatgia.com"
}
]
5.8.3 Dữ liệu BAOKIM trả về cho PARTNER
STT Tham số Kiểu dữ liệu Mô tả
1 ResponseCode Int(3)
Mã lỗi của BAOKIM (Xem chi tiết
tại mục 6. Bảng mã lỗi)
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
24
2 ResponseMessage String(200)
Thông báo mã lỗi của BAOKIM
(Xem chi tiết tại mục 6. Bảng mã
lỗi)
3 Warehouses JSON Array Thông tin kho tạo thành công
WarehouseCode String(10) Mã code của kho
Address String(200) Địa chỉ của kho
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 ResponseCode 200
2 ResponseMessage Success
3 Warehouse
[
{
"WarehouseCode": "TIRC887AR7",
"Address": "102 Thai Thinh, Ha Noi, Viet Nam"
}
]
5.9 Tra cứu thông tin kho
5.9.1 Quy trình
 PARTNER gửi yêu cầu tra cứu thông tin kho cho BAOKIM
 BAOKIM xử lý và trả về kết quả cho PARTNER
5.9.2 Tham số gửi lên
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
25
# Tham số
Kiểu dữ
liệu
Điều
kiện
Mô tả
1 RequestId String(50) Bắt buộc
Id duy nhất ứng với mỗi Request
từ PARTNER sang BAOKIM. Đề
xuất format:
PARTNERCODE+YYYYMMDDHH
IISS+UniqueId
2 RequestTime String(19) Bắt buộc
Thời gian gửi Request. Format:
YYYY-MM-DD HH:II:SS
3 Operation String(4) Bắt buộc Cố định: 8007
4 WarehouseCode String(10)
Tùy
chọn
Mã kho duy nhất trên hệ thống
BAOKIM mà PARTNER nhận
được khi gọi hàm Tạo kho, gửi lên
khi muốn tra cứu riêng thông tin
của kho.
Ví dụ dữ liệu mẫu
STT Tham số Dữ liệu
1 RequestId AEWY123468D09
2 RequestTime 2020-08-05 08:25:17
3 Operation 8007
4 WarehouseCode TIRC887AR7
5.9.3 Dữ liệu BAOKIM trả về cho Partner
STT Tham số Kiểu dữ liệu Mô tả
1 ResponseCode Int(3)
Mã lỗi của BAOKIM (Xem chi tiết
tại mục 6. Bảng mã lỗi)
2 ResponseMessage String(200)
Thông báo mã lỗi của BAOKIM
(Xem chi tiết tại mục 6. Bảng mã
lỗi)
3 Warehouses JsonArray
Thông tin của các kho mà Partner
muốn tra cứu
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 ResponseCode 200
2 ResponseMessage Success
3 Warehouses
{
"PartnerCode": "TMCHUNG",
"WarehouseCode": "TIRC887AR7",
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
26
"Address": "102 Thai Thinh, Ha Noi, Viet Nam",
"Manager": "Nguyễn Văn Minh",
"PhoneNumber": "0369867856",
"Email": "chungtm@vatgia.com",
"Lat": "21.0083234",
"Lon": "105.8204872"
}
5.10 Tìm kiếm dịch vụ phù hợp dựa theo địa chỉ.
5.10.1 Quy trình.
Partner gửi thông tin địa chỉ điểm gửi hàng và địa chỉ điểm nhận hàng cho BAOKIM
5.10.2 Tham số gửi lên
# Tham số
Kiểu dữ
liệu
Điều kiện Mô tả
1 RequestId String(50) Bắt buộc
Id duy nhất ứng với mỗi Request
từ PARTNER sang BAOKIM. Đề
xuất format:
PARTNERCODE+YYYYMMDDHH
IISS+UniqueId
2 RequestTime String(19) Bắt buộc
Thời gian gửi Request. Format:
YYYY-MM-DD HH:II:SS
3 Operation String(4) Bắt buộc Cố định: 8008
6 Pickup JSON Bắt buộc Thông tin nơi lấy hàng, bao gồm
Address String(200) Bắt buộc Địa chỉ lấy hàng
Warehouse String(20) Tuỳ chọn
Mã kho. Sẽ ưu tiên lấy địa chỉ theo
mã kho này. Trường hợp truyền
sai mã kho sẽ báo lỗi.
WardId Integer Bắt buộc Phường / Xã
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
27
DistrictId Integer Bắt buộc Quận / huyện
ProvinceId Integer Bắt buộc Tỉnh / thành phố
7 Drop
JSONArra
y
Bắt buộc Thông tin giao hàng, bao gồm:
Info JSON Bắt buộc Thông tin người nhận, bao gồm:
Address String(200) Bắt buộc Địa chỉ trả hàng
Hamlet String(50) Tuỳ chọn Tên thôn / ấp / xóm / tổ.
WardId Integer Bắt buộc Phường / xã
DistrictId Integer Bắt buộc Quận / huyện
ProvinceId Integer Bắt buộc Tỉnh / thành phố
Ví dụ dữ liệu mẫu
STT Tham số Dữ liệu
1 RequestId PARTNER2020041217000000005
2 RequestTime 2020-11-30 19:00:05
3 Operation 8008
4 Pickup
{
"Warehouse" : "AVEDS124DS",
"Address" : "Số 116 Ngọc Thuỵ, Long Biên, Hà Nội",
"WardId" : 1297,
"DistrictId" : 106,
"ProvinceId" : 1
}
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
28
5 Drop
[
{
"Info": {
"Address":"Số 152 Thuỵ Khuê, Tây Hồ, Hà Nội",
"Hamlet":" ",
"WardId":1231,
"DistrictId":105,
"ProvinceId":1
}
}
]
5.10.3 Dữ liệu BAOKIM trả về cho PARTNER
STT Tham số Kiểu dữ liệu Mô tả
1 ResponseCode Int(3)
Mã lỗi của BAOKIM (Xem chi tiết
tại mục 6. Bảng mã lỗi)
2 ResponseMessage String(200)
Thông báo mã lỗi của BAOKIM
(Xem chi tiết tại mục 6. Bảng mã
lỗi)
3
ResponseData JSON Dữ liệu trả về
ServiceList JSON Array
Mảng danh sách các dịch vụ phù
hợp
ServiceCode
String(200) Mã code dịch vụ cha
ServiceDetailCode
String(200)
Mã code dịch vụ chi tiết dùng để
tính phí vận chuyển và đặt đơn
ServiceDetailName
String(200) Tên của dịch vụ chi tiết
Ví dụ dữ liệu mẫu
STT Tham số Mô tả
1 ResponseCode 200
2 ResponseMessage Success
3
ResponseData
{
"ServiceList": [
[
{
"ServiceCode": "NOITINH",
"ServiceDetailCode": "INSTANT2H",
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
29
"ServiceDetailName": "Giao ngay 2h"
},
{
"ServiceCode": "NOITINH",
"ServiceDetailCode": "INSTANT30P",
"ServiceDetailName": "Giao ngay 30p"
},
{
"ServiceCode": "NOITINH",
"ServiceDetailCode": "STANDARD1",
"ServiceDetailName": "Ship thường"
}
]
]
}
6. Bảng mã lỗi
ResponseCode ResponseMessage
200 Thành công
99 Pending
11 Thất bại
101 Lỗi hệ thống BAOKIM
102 Lỗi xác thực basic auth
103 Lỗi xác thực PartnerCode
104 Lỗi xác thực chữ ký
201 Lỗi validate: RequestId không hợp lệ
202 Lỗi validate: RequestTime không hợp lệ
203 Lỗi validate: Operation không hợp lệ
204 Lỗi validate: ProvinceId / DistrictId không hợp lệ
205 Lỗi validate: ShipService không hợp lệ
206 Lỗi validate: Weight không hợp lệ
207 Lỗi validate: Address không hợp lệ
208 Lỗi validate: PartnerShipId không hợp lệ
209 Lỗi validate: ShipUnit Không hợp lệ
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
30
210 Lỗi validate: ShipCategory không hợp lệ
211 Lỗi validate: ServiceExtra không hợp lệ
212 Lỗi validate: Pickup không hợp lệ
213 Lỗi validate: Drop không hợp lệ
216 Lỗi validate: BkShipId không hợp lệ
217 Lỗi validate: Note không hợp lệ
218 Lỗi validate: ChargeFeeFrom không hợp lệ
219 Lỗi validate: Warehouse không hợp lệ
220 Lỗi validate: WarehouseCode không hợp lệ
221 Lỗi validate: ShipServiceDetail không hợp lệ
222 Lỗi validate: Package không hợp lệ
302 Không thể huỷ đơn ship
303 Lỗi nhà cung cấp dịch vụ
304
Lỗi không tìm được đơn vị vận chuyển phù hợp với yêu
cầu của khách hàng
7. Bảng mã đơn vị vận chuyển
STT Mã đơn vị vận chuyển Tên đơn vị vận chuyển
1 GHTK Giao hàng tiết kiệm
2 AHAMOVE Ahamove
3 GHN Giao hàng nhanh
4 Grab Grab
8. Bảng mã trạng thái vận đơn
Mã trạng thái Trạng thái
-1 Đơn đã bị huỷ
1 Đơn hàng đã được tiếp nhận trên hệ thống
2 Đơn hàng đã được tài xế tiếp nhận
3 Tài xế đang lấy hàng
4 Không lấy được hàng
5 Đang giao hàng
Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ
31
6 Giao hàng thành công
7 Giao hàng thất bại
8 Đang hoàn hàng
9 Đã hoàn hàng
10 Đã đối soát
9. Bảng mã danh mục ship
Mã dịch vụ Thông tin dịch vụ
LIENTINH Giao hàng liên tỉnh
NOITINH Giao hàng nội tỉnh

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

Baokim ship - v2

  • 1. Tài liệu tích hợp dịch vụ thanh toán đảm bảo Lịch sử cập nhật Phiên bản Ngày cập nhật Người cập nhật Nội dung cập nhật 1.0 02-06-2020 Nguyễn Thành Đạt Khởi tạo tài liệu 1.1 02-07-2020 Trần Minh Chung Bổ sung hàm Tạo kho và Tra cứu thông tin kho 1.2 09-11-2020 Nguyễn Thành Đạt Bổ sung thông tin về Coordinates trong Drop và Pickup các hàm Tra cứu phí vận chuyển và Tạo vận đơn 2.0 30-11-2020 Trần Minh Chung Cập nhật tài liệu mới. Bổ sung hàm Tìm kiếm dịch vụ
  • 2. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 2 Danh mục 1. Định nghĩa và chữ viết tắt .............................................................................................3 2. Mục đích........................................................................................................................3 3. Yêu cầu ..........................................................................................................................3 4. Tổng quan về API...........................................................................................................4 4.1 Thông tin kết nối............................................................................................................... 4 4.2 Thông tin request tới BAOKIM ......................................................................................... 4 4.3 Thông tin BAOKIM response về PARTNER ........................................................................ 4 5. Chi tiết các hàm .............................................................................................................5 5.1 Hàm tra cứu tỉnh thành / quận huyện.............................................................................. 5 5.2 Tra cứu phí vận chuyển .................................................................................................... 6 5.3 Hàm tạo vận đơn............................................................................................................ 10 5.4 Tra cứu thông tin vận đơn.............................................................................................. 15 5.5 Huỷ vận đơn................................................................................................................... 17 5.6 Tra cứu thông tin dịch vụ................................................................................................ 18 5.7 Thông báo trạng thái vận đơn ........................................................................................ 20 5.8 Hàm tạo kho cho Partner................................................................................................ 22 5.9 Tra cứu thông tin kho..................................................................................................... 24 5.10 Tìm kiếm dịch vụ phù hợp dựa theo địa chỉ. .................................................................. 26 6. Bảng mã lỗi..................................................................................................................29 7. Bảng mã đơn vị vận chuyển ........................................................................................30 8. Bảng mã trạng thái vận đơn .......................................................................................30 9. Bảng mã danh mục ship ..............................................................................................31
  • 3. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 3 1. Định nghĩa và chữ viết tắt Định nghĩa Mô tả BAOKIM Công ty cổ phần Thương mại điện tử Bảo Kim USER Người dùng cuối. PARTNER Đối tác của BAOKIM SHIP Đơn vị vận chuyển 2. Mục đích Đây là tài liệu mô tả chi tiết API dành cho PARTNER dùng để kết nối tới BAOKIM trong việc tạo đơn ship, huỷ đơn ship, xem phí ship dự kiến cũng như theo dõi trạng thái đơn ship. 3. Yêu cầu  Kiến trúc: API chi hộ mà BAOKIM triển khai sẽ được xây dựng trên kiến trúc RESTFUL, dữ liệu truyền nhận giữa hai bên sẽ là JSON.  Chữ ký số: Để đảm bảo dữ liệu truyền nhận giữa hai bên bảo mật và xác thực, tất cả dữ liệu sẽ được mã hóa và ký số nhằm rằng buộc về dữ liệu.  IP: BAOKIM sẽ giới hạn truy cập vào API bằng một hoặc nhiều IP. Do vậy trước khi kết nối STB sẽ gửi danh sách IP sang BAOKIM để mở truy cập.  SSL/HTTPS: BAOKIM sẽ sử dụng kênh truyền SSL/HTTPS, SSL sẽ tạo một kết nối an toàn giữa PARTNER và BAOKIM, tất cả dữ liệu truyền nhận sẽ được mã hóa.
  • 4. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 4 4. Tổng quan về API 4.1 Thông tin kết nối Môi trường Phương thức URL Sandbox POST Golive POST 4.2 Thông tin request tới BAOKIM Thành phần Tham số Mô tả Header Authorization Basic base64_encode(UserName:Password) Content-Type application/json Signature PARTNER sẽ ký vào dữ liệu Data trong Body với thuật toán sha1WithRSA và sử dụng mã hóa base64. PartnerCode Mã đối tác, BAOKIM sẽ cung cấp khi kết nối Body Data Thông tin trao đổi (Xem chi tiết tại mục 5. Chi tiết các hàm)  UserName: BAOKIM sẽ cung cấp khi thực hiện kết nối.  Password: BAOKIM sẽ cung cấp khi thực hiện kết nối. 4.3 Thông tin BAOKIM response về PARTNER Thành phần Tham số Mô tả Header Content-Type application/json Signature BAOKIM sẽ ký vào dữ liệu Data trong Body với thuật toán sha1WithRSA và sử dụng mã hóa base64. Body Data Thông tin trao đổi (Xem chi tiết tại mục 5. Chi tiết các hàm)
  • 5. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 5 5. Chi tiết các hàm 5.1 Hàm tra cứu tỉnh thành / quận huyện 5.1.1 Quy trình  PARTNER gửi yêu cầu tra cứu tỉnh thành / quận huyện cho BAOKIM  BAOKIM xử lý và trả về kết quả cho PARTNER, mặc định sẽ trả về tất cả dữ liệu 5.1.2 Tham số gửi lên # Tham số Kiểu dữ liệu Điều kiện Mô tả 1 RequestId String(50) Bắt buộc Id duy nhất ứng với mỗi Request từ PARTNER sang BAOKIM. Đề xuất format: PARTNER+YYYYMMDDHHIISS+ UniqueId 2 RequestTime String(19) Bắt buộc Thời gian gửi Request. Format: YYYY-MM-DD HH:II:SS 3 Operation String(4) Bắt buộc Cố định: 8000 4 Id Integer Tuỳ chọn Mã tỉnh / thành phố / Quận / Huyện 5.1.3 Dữ liệu BAOKIM trả về cho PARTNER STT Tham số Kiểu dữ liệu Mô tả 1 Cities JSONArray Danh sách tỉnh thành / quận huyện Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 Cities [ { "id": 1, "name": "Thành phố Hà Nội", "parent_id": 0, "level": 1 }, { "id": 2, "name": "Tỉnh Hà Giang", "parent_id": 0, "level": 1 } ]
  • 6. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 6 5.2 Tra cứu phí vận chuyển 5.2.1 Quy trình  PARTNER gửi yêu cầu tra cứu phí vận chuyển BAOKIM  BAOKIM xử lý và trả về kết quả cho PARTNER 5.2.2 Tham số gửi lên # Tham số Kiểu dữ liệu Điều kiện Mô tả 1 RequestId String(50) Bắt buộc Id duy nhất ứng với mỗi Request từ PARTNER sang BAOKIM. Đề xuất format: PARTNERCODE+YYYYMMDDHH IISS+UniqueId 2 RequestTime String(19) Bắt buộc Thời gian gửi Request. Format: YYYY-MM-DD HH:II:SS 3 Operation String(4) Bắt buộc Cố định: 8001 4 ServiceDetail String(50) Bắt buộc Mã code dịch vụ chi tiết lấy từ API lấy dịch vụ 5 Pickup JSON Bắt buộc Thông tin nơi lấy hàng, bao gồm Type Integer Bắt buộc Phương thức lấy hàng: 1: Mặc định lấy tại địa chỉ 2: Giao tại bưu cục Address String(200) Bắt buộc Địa chỉ lấy hàng Warehouse String(20) Tuỳ chọn Mã kho. Sẽ ưu tiên lấy địa chỉ theo mã kho này. Trường hợp truyền sai mã kho sẽ báo lỗi.
  • 7. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 7 WardId Integer Bắt buộc Phường / Xã DistrictId Integer Bắt buộc Quận / huyện ProvinceId Integer Bắt buộc Tỉnh / thành phố Phone String(10) Bắt buộc Số điện thoại người gửi Name String(50) Bắt buộc Tên người gửi Note String(200) Tuỳ chọn Ghi chú của người bán, có thể để trống Lat String(50) Tuỳ chọn Toạ độ sử dụng với dịch vụ giao ngay. Nếu KH không truyền BK sẽ tự lấy thông tin. Long Tuỳ chọn Tuỳ chọn Toạ độ sử dụng với dịch vụ giao ngay. Nếu KH không truyền BK sẽ tự lấy thông tin. 6 Drop JSONArra y Bắt buộc Thông tin giao hàng, bao gồm: Info JSON Bắt buộc Thông tin người nhận, bao gồm: Address String(200) Bắt buộc Địa chỉ trả hàng Hamlet String(50) Tuỳ chọn Tên thôn / ấp / xóm / tổ. WardId Integer Bắt buộc Phường / xã DistrictId Integer Bắt buộc Quận / huyện ProvinceId Integer Bắt buộc Tỉnh / thành phố Phone String(10) Bắt buộc Số điện thoại người gửi Name String(50) Bắt buộc Tên người nhận Note String(200) Tuỳ chọn Ghi chú của người mua, có thể để trống Products JSONArra y Tuỳ chọn Danh sách sản phẩm, bao gồm: Name String(50) Bắt buộc Tên sản phẩm Quantity Integer Bắt buộc Số lượng TotalPrice Integer Tuỳ chọn Tổng số tiền Type String(50) Tuỳ chọn Phân loại hàng Package JSON Bắt buộc Thông tin gói hàng, bao gồm: Weight Integer Bắt buộc Cân nặng gói hàng tính theo gram Lenght Integer Tuỳ chọn Chiều dài gói hàng (tính theo cm) Bắt buộc truyền nếu không truyền Weight Width Integer Tuỳ chọn Chiều rộng gói hàng (tính theo cm) Bắt buộc truyền nếu không truyền Weight
  • 8. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 8 Height Integer Tuỳ chọn Chiều cao gói hàng (tính theo cm) Bắt buộc truyền nếu không truyền Weight Insurance Integer Tuỳ chọn Số tiền hàng hoá cần bảo hiểm Collection JSON Bắt buộc Thông tin thu hộ, bao gồm Amount Integer Bắt buộc Số tiền thu hộ, không thu hộ thì truyền 0 Coordinates JSON Tuỳ chọn Thông tin về toạ độ nhận hàng Lat String(50) Tuỳ chọn Toạ độ sử dụng với dịch vụ giao ngay. Nếu KH không truyền BK sẽ tự lấy thông tin. Long String(50) Tuỳ chọn Toạ độ sử dụng với dịch vụ giao ngay. Nếu KH không truyền BK sẽ tự lấy thông tin. Ví dụ dữ liệu mẫu STT Tham số Dữ liệu 1 RequestId PARTNERCODE2020041217000000003 2 RequestTime 2020-04-12 18:00:05 3 Operation 8002 4 ServiceDetail INSTANT2H 5 Pickup { "Type" : 1, "Address" : "Số 102 Thái Thịnh", "Warehouse" : "ABC12345678", "WardId" : 1297, "DistrictId" : 106, "ProvinceId" : 1, "Phone" : "0978083494", "Name" : "Nguyễn Thành Đạt", "Note" : "Không có gì" } 6 Drop [ { "Info": { "Address":" HN ", "Hamlet":" Tổ 7 ", "WardId":1075, "DistrictId":101, "ProvinceId":1, "Name":"Nguyễn Thành Đạt", "Phone":"0912345678", "Note":"123"
  • 9. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 9 }, "Products":[{ "Name":"NA@", "Quantity":1, "TotalPrice":1222, "Type":1 } ], "Package":{ "Weight":3000, "Insurrance":3000000, "IsCheck":0 }, "Collection":{ "Amount":100000 } }, { "Info":{ "Address":"HN", "Hamlet":" Khác ", "WardId":1, "DistrictId":2, "ProvinceId":3, "Phone":"123", "Name":"123", "Note":"123" }, "Products":{ "Name":"NA", "Quantity":1, "TotalPrice":1222, "Type":1 }, "Package":{ "Weight":3000, "Insurrance":3000000 }, "Collection":{ "Type":1, "Amount":100000 } } ] 5.2.3 Dữ liệu BAOKIM trả về cho PARTNER STT Tham số Kiểu dữ liệu Mô tả
  • 10. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 10 1 ResponseCode Int(3) Mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 2 ResponseMessage String(200) Thông báo mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 3 FeeList JSONArray Danh sách các đơn vị vận chuyển và phí dự tính Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 ResponseCode 200 2 ResponseMessage Success 3 FeeList [ { "TotalFee": 9500, "ShipFee": 3500, "InsuranceFee": 0, "CodFee": 0, "ServiceName": "Giao ngay 2h", "ShipService": "INSTANT2H" } ] 5.3 Hàm tạo vận đơn 5.3.1 Quy trình  PARTNER sẽ gửi thông tin đơn hàng cần ship vào hệ thống BAOKIM  BAOKIM sẽ xử lý và trả về kết quả cho PARTNER
  • 11. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 11 5.3.2 Tham số gửi lên # Tham số Kiểu dữ liệu Điều kiện Mô tả 1 RequestId String(50) Bắt buộc Id duy nhất ứng với mỗi Request từ PARTNER sang BAOKIM. Đề xuất format: PARTNERCODE+YYYYMMDDHH IISS+UniqueId 2 RequestTime String(19) Bắt buộc Thời gian gửi Request. Format: YYYY-MM-DD HH:II:SS 3 Operation String(4) Bắt buộc Cố định: 8002 4 PartnerShipId String(50) Bắt buộc Mã vận đơn duy nhất trên hệ thống PARTNER. Đề xuất format: PARTNERCODE + UniqueId 5 ServiceDetail String(50) Bắt buộc Loại hình ship. Tìm kiếm trong hàm tra cứu dịch vụ ship 6 ChargeFeeFrom Integer(2) Tuỳ chọn Thu phí từ ai 1: Người bán 2: Người mua Mặc định 1. 7 Pickup JSON Bắt buộc Thông tin nơi lấy hàng, bao gồm Type Integer Bắt buộc Phương thức lấy hàng: 1: Mặc định lấy tại địa chỉ 2: Giao tại bưu cục Address String(20 0) Bắt buộc Địa chỉ lấy hàng Warehouse String(20) Tuỳ chọn Mã kho. Sẽ ưu tiên lấy địa chỉ theo mã kho này. Trường hợp truyền sai mã kho sẽ báo lỗi.
  • 12. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 12 WardId Integer Bắt buộc Phường / Xã DistrictId Integer Bắt buộc Quận / huyện ProvinceId Integer Bắt buộc Tỉnh / thành phố Phone String(10) Bắt buộc Số điện thoại người gửi Name String(50) Bắt buộc Tên người gửi Note String(20 0) Tuỳ chọn Ghi chú của người bán, có thể để trống Lat String(50) Tuỳ chọn Toạ độ sử dụng với dịch vụ giao ngay. Nếu KH không truyền BK sẽ tự lấy thông tin. Long Tuỳ chọn Tuỳ chọn Toạ độ sử dụng với dịch vụ giao ngay. Nếu KH không truyền BK sẽ tự lấy thông tin. 8 Drop JSONArr ay Bắt buộc Thông tin giao hàng, bao gồm: Info JSON Bắt buộc Thông tin người nhận, bao gồm: Address String(20 0) Bắt buộc Địa chỉ trả hàng Hamlet String(50) Tuỳ chọn Tên thôn / ấp / xóm / tổ. WardId Integer Bắt buộc Phường / xã DistrictId Integer Bắt buộc Quận / huyện ProvinceId Integer Bắt buộc Tỉnh / thành phố Phone String(10) Bắt buộc Số điện thoại người gửi Name String(50) Bắt buộc Tên người nhận Note String(20 0) Tuỳ chọn Ghi chú của người mua, có thể để trống Products JSONArr ay Tuỳ chọn Danh sách sản phẩm, bao gồm: Name String(50) Bắt buộc Tên sản phẩm Quantity Integer Bắt buộc Số lượng TotalPrice Integer Tuỳ chọn Tổng số tiền Type String(50) Tuỳ chọn Phân loại hàng Package JSON Bắt buộc Thông tin gói hàng, bao gồm: Weight Integer Bắt buộc Cân nặng gói hàng tính theo gram Lenght Integer Tuỳ chọn Chiều dài gói hàng (tính theo cm) Bắt buộc truyền nếu không truyền Weight Width Integer Tuỳ chọn Chiều rộng gói hàng (tính theo cm)
  • 13. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 13 Bắt buộc truyền nếu không truyền Weight Height Integer Tuỳ chọn Chiều cao gói hàng (tính theo cm) Bắt buộc truyền nếu không truyền Weight Insurance Integer Tuỳ chọn Số tiền hàng hoá cần bảo hiểm Collection JSON Bắt buộc Thông tin thu hộ, bao gồm Amount Integer Bắt buộc Số tiền thu hộ, không thu hộ thì truyền 0 Coordinates JSON Tuỳ chọn Thông tin về toạ độ nhận hàng Lat String(50) Tuỳ chọn Toạ độ sử dụng với dịch vụ giao ngay. Nếu KH không truyền BK sẽ tự lấy thông tin. Long String(50) Tuỳ chọn Toạ độ sử dụng với dịch vụ giao ngay. Nếu KH không truyền BK sẽ tự lấy thông tin. Ví dụ dữ liệu mẫu S TT Tham số Dữ liệu 1 RequestId PARTNERCODE2020041217000000003 2 RequestTi me 2020-04-12 18:00:05 3 Operation 8002 4 PartnerShi pId PARTNERCODE0000000002 5 ServiceDe tail INSTANT2H 6 ChargeFe eFrom 1 7 Pickup { "Type" : 1, "Address" : "Số 102 Thái Thịnh", "Warehouse" : "ABC12345678", "WardId" : 1297, "DistrictId" : 106, "ProvinceId" : 1, "Phone" : "0978083494", "Name" : "Nguyễn Thành Đạt", "Note" : "Không có gì" } 8 Drop [ { "Info": { "Address":"Số 152 Thuỵ Khuê, Tây Hồ, Hà Nội", "Hamlet":" ",
  • 14. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 14 "WardId":1231, "DistrictId":105, "ProvinceId":1, "Name":"Nguyễn Thành Đạt", "Phone":"0922345678", "Note":"Giao hàng một phần @@" }, "Products":[ { "Name":"Smart Tivi Samsung 55 inch 4K UHD UA55 RU7400KXXV - Hàng chính hãng", "Quantity":1, "TotalPrice":1232, "Type":1 } ], "Package":{ "Weight":3000, "Height":0, "Width":0, "Length":0, "Insurance":5000000 }, "Collection":{ "Amount":3000000 } } ] 5.3.3 Dữ liệu BAOKIM trả về cho PARTNER STT Tham số Kiểu dữ liệu Mô tả 1 ResponseCode Int(3) Mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 2 ResponseMessage String(200) Thông báo mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 3 BkShipId String(50) Mã vận đơn duy nhất trên hệ thống BAOKIM 4 BkStatus Integer Trạng thái đơn trên hệ thống BAOKIM. Xem tại mục 8.Bảng mã trạng thái vận đơn 5 Fee JSON Các loại phí TotalFee Integer Số tiền phí vận chuyển CodFee Integer Số tiền phí COD
  • 15. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 15 InsuranceFee Integer Số tiền phí bảo hiểm với hàng hoá có giá trị cao Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 ResponseCode 200 2 ResponseMessage Success 3 BkShipId BKSHIPCODE0000000001 4 BkStatus 1 5 Fee { "TotalFee":40000, "CodFee":14000, "InsuranceFee":11000 } 5.3.4 Xử lý timeout 5.4 Tra cứu thông tin vận đơn 5.4.1 Quy trình  PARTNER gửi thông tin vận đơn cần tra cứu  BAOKIM sẽ kiểm tra dữ liệu và trả về kết quả 5.4.2 Tham số gửi lên # Tham số Kiểu dữ liệu Điều kiện Mô tả 1 RequestId String(50) Bắt buộc Id duy nhất ứng với mỗi Request từ PARTNER sang BAOKIM. Đề xuất format: PARTNERCODE+YYYYMMDDHH IISS+UniqueId
  • 16. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 16 2 RequestTime String(19) Bắt buộc Thời gian gửi Request. Format: YYYY-MM-DD HH:II:SS 3 Operation String(4) Bắt buộc Cố định: 8003 4 PartnerShipId String(50) Bắt buộc Mã vận đơn duy nhất trên hệ thống PARTNER mà PARTNER gửi khi gọi hàm Tạo vận đơn Ví dụ dữ liệu mẫu STT Tham số Dữ liệu 1 RequestId PARTNER2020041217000000005 2 RequestTime 2020-04-12 19:00:05 3 Operation 8003 4 PartnerShipId PNSHIPCODE00N0000001 5.4.3 Dữ liệu BAOKIM trả về cho PARTNER STT Tham số Kiểu dữ liệu Mô tả 1 ResponseCode Int(3) Mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 2 ResponseMessage String(200) Thông báo mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 3 BkShipId Int(3) Mã giao vận đơn duy nhất trên hệ thống BAOKIM mà PARTNER nhận được khi gọi hàm Tạo vận đơn 4 BkStatus String(50) Trạng thái đơn trên hệ thống BAOKIM. Xem tại mục 8.Bảng mã trạng thái vận đơn 5 Logs JSONArray Lịch sử vận đơn Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 ResponseCode 200 2 ResponseMessage Success 3 BkShipId BKSHIPCODE0000000001 4 BkStatus 2 5 Logs { "ResponseCode": 200, "ResponseMessage": "Success", "BkShipId": "BKS5F0E9EC622224AQ",
  • 17. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 17 "BkStatus": 10, // Trạng thái đơn "Logs": [ { "Status": 10, "Time": "2020-07-15 17:30:39", "Note": "Đã đối soát", "DropPoint": [ { "DropStatus": "10", // Trạng thái điểm giao hàng "DropTime": "2020-07- 15T10:30:39.000000Z", "DropNote": "Đã đối soát", "Address": "Số 116 Ngọc Thuỵ, Long Biên, Hà Nội", "Phone": "0912345678", "Name": "Nguyễn Thành Đạt", "Remark": "Giao hàng một phần", "Cod": 50000 } ] } ] } 5.5 Huỷ vận đơn 5.5.1 Quy trình  Khi PARTNER có nhu cầu huỷ vận đơn thì PARTNER sẽ gửi thông tin vận đơn cần huỷ cho BAOKIM  BAOKIM sẽ kiểm tra thông tin, xử lý và trả về kết quả 5.5.2 Tham số gửi lên # Tham số Kiểu dữ liệu Điều kiện Mô tả 1 RequestId String(50) Bắt buộc Id duy nhất ứng với mỗi Request từ PARTNER sang BAOKIM. Đề xuất format: PARTNERCODE+YYYYMMDDHH IISS+UniqueId 2 RequestTime String(19) Bắt buộc Thời gian gửi Request. Format: YYYY-MM-DD HH:II:SS 3 Operation String(4) Bắt buộc Cố định: 8004 4 BkShipId String(50) Bắt buộc Mã giao vận đơn duy nhất trên hệ thống BAOKIM mà PARTNER nhận được khi gọi hàm Tạo vận đơn 5 Note String(200) Bắt buộc Lý do huỷ
  • 18. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 18 Ví dụ dữ liệu mẫu # Tham số Dữ liệu 1 RequestId PARTNER2020041217000000005 2 RequestTime 2020-04-12 19:00:05 3 Operation 8004 4 BkShipId BKSHIPCODE0000000001 5 Note Khách không lấy nữa 5.5.3 Dữ liệu BAOKIM trả về cho PARTNER STT Tham số Kiểu dữ liệu Mô tả 1 ResponseCode Int(3) Mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 2 ResponseMessage String(200) Thông báo mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 3 BkShipId Int(3) Mã giao vận đơn duy nhất trên hệ thống BAOKIM mà PARTNER nhận được khi gọi hàm Tạo vận đơn 4 BkStatus String(50) Trạng thái đơn trên hệ thống BAOKIM. Xem tại mục 8.Bảng mã trạng thái vận đơn 5 CanceledAt String(19) Thời gian huỷ. Định dạng: YYYY-MM-DD HH:II:SS Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 ResponseCode 200 2 ResponseMessage Success 3 BkShipId BKSHIPCODE0000000001 4 BkStatus 6 5 CanceledAt 2020-06-04 12:00:00 5.6 Tra cứu thông tin dịch vụ 5.6.1 Quy trình  PARTNER gửi yêu cầu tra cứu thông tin dịch vụ tới BAOKIM.  BAOKIM kiểm tra và trả về kết quả
  • 19. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 19 5.6.2 Tham số gửi lên # Tham số Kiểu dữ liệu Điều kiện Mô tả 1 RequestId String(50) Bắt buộc Id duy nhất ứng với mỗi Request từ PARTNER sang BAOKIM. Đề xuất format: PARTNERCODE+YYYYMMDDHH IISS+UniqueId 2 RequestTime String(19) Bắt buộc Thời gian gửi Request. Format: YYYY-MM-DD HH:II:SS 3 Operation String(4) Bắt buộc Cố định: 8005 4 ShipCategory String(50) Tuỳ chọn Loại hình ship. Xem bảng 9.Bảng mã danh mục ship 5 ShipUnit String(200) Tuỳ chọn Mã đơn vị vận chuyển. Xem mục 7. Bảng mã đơn vị vận chuyển Ví dụ dữ liệu mẫu # Tham số Dữ liệu 1 RequestId PARTNER2020041217000000005 2 RequestTime 2020-04-12 19:00:05 3 Operation 8005 4 ShipCategory 5 ShipUnit 5.6.3 Dữ liệu BAOKIM trả về cho PARTNER STT Tham số Kiểu dữ liệu Mô tả 1 ResponseCode Int(3) Mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 2 ResponseMessage String(200) Thông báo mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 3 Services JsonArray Mã các dịch vụ của BK Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 ResponseCode 200 2 ResponseMessage Success
  • 20. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 20 3 Services [ { "ShipService": "AHAHNDG", "ShipCategory": "NOITINH", "ShipUnit": "AHAMOVE", "ServiceExtra": [] }, { "ShipService": "AHAHNGG", "ShipCategory": "NOITINH", "ShipUnit": "AHAMOVE", "ServiceExtra": [ { "Code": "RETURN" }, { "Code": "H2H" } ] } ] 5.7 Thông báo trạng thái vận đơn 5.7.1 Quy trình  Khi đơn vị vận chuyển cập nhật trạng thái vận đơn, BAOKIM sẽ gửi một thông báo tới hệ thống của PARTNER 5.7.2 Tham số BAOKIM gửi cho PARTNER # Tham số Kiểu dữ liệu Điều kiện Mô tả 1 RequestId String(50) Bắt buộc Id duy nhất ứng với mỗi Request từ BAOKIM sang PARTNER. 2 RequestTime String(19) Bắt buộc Thời gian gửi Request. Format: YYYY-MM-DD HH:II:SS 3 BkShipId String(50) Bắt buộc Mã giao vận đơn duy nhất trên hệ thống BAOKIM mà PARTNER nhận được khi gọi hàm Tạo vận đơn 4 BkStatus Integer Bắt buộc Trạng thái đơn trên hệ thống BAOKIM. Xem tại mục 8.Bảng mã trạng thái vận đơn 5 UpdatedAt String(19) Bắt buộc Thời gian cập nhật trạng thái trên hệ thống BAOKIM. Định dạng: YYYY-MM-DD HH:II:SS 6 Note String(200) Bắt buộc Lý do cập nhật
  • 21. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 21 7 TotalEstimateF ee Integer Bắt buộc Tổng số tiền cước vận chuyển dự tính khi tạo đơn 8 TotalRealFee Integer Bắt buộc Tổng số tiền cước vận chuyển thực tế 9 DropPoint JsonArray Bắt buộc Danh sách trạng thái tại từng điểm giao hàng Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 RequestId BKUNIQUEID0001 2 RequestTime 2020-06-04 10:59:50 3 BkShipId BKSHIPCODE0000000001 4 BkStatus 6 5 UpdatedAt 2020-06-04 11:00:00 6 Note Người bán huỷ đơn 7 TotalEstimateFee 16500 8 TotalRealFee 20000 9 DropPoint { "RequestId":"BK5F0FBE1854C4CC1VES", "RequestTime":"2020-07-16 09:40:24", "BkShipId":"BKS5F0E9EC622224AQ", "BkStatus":"10", "UpdatedAt":"2020-07-16 01:46:15", "Note":"Đã đối soát", "DropPoint":[ { "DropStatus":"10", "DropTime":"2020-07-16T01:46:15.000000Z", "DropNote":"Đã đối soát", "Address":"Số 116 Ngọc Thuỵ, Long Biên, Hà Nội", "Phone":"0912345678", "Name":"Nguyễn Thành Đạt", "Remark":"Giao hàng một phần", "Cod":50000 } ] } 5.7.3 Dữ liệu PARTNER trả về cho BAOKIM
  • 22. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 22 STT Tham số Kiểu dữ liệu Mô tả 1 ResponseCode Int(3) Trả lại 1 trong 2 trạng thái: 200 – Ghi nhận thành công 11 – Ghi nhận không thành công 2 ResponseMessage String(200) Thông báo mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 ResponseCode 200 2 ResponseMessage Success 5.8 Hàm tạo kho cho Partner 5.8.1 Quy trình Partner gửi thông tin về kho cho hệ thống Bao Kim 5.8.2 Tham số gửi lên # Tham số Kiểu dữ liệu Điều kiện Mô tả 1 RequestId String(50) Bắt buộc Id duy nhất ứng với mỗi Request từ PARTNER sang BAOKIM. Đề xuất format: PARTNERCODE+YYYYMMDDHH IISS+UniqueId
  • 23. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 23 2 RequestTime String(19) Bắt buộc Thời gian gửi Request. Format: YYYY-MM-DD HH:II:SS 3 Operation String(4) Bắt buộc Cố định: 8006 4 Warehouses JSON ARRAY Bắt buộc Thông tin các kho cần tạo ProvinceId Integer Bắt buộc Mã Tỉnh/ Thành phố DistrictId Integer Bắt buộc Mã Quận/ Huyện WardId Integer Bắt buộc Mã Phường/Xã Address String(50) Bắt buộc Địa chỉ kho. Cấu trúc: Số nhà , Tên đường Manager String(50) Bắt buộc Tên quản lý kho PhoneNumber String(50) Bắt buộc Số điện thoại kho Email String(50) Bắt buộc Email kho Ví dụ dữ liệu mẫu STT Tham số Dữ liệu 1 RequestId PARTNER2020041217000000005 2 RequestTime 2020-04-12 19:00:05 3 Operation 8006 4 Warehouses [ { "Address": "102 Thai Thinh ", "ProvinceId": 1, "DistrictId": 106, "WardId" : 1297, "Manager": "Nguyễn Văn Minh", "PhoneNumber": "0369867856", "Email": "chungtm@vatgia.com" } ] 5.8.3 Dữ liệu BAOKIM trả về cho PARTNER STT Tham số Kiểu dữ liệu Mô tả 1 ResponseCode Int(3) Mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi)
  • 24. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 24 2 ResponseMessage String(200) Thông báo mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 3 Warehouses JSON Array Thông tin kho tạo thành công WarehouseCode String(10) Mã code của kho Address String(200) Địa chỉ của kho Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 ResponseCode 200 2 ResponseMessage Success 3 Warehouse [ { "WarehouseCode": "TIRC887AR7", "Address": "102 Thai Thinh, Ha Noi, Viet Nam" } ] 5.9 Tra cứu thông tin kho 5.9.1 Quy trình  PARTNER gửi yêu cầu tra cứu thông tin kho cho BAOKIM  BAOKIM xử lý và trả về kết quả cho PARTNER 5.9.2 Tham số gửi lên
  • 25. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 25 # Tham số Kiểu dữ liệu Điều kiện Mô tả 1 RequestId String(50) Bắt buộc Id duy nhất ứng với mỗi Request từ PARTNER sang BAOKIM. Đề xuất format: PARTNERCODE+YYYYMMDDHH IISS+UniqueId 2 RequestTime String(19) Bắt buộc Thời gian gửi Request. Format: YYYY-MM-DD HH:II:SS 3 Operation String(4) Bắt buộc Cố định: 8007 4 WarehouseCode String(10) Tùy chọn Mã kho duy nhất trên hệ thống BAOKIM mà PARTNER nhận được khi gọi hàm Tạo kho, gửi lên khi muốn tra cứu riêng thông tin của kho. Ví dụ dữ liệu mẫu STT Tham số Dữ liệu 1 RequestId AEWY123468D09 2 RequestTime 2020-08-05 08:25:17 3 Operation 8007 4 WarehouseCode TIRC887AR7 5.9.3 Dữ liệu BAOKIM trả về cho Partner STT Tham số Kiểu dữ liệu Mô tả 1 ResponseCode Int(3) Mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 2 ResponseMessage String(200) Thông báo mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 3 Warehouses JsonArray Thông tin của các kho mà Partner muốn tra cứu Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 ResponseCode 200 2 ResponseMessage Success 3 Warehouses { "PartnerCode": "TMCHUNG", "WarehouseCode": "TIRC887AR7",
  • 26. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 26 "Address": "102 Thai Thinh, Ha Noi, Viet Nam", "Manager": "Nguyễn Văn Minh", "PhoneNumber": "0369867856", "Email": "chungtm@vatgia.com", "Lat": "21.0083234", "Lon": "105.8204872" } 5.10 Tìm kiếm dịch vụ phù hợp dựa theo địa chỉ. 5.10.1 Quy trình. Partner gửi thông tin địa chỉ điểm gửi hàng và địa chỉ điểm nhận hàng cho BAOKIM 5.10.2 Tham số gửi lên # Tham số Kiểu dữ liệu Điều kiện Mô tả 1 RequestId String(50) Bắt buộc Id duy nhất ứng với mỗi Request từ PARTNER sang BAOKIM. Đề xuất format: PARTNERCODE+YYYYMMDDHH IISS+UniqueId 2 RequestTime String(19) Bắt buộc Thời gian gửi Request. Format: YYYY-MM-DD HH:II:SS 3 Operation String(4) Bắt buộc Cố định: 8008 6 Pickup JSON Bắt buộc Thông tin nơi lấy hàng, bao gồm Address String(200) Bắt buộc Địa chỉ lấy hàng Warehouse String(20) Tuỳ chọn Mã kho. Sẽ ưu tiên lấy địa chỉ theo mã kho này. Trường hợp truyền sai mã kho sẽ báo lỗi. WardId Integer Bắt buộc Phường / Xã
  • 27. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 27 DistrictId Integer Bắt buộc Quận / huyện ProvinceId Integer Bắt buộc Tỉnh / thành phố 7 Drop JSONArra y Bắt buộc Thông tin giao hàng, bao gồm: Info JSON Bắt buộc Thông tin người nhận, bao gồm: Address String(200) Bắt buộc Địa chỉ trả hàng Hamlet String(50) Tuỳ chọn Tên thôn / ấp / xóm / tổ. WardId Integer Bắt buộc Phường / xã DistrictId Integer Bắt buộc Quận / huyện ProvinceId Integer Bắt buộc Tỉnh / thành phố Ví dụ dữ liệu mẫu STT Tham số Dữ liệu 1 RequestId PARTNER2020041217000000005 2 RequestTime 2020-11-30 19:00:05 3 Operation 8008 4 Pickup { "Warehouse" : "AVEDS124DS", "Address" : "Số 116 Ngọc Thuỵ, Long Biên, Hà Nội", "WardId" : 1297, "DistrictId" : 106, "ProvinceId" : 1 }
  • 28. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 28 5 Drop [ { "Info": { "Address":"Số 152 Thuỵ Khuê, Tây Hồ, Hà Nội", "Hamlet":" ", "WardId":1231, "DistrictId":105, "ProvinceId":1 } } ] 5.10.3 Dữ liệu BAOKIM trả về cho PARTNER STT Tham số Kiểu dữ liệu Mô tả 1 ResponseCode Int(3) Mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 2 ResponseMessage String(200) Thông báo mã lỗi của BAOKIM (Xem chi tiết tại mục 6. Bảng mã lỗi) 3 ResponseData JSON Dữ liệu trả về ServiceList JSON Array Mảng danh sách các dịch vụ phù hợp ServiceCode String(200) Mã code dịch vụ cha ServiceDetailCode String(200) Mã code dịch vụ chi tiết dùng để tính phí vận chuyển và đặt đơn ServiceDetailName String(200) Tên của dịch vụ chi tiết Ví dụ dữ liệu mẫu STT Tham số Mô tả 1 ResponseCode 200 2 ResponseMessage Success 3 ResponseData { "ServiceList": [ [ { "ServiceCode": "NOITINH", "ServiceDetailCode": "INSTANT2H",
  • 29. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 29 "ServiceDetailName": "Giao ngay 2h" }, { "ServiceCode": "NOITINH", "ServiceDetailCode": "INSTANT30P", "ServiceDetailName": "Giao ngay 30p" }, { "ServiceCode": "NOITINH", "ServiceDetailCode": "STANDARD1", "ServiceDetailName": "Ship thường" } ] ] } 6. Bảng mã lỗi ResponseCode ResponseMessage 200 Thành công 99 Pending 11 Thất bại 101 Lỗi hệ thống BAOKIM 102 Lỗi xác thực basic auth 103 Lỗi xác thực PartnerCode 104 Lỗi xác thực chữ ký 201 Lỗi validate: RequestId không hợp lệ 202 Lỗi validate: RequestTime không hợp lệ 203 Lỗi validate: Operation không hợp lệ 204 Lỗi validate: ProvinceId / DistrictId không hợp lệ 205 Lỗi validate: ShipService không hợp lệ 206 Lỗi validate: Weight không hợp lệ 207 Lỗi validate: Address không hợp lệ 208 Lỗi validate: PartnerShipId không hợp lệ 209 Lỗi validate: ShipUnit Không hợp lệ
  • 30. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 30 210 Lỗi validate: ShipCategory không hợp lệ 211 Lỗi validate: ServiceExtra không hợp lệ 212 Lỗi validate: Pickup không hợp lệ 213 Lỗi validate: Drop không hợp lệ 216 Lỗi validate: BkShipId không hợp lệ 217 Lỗi validate: Note không hợp lệ 218 Lỗi validate: ChargeFeeFrom không hợp lệ 219 Lỗi validate: Warehouse không hợp lệ 220 Lỗi validate: WarehouseCode không hợp lệ 221 Lỗi validate: ShipServiceDetail không hợp lệ 222 Lỗi validate: Package không hợp lệ 302 Không thể huỷ đơn ship 303 Lỗi nhà cung cấp dịch vụ 304 Lỗi không tìm được đơn vị vận chuyển phù hợp với yêu cầu của khách hàng 7. Bảng mã đơn vị vận chuyển STT Mã đơn vị vận chuyển Tên đơn vị vận chuyển 1 GHTK Giao hàng tiết kiệm 2 AHAMOVE Ahamove 3 GHN Giao hàng nhanh 4 Grab Grab 8. Bảng mã trạng thái vận đơn Mã trạng thái Trạng thái -1 Đơn đã bị huỷ 1 Đơn hàng đã được tiếp nhận trên hệ thống 2 Đơn hàng đã được tài xế tiếp nhận 3 Tài xế đang lấy hàng 4 Không lấy được hàng 5 Đang giao hàng
  • 31. Phiên bản 1.0 Tài liệu tích hợp tạo dịch vụ bán lẻ 31 6 Giao hàng thành công 7 Giao hàng thất bại 8 Đang hoàn hàng 9 Đã hoàn hàng 10 Đã đối soát 9. Bảng mã danh mục ship Mã dịch vụ Thông tin dịch vụ LIENTINH Giao hàng liên tỉnh NOITINH Giao hàng nội tỉnh