Vận chuyển

Shipping Carrier Object Schema

Đối tượng hãng vận chuyển (tài khoản hãng mà shop tự kết nối)

Mỗi Shipping Carrier là một tài khoản hãng vận chuyển mà shop tự kết nối vào Hubport (mô hình "shop dùng tài khoản hãng của mình"). Hubport dùng thông tin kết nối này để báo giá, tạo vận đơn, in nhãn, huỷ và tra cứu hành trình tại hãng.

Tiền COD

Hubport không giữ tiền COD. Hãng vận chuyển thu hộ và đối soát COD trực tiếp với chủ shop; Hubport chỉ lưu và hiển thị số liệu.

JSON Schema

Trường (Field)Kiểu (Type)Mô tả (Description)
company_idintID công ty
creator_idintID người tạo
idintID hãng vận chuyển (carrier)
namestringTên hiển thị
descriptionstringMô tả
statusintTrạng thái: 1 (Bật), 3 (Tắt)
display_orderintThứ tự hiển thị
api_typeintLoại hãng / cổng tích hợp (xem bảng bên dưới)
api_settingobjectCấu hình kết nối với hãng. Chỉ trả về khi người gọi có quyền setting.sale, ngược lại là mảng rỗng []. Các trường bí mật luôn được che (xem bên dưới)
date_createdintThời gian tạo (Unix timestamp)
date_modifiedintThời gian sửa đổi (Unix timestamp)
ghn_connectionobject | nullChỉ có ở chi tiết carrier GHN và sau khi kết nối GHN bằng OTP: shop_id, client_id, is_sandbox, phone_masked (SĐT đã che), mode (create | with_shop), date_created. null nếu chưa kết nối OTP

Giá trị api_type

Giá trịTên (/apitypes)Hãng
1(empty)Không tích hợp API (shop tự giao / nhập mã vận đơn tay)
7ghtkGiao Hàng Tiết Kiệm
9jtexpressJ&T Express
11superaiSuperAI (hiện đang ẩn, không tạo mới được)
13beBeDelivery
15viettelpostViettelPost
17ahamoveAhamove
19ghnGiao Hàng Nhanh

Dùng GET /v1/shippingcarriers/apitypes để biết hãng nào đang cho tạo mới (creatable).

Các trường api_setting theo hãng

Khi tạo / sửa carrier, shop gửi api_setting là object với các trường sau (trường không có trong danh sách sẽ bị bỏ khi lưu). Mọi hãng đều có is_sandbox (int, 1 = gọi môi trường thử nghiệm của hãng).

GHN (api_type = 19)

TrườngKiểuMô tả
connect_modestringtoken (shop dán Token API) hoặc affiliate (kết nối bằng OTP, xem Kết nối GHN bằng OTP). Mặc định token
tokenstringBí mật. Token API GHN của shop (lấy ở trang quản lý token của GHN). Không cần khi kết nối bằng OTP
shop_idintShopId GHN. Với kết nối OTP, shop_id luôn lấy theo shop đã xác minh, không sửa tay được
webhook_tokenstringBí mật. Mã bí mật webhook, chỉ dùng khi shop tự cấu hình webhook trên tài khoản GHN (xem Webhook hãng vận chuyển)
service_type_idint2 hàng nhẹ, 5 hàng nặng, 0 tự chọn theo cân nặng
payment_type_idint1 shop trả phí, 2 người nhận trả phí
required_notestringGhi chú xem hàng (mã của GHN, ví dụ KHONGCHOXEMHANG)
sender_name, sender_phone, sender_addressstringThông tin người gửi
sender_province, sender_district, sender_wardintID địa chính Hubport của địa chỉ lấy hàng

ViettelPost (api_type = 15)

TrườngKiểuMô tả
api_keystringTên đăng nhập tài khoản viettelpost.vn của shop
api_secretstringBí mật. Mật khẩu tài khoản viettelpost.vn. Ở lần dùng đầu, Hubport đổi sang token dài hạn và xoá mật khẩu khỏi cấu hình
vtp_tokenstringBí mật. Cách khác: dán "token bí mật" tạo trong phần cấu hình tài khoản trên viettelpost.vn (không cần mật khẩu)
webhook_tokenstringBí mật. Chỉ dùng khi shop tự cấu hình webhook trên tài khoản Partner ViettelPost riêng. Kết nối thông thường để trống
service_codestringMã dịch vụ ViettelPost mặc định
sender_name, sender_phone, sender_addressstringThông tin người gửi
sender_province, sender_district, sender_wardintID địa chính Hubport của địa chỉ lấy hàng

GHTK (api_type = 7)

TrườngKiểuMô tả
tokenstringBí mật. API token GHTK của shop
pick_name, pick_address, pick_tel, pick_emailstringThông tin điểm lấy hàng
pick_province, pick_district, pick_wardintID địa chính Hubport của điểm lấy hàng

J&T Express (api_type = 9)

TrườngKiểuMô tả
ec_company_id, customer_code, api_accountstringMã công ty / mã khách hàng / tài khoản API do J&T cấp
passwordstringBí mật. Mật khẩu API
private_keystringBí mật. Private key do J&T cấp
sender_phone, sender_addressstringThông tin người gửi
sender_province_id, sender_district_id, sender_ward_idstringMã địa chính của người gửi
pay_type, product_typestringHình thức thanh toán / loại dịch vụ của J&T

BeDelivery (api_type = 13)

TrườngKiểuMô tả
client_idstringClient ID do BE cấp
client_secretstringBí mật. Client secret
webhook_auth_tokenstringBí mật. Token xác thực webhook từ BE
service_typestringLoại dịch vụ
enable_bulky, enable_sms, enable_door_to_doorintTuỳ chọn dịch vụ (0/1)
pickup_name, pickup_phone, pickup_address, pickup_lat, pickup_longstringĐiểm lấy hàng

Ahamove (api_type = 17)

TrườngKiểuMô tả
api_keystringBí mật. API key Ahamove
mobilestringSĐT tài khoản Ahamove
service_idstringMã dịch vụ
payment_methodstringPhương thức thanh toán

Bảo mật thông tin kết nối

  • Các trường đánh dấu Bí mật là chỉ ghi: API không bao giờ trả lại giá trị thật. Trong response, trường bí mật đã có giá trị trả về "********", chưa có thì trả "".
  • Khi sửa carrier (cùng api_type), gửi trường bí mật là "" hoặc "********" thì Hubport giữ nguyên giá trị đang lưu. Chỉ gửi giá trị mới khi muốn thay.
  • Đổi carrier sang api_type khác thì thông tin kết nối cũ không được giữ.

Tên trường trong response

api_setting trong response trả về theo khoá lưu trữ của hệ thống: is_sandbox được trả là issandbox; với GHTK các trường pick_* được trả không có dấu gạch dưới (pickname, pickaddress, picktel, pickemail, pickprovince, pickdistrict, pickward). Khi gửi lên vẫn dùng tên trường như bảng ở trên.

Ví dụ JSON

{
  "company_id": 1001,
  "creator_id": 5,
  "id": 12,
  "name": "GHN - Kho Hà Nội",
  "description": "",
  "status": 1,
  "display_order": 1,
  "api_type": 19,
  "date_created": 1760000000,
  "date_modified": 1760003600,
  "api_setting": {
    "issandbox": 0,
    "connect_mode": "token",
    "token": "********",
    "shop_id": 885123,
    "webhook_token": "",
    "service_type_id": 0,
    "payment_type_id": 1,
    "required_note": "KHONGCHOXEMHANG",
    "sender_name": "Shop Demo",
    "sender_phone": "0900000000",
    "sender_address": "12 Phố Huế",
    "sender_province": 1,
    "sender_district": 7,
    "sender_ward": 0
  }
}

On this page