OMSĐơn hàng

Trạng thái & Mã giá trị

Định nghĩa các trạng thái và mã giá trị liên quan đến object `Order`

🧩 Nguồn đơn hàng

Giá trị để xác định nguồn đơn hàng, thường là field có tên source

Giá trịMô tảCode
1Đơn tạo từ POSSOURCE_POS
3Đơn từ websiteSOURCE_WEBSITE
5Đơn từ app di độngSOURCE_MOBILE_APP
7Đơn từ mini appSOURCE_MINI_APP
9Đồng bộ từ ZaloSOURCE_ZALO
11Đồng bộ từ ShopeeSOURCE_SHOPEE
13Đồng bộ từ LazadaSOURCE_LAZADA
15Đồng bộ từ TikTok ShopSOURCE_TIKTOK
17Đồng bộ từ TikiSOURCE_TIKI
19Bán qua FacebookSOURCE_FACEBOOK
21Bán qua InstagramSOURCE_INSTAGRAM
23Sự kiện offlineSOURCE_OFFLINE_EVENT
25Bán qua TelegramSOURCE_TELEGRAM
27Tự thanh toán (Kiosk self-checkout)SOURCE_SELF_CHECKOUT
29Người giới thiệu (Referral)SOURCE_REFERRAL
95Tạo từ API bên thứ baSOURCE_API
97Nguồn tùy chỉnhSOURCE_CUSTOM
99Nguồn khácSOURCE_OTHER

Đơn từ sàn thương mại điện tử

Khi shop kết nối kênh bán Shopee, Lazada hoặc TikTok Shop, Hubport tự đồng bộ đơn của sàn thành đơn hàng với source lần lượt là 11 (Shopee), 13 (Lazada), 15 (TikTok Shop). Với các đơn này, source_name là tên sàn (Shopee, Lazada, TikTok Shop), external_id là mã đơn trên sàn và tag được gán shopee / lazada / tiktokshop. Có thể lọc đơn theo nguồn bằng query source hoặc external_id của API Danh sách đơn hàng.

🧩 Trạng thái thanh toán

Giá trị để xác định trạng thái thanh toán, thường là field có tên payment_status

Giá trịMô tảCode
1Đơn hàng chờ thanh toán (chưa có giao dịch)PAYMENT_STATUS_PENDING
3Đang chờ khách hàng chuyển khoản / thanh toánPAYMENT_STATUS_AWAITING_FROM_CUSTOMER
5Đang chờ đối tác thanh toán (B2B, marketplace)PAYMENT_STATUS_AWAITING_FROM_PARTNER
7Đang đối soát, kiểm tra xác nhận thanh toán từ đối tácPAYMENT_STATUS_CHECKING_WITH_PARTNER
9Thanh toán đã hoàn tấtPAYMENT_STATUS_COMPLETED
11Chuẩn bị hoàn tiền cho khách hàngPAYMENT_STATUS_AWAITING_REFUND_TO_CUSTOMER
13Chuẩn bị hoàn tiền cho đối tácPAYMENT_STATUS_AWAITING_REFUND_TO_PARTNER
15Đã hoàn tiền cho khách hàngPAYMENT_STATUS_REFUNDED_TO_CUSTOMER
17Đã hoàn tiền cho đối tácPAYMENT_STATUS_REFUNDED_TO_PARTNER
19Thanh toán bị hủyPAYMENT_STATUS_CANCELLED
21Giao dịch thất bạiPAYMENT_STATUS_FAILED
23Hết hạn thanh toán / session timeoutPAYMENT_STATUS_EXPIRED

🧩 Phương thức thanh toán

Giá trị để xác định phương thức thanh toán, thường là field có tên payment_method

Giá trịMô tảCode
1Thanh toán tiền mặtPAYMENT_METHOD_CASH
3Chuyển khoản ngân hàngPAYMENT_METHOD_ONLINE_BANKING
5Thẻ quà tặngPAYMENT_METHOD_GIFTCARD
7Điểm tích lũy khách hàngPAYMENT_METHOD_CUSTOMER_POINT
9Thẻ tín dụng/ghi nợPAYMENT_METHOD_CARD
11Thu hộ (COD)PAYMENT_METHOD_COD
13Ví MoMoPAYMENT_METHOD_MOMO
14VNPay QRPAYMENT_METHOD_VNPAY_QR
15Ví VNPayPAYMENT_METHOD_VNPAY
16VNPay SmartPOS (quẹt thẻ)PAYMENT_METHOD_VNPAY_SMARTPOS
17Thẻ thành viênPAYMENT_METHOD_MEMBERCARD
19Ví SePayPAYMENT_METHOD_SEPAY
20SePay GatewayPAYMENT_METHOD_SEPAY_GATEWAY
21Ví ZaloPayPAYMENT_METHOD_ZALOPAY
23Casaflow SmartPOSPAYMENT_METHOD_CASAFLOW_SMARTPOS
25VietQRPAYMENT_METHOD_VIETQR

🧩 Trạng thái xử lý (fulfillment)

Giá trị để xác định trạng thái xử lý - Fulfillment, thường là field có tên fulfillment_status

Giá trịMô tảCode
1Đơn hàng chưa xử lýFULFILLMENT_STATUS_UNFULFILLED
3Chờ lấy hàng từ khoFULFILLMENT_STATUS_AWAITING_PICK
5Đang soạn hàngFULFILLMENT_STATUS_PICKING
7Đang soạn hàng có gia công / tuỳ chỉnhFULFILLMENT_STATUS_PICKING_WITH_CUSTOMIZE
9Đã soạn xong hàngFULFILLMENT_STATUS_PICKED
11Đang đóng góiFULFILLMENT_STATUS_PACKING
13Đã đóng gói xongFULFILLMENT_STATUS_PACKED
15Sẵn sàng giao hàngFULFILLMENT_STATUS_READY_TO_SHIP
17Giao một phần đơn hàngFULFILLMENT_STATUS_PARTIALLY_FULFILLED
19Hoàn tất xử lý đơn hàngFULFILLMENT_STATUS_FULFILLED
21Hàng đã trả vềFULFILLMENT_STATUS_RETURNED
23Đơn hàng bị hủy trong quá trình fulfillmentFULFILLMENT_STATUS_CANCELLED

🧩 Trạng thái ngoại lệ

Giá trị để xác định trạng thái ngoại lệ / sự cố, thường là field có tên exception_status

1xx – Thanh toán / Hóa đơn

Giá trịMô tảCode
0Không có lỗiEXCEPTION_STATUS_NONE
101Chờ thanh toánEXCEPTION_STATUS_PAYMENT_PENDING
103Lỗi giao dịchEXCEPTION_STATUS_PAYMENT_FAILED
105Cần xác minh / đối soát thủ côngEXCEPTION_STATUS_PAYMENT_VERIFICATION
107Yêu cầu hoàn tiềnEXCEPTION_STATUS_REFUND_REQUESTED
109Khiếu nại / Chargeback từ ngân hàngEXCEPTION_STATUS_PAYMENT_CHARGEBACK

2xx – Kho hàng / Fulfillment

Giá trịMô tảCode
201Thiếu hàng tồnEXCEPTION_STATUS_INVENTORY_SHORTAGE
203SKU không tồn tại / lỗi đồng bộEXCEPTION_STATUS_PRODUCT_NOT_FOUND
205Sản phẩm ngừng kinh doanhEXCEPTION_STATUS_PRODUCT_DISCONTINUED
207Sai đơn vị tính / số lượngEXCEPTION_STATUS_UOM_MISMATCH
209Nhặt sai hàng / sai SKUEXCEPTION_STATUS_PICKING_ERROR
211Hàng hỏng / vỡ tại khoEXCEPTION_STATUS_WAREHOUSE_DAMAGE
213Lỗi đóng góiEXCEPTION_STATUS_PACKING_ERROR
215Lỗi logic phân bổ kho (OMS)EXCEPTION_STATUS_FULFILLMENT_SOURCING
217Cần thay thế sản phẩm tương tựEXCEPTION_STATUS_ITEM_SUBSTITUTION
219Chờ xác nhận thay đổi trọng lượng / số lượng thực tế (Catch Weight)EXCEPTION_STATUS_QUANTITY_CHANGE_PENDING

3xx – Khách hàng

Giá trịMô tảCode
301Địa chỉ không hợp lệEXCEPTION_STATUS_ADDRESS_INVALID
303Cần xác nhận lại từ kháchEXCEPTION_STATUS_CUSTOMER_CONFIRMATION
305Không liên hệ được kháchEXCEPTION_STATUS_CONTACT_UNREACHABLE
307Khách yêu cầu trả hàngEXCEPTION_STATUS_RETURN_REQUESTED
309Khách yêu cầu hủy đơnEXCEPTION_STATUS_CANCEL_REQUESTED
311Vượt hạn mức công nợ (B2B)EXCEPTION_STATUS_CREDIT_LIMIT_EXCEEDED
313Sai lệch khi nhận hàng trả (RMA)EXCEPTION_STATUS_RETURN_DISCREPANCY
315Khách yêu cầu giao hàng từng phầnEXCEPTION_STATUS_PARTIAL_SHIP_REQUESTED

4xx – Giao hàng

Giá trịMô tảCode
401Giao hàng thất bạiEXCEPTION_STATUS_SHIPPING_FAILED
403Giao hàng chậmEXCEPTION_STATUS_SHIPPING_DELAYED
405Hãng vận chuyển không được hỗ trợEXCEPTION_STATUS_CARRIER_NOT_SUPPORTED
407Lỗi lấy hàngEXCEPTION_STATUS_PICKUP_FAILED
409Hàng thất lạcEXCEPTION_STATUS_SHIPPING_LOST
411Giao nhầm hàngEXCEPTION_STATUS_DELIVERED_WRONG_ITEM
413Tạm giữ do tuân thủ / hải quanEXCEPTION_STATUS_COMPLIANCE_HOLD
415Hư hỏng trong quá trình vận chuyểnEXCEPTION_STATUS_SHIPPING_DAMAGE

5xx – Hệ thống

Giá trịMô tảCode
501Lỗi hệ thốngEXCEPTION_STATUS_SYSTEM_ERROR
503Lỗi đồng bộ APIEXCEPTION_STATUS_API_SYNC_FAILED
505Webhook lỗi / timeoutEXCEPTION_STATUS_WEBHOOK_ERROR
507Dữ liệu không nhất quánEXCEPTION_STATUS_DATA_INCONSISTENT
509Xung đột dữ liệu từ sàn / đối tácEXCEPTION_STATUS_MARKETPLACE_CONFLICT

6xx – SLA / Process Delay

Giá trịMô tảCode
601Quá hạn xác nhận đơn hàngEXCEPTION_STATUS_SLA_CONFIRM_DELAY
603Quá hạn chờ thanh toánEXCEPTION_STATUS_SLA_PAYMENT_DELAY
605Quá hạn chuẩn bị hàngEXCEPTION_STATUS_SLA_PICKING_DELAY
607Quá hạn đóng góiEXCEPTION_STATUS_SLA_PACKING_DELAY
609Quá hạn bàn giao vận chuyểnEXCEPTION_STATUS_SLA_DISPATCH_DELAY
611Quá hạn giao hàngEXCEPTION_STATUS_SLA_DELIVERY_DELAY
613Quá hạn xử lý hàng trảEXCEPTION_STATUS_SLA_RETURN_PROCESS_DELAY
615Quá hạn hoàn tiềnEXCEPTION_STATUS_SLA_REFUND_DELAY

9xx – Manual Review / Khác

Giá trịMô tảCode
901Giữ để kiểm tra thủ côngEXCEPTION_STATUS_MANUAL_REVIEW
903Nghi ngờ gian lận / trùng đơnEXCEPTION_STATUS_SUSPECT_FRAUD
905Cần xác minh giá / chiết khấuEXCEPTION_STATUS_PRICE_VERIFICATION
999Lỗi khác chưa phân loạiEXCEPTION_STATUS_OTHERS

🧩 Trạng thái vận chuyển

Giá trị để xác định trạng thái vận chuyển, thường là field có tên shipping_status

Giá trịMô tảCode
1Chưa có thông tin vận chuyểnSHIPPING_STATUS_NONE
3Đã tạo vận đơnSHIPPING_STATUS_BILL_CREATED
5Lỗi đồng bộ vận đơnSHIPPING_STATUS_BILL_SYNC_FAILED
7Đồng bộ vận đơn thành côngSHIPPING_STATUS_BILL_SYNC_SUCCESS
9Chờ lấy hàngSHIPPING_STATUS_WAIT_FOR_PICKUP
11Đã lấy hàngSHIPPING_STATUS_PICKED_UP
13Đang vận chuyểnSHIPPING_STATUS_IN_TRANSIT
15Giao hàng thất bại (thử lại)SHIPPING_STATUS_FAILED_ATTEMPT
17Đang hoàn hàngSHIPPING_STATUS_RETURNING
19Đã hoàn hàngSHIPPING_STATUS_RETURNED
21Đã giao hàng thành côngSHIPPING_STATUS_DELIVERED
23Đơn vận chuyển bị hủySHIPPING_STATUS_CANCELLED
25Mất hàngSHIPPING_STATUS_LOST

🧩 Loại hình vận chuyển

Giá trị để xác định loại hình vận chuyển, thường là field có tên shipping_type

Giá trịMô tảCode
1Khách hàng đến lấy hàngSHIPPING_TYPE_PICKUP
3Giao hàng tận nơiSHIPPING_TYPE_DELIVERY
5DropshipSHIPPING_TYPE_DROPSHIP
7Hàng điện tửSHIPPING_TYPE_EGOODS
9Giao hàng tại cửa hàngSHIPPING_TYPE_INSTORE

🧩 Hình thức xuất hóa đơn

Giá trị để xác định hình thức xuất hóa đơn, thường là field có tên tax_invoice_type

Giá trịMô tảCode
1Bỏ qua hóa đơn thuếTAX_INVOICE_TYPE_IGNORE
5Tạo hóa đơn thủ côngTAX_INVOICE_TYPE_MANUAL
7Tạo hóa đơn qua APITAX_INVOICE_TYPE_API
99Loại hóa đơn khácTAX_INVOICE_TYPE_OTHER

🧩 Trạng thái hóa đơn thuế

Giá trị để xác định trạng thái xuất hóa đơn GTGT, thường là field có tên tax_invoice_status

Giá trịMô tảCode
1Chưa có hóa đơnTAX_INVOICE_STATUS_NONE
3Bản nháp tại hệ thốngTAX_INVOICE_STATUS_DRAFT_LOCAL
5Đã gửi chờ xử lýTAX_INVOICE_STATUS_SENT_PENDING
7Đã phát hành và kýTAX_INVOICE_STATUS_ISSUED_SIGNED
9Hóa đơn đã hủyTAX_INVOICE_STATUS_CANCELLED
11Hóa đơn đã thay thếTAX_INVOICE_STATUS_REPLACED
99Không cần hóa đơnTAX_INVOICE_STATUS_NOT_REQUIRED

🧩 Trạng thái đơn hàng

Giá trị để xác định trạng thái đơn hàng, thường là field có tên status

Giá trịMô tảCode
1Đơn hàng mớiSTATUS_NEW
3Đã xác nhận với kháchSTATUS_CONFIRMED_CUSTOMER
7Đang soạn hàngSTATUS_PICKING
11Đang đóng góiSTATUS_PACKING
13Chờ bàn giao vận chuyểnSTATUS_WAITING_SHIPPING_PICKUP
15Đang vận chuyểnSTATUS_SHIPPING
17Đã giao hàngSTATUS_SHIPPED
19Hoàn thànhSTATUS_COMPLETE
21Đã hủySTATUS_CANCEL

🧩 Lý do hủy đơn

Giá trị để xác định lý do hủy đơn, thường là field có tên cancel_reason. Có hiệu lực nếu đơn hàng ở trạng thái CANCEL.

Giá trịMô tảCode
1Hết hàngCANCEL_REASON_OUT_OF_STOCK
3Khách hàng từ chốiCANCEL_REASON_CUSTOMER_DISCARD
5Không liên hệ được kháchCANCEL_REASON_CUSTOMER_DISCONNECT
7Khách hàng không thanh toánCANCEL_REASON_CUSTOMER_NOT_PAID
9Đơn hàng trùng lặpCANCEL_REASON_DUPLICATE
11Sai sản phẩmCANCEL_REASON_INCORRECT_ITEM
13Phí vận chuyển caoCANCEL_REASON_HIGH_SHIPPING_FEE
15Giao hàng không đúng hạnCANCEL_REASON_DELIVERY_NOT_ONTIME
17Khách hàng không hài lòngCANCEL_REASON_CUSTOMER_NOT_SATISFY
19Lỗi hệ thốngCANCEL_REASON_SYSTEM_ERROR
21Lỗi từ đối tácCANCEL_REASON_PARTNER_ERROR
99Lý do khácCANCEL_REASON_OTHER

🧩 Lý do tạm giữ

Giá trị để xác định lý do tạm giữ đơn hàng, thường là field có tên holding_reason.

Giá trịMô tảCode
1Liên hệ thất bại lần 1HOLDING_REASON_CONTACT_FAIL_1
3Liên hệ thất bại lần 2HOLDING_REASON_CONTACT_FAIL_2
5Liên hệ thất bại lần 3HOLDING_REASON_CONTACT_FAIL_3
7Liên hệ thất bại lần 4HOLDING_REASON_CONTACT_FAIL_4
9Liên hệ thất bại lần 5HOLDING_REASON_CONTACT_FAIL_5
11Chờ thanh toánHOLDING_REASON_PAYMENT_PENDING
13Thanh toán thất bạiHOLDING_REASON_PAYMENT_FAILED
15Kiểm tra gian lậnHOLDING_REASON_FRAUD_CHECK
17Hết hàngHOLDING_REASON_OUT_OF_STOCK
19Sai lệch tồn khoHOLDING_REASON_INVENTORY_MISMATCH
21Kiểm tra chất lượngHOLDING_REASON_QC_CHECK
23Chờ phản hồi từ kháchHOLDING_REASON_WAITING_CUSTOMER
25Yêu cầu từ khách hàngHOLDING_REASON_CUSTOMER_REQUEST
27Chờ duyệt từ quản lýHOLDING_REASON_MANAGER_REVIEW
99Lý do khácHOLDING_REASON_OTHER

🧩 Trạng thái kiểm tra affiliate

Giá trị để xác định trạng thái kiểm tra affiliate, thường là field có tên aff_check_status.

Giá trịMô tảCode
1Chờ khởi tạo giao dịchAFF_CHECK_STATUS_PENDING
3Đã tạo giao dịch hoa hồng (chờ đơn hoàn tất)AFF_CHECK_STATUS_TRANSATION_CREATED
5Lỗi khởi tạo giao dịch (token/mã không hợp lệ, hết hạn, cộng tác viên chưa hoạt động; lý do ở aff_sync_result)AFF_CHECK_STATUS_TRANSATION_INIT_ERROR
7Đơn hoàn tất hoặc giao thành công: hoa hồng được duyệt (ngay, hoặc sau thời gian chờ đổi trả nếu có)AFF_CHECK_STATUS_APPROVED
9Hoa hồng bị huỷ: đơn huỷ, hoàn hàng hoặc thất lạcAFF_CHECK_STATUS_REJECTED
11Xử lý thất bạiAFF_CHECK_STATUS_FAILED

Hoa hồng tính theo luật cộng tác viên của cửa hàng (ưu tiên luật riêng của cộng tác viên, rồi theo nhóm, rồi luật chung): phần trăm trên tiền hàng của đơn (giá bán trừ giảm giá, không gồm phí vận chuyển) hoặc số tiền cố định mỗi đơn. Mỗi đơn có tối đa một giao dịch hoa hồng. Nếu hệ thống cấu hình thời gian chờ đổi trả, hoa hồng của đơn đã hoàn tất chỉ được duyệt (có thể rút) sau khi hết thời gian này.

🧩 Trạng thái đơn không hợp lệ

Giá trị để đánh dấu đơn hàng không hợp lệ (đơn trùng, đơn test, gian lận...), thường là field có tên invalid_status.

Giá trịMô tảCode
0Đơn hợp lệINVALID_STATUS_NONE
1Đơn bị đánh dấu không hợp lệINVALID_STATUS_INVALID

🧩 Lý do đơn không hợp lệ

Giá trị để xác định lý do đơn không hợp lệ, thường là field có tên invalid_reason. Có hiệu lực nếu invalid_status = 1.

Giá trịMô tảCode
0Không cóINVALID_REASON_NONE
1Đơn trùng lặpINVALID_REASON_DUPLICATE
3Đơn test thủ côngINVALID_REASON_MANUAL_TEST
5Đơn test của hệ thốngINVALID_REASON_SYSTEM_TEST
7Gian lậnINVALID_REASON_FRAUD
99Lý do khácINVALID_REASON_OTHER

On this page