Đơn Hàng

Các API về đơn hàng cho phép bạn tạo, xem, lấy thông tin và in nhãn dán đơn hàng.

Lấy Thông Tin Tối Ưu

API này cho phép bạn lấy thông tin Thông Tin Tối Ưu đang được chọn hiện tại.

Endpoint

get/v1/platform/orders/optimization

Request

Headers

KeyValue
Acceptapplication/json
TokenAccess-Token

Ví Dụ

curl --location --request GET 'https://dev.superai.vn/v1/platform/orders/optimization' \
--header 'Accept: application/json' \
--header 'Token: <Access-Token>'

Response

Tham Số Trả Về

Thuộc_TínhKiểu_DLMô_Tả_Chi_Tiết
optimization.option_idStringMã Phương Án Tối Ưu. Ví dụ: 1.
optimization.option_nameStringTên Phương Án Tối Ưu. Ví dụ: Nhà vận chuyển bất kỳ theo phân tích AI (hiệu quả nhất).
optimization.carriersArrayMảng Chứa Mã Định Danh Nhà Vận Chuyển. Ví dụ: ['2', '6'].
carriers.idIntegerID của Nhà Vận Chuyển. Ví dụ: 2.
carriers.nameStringTên Nhà Vận Chuyển. Ví dụ: GHN.
carriers.codeStringMã Định Danh của Nhà Vận Chuyển. Ví dụ: 2.

Ví Dụ

{
    "error": false,
    "message": "",
    "data": {
        "optimization": {
            "option_id": "2",
            "option_name": "Một nhà vận chuyển mặc định",
            "carriers": [
                "4"
            ]
        },
        "carriers": [
            {
                "id": 2,
                "name": "GHN",
                "code": "2"
            },
            {
                "id": 4,
                "name": "Viettel Post",
                "code": "4"
            },
            {
                "id": 6,
                "name": "BEST Express",
                "code": "6"
            },
            {
                "id": 7,
                "name": "Ninja Van",
                "code": "7"
            },
            {
                "id": 10,
                "name": "SPX Express",
                "code": "10"
            }
        ]
    }
}

Cập Nhật Thông Tin Tối Ưu

API này cho phép bạn cập nhật Thông Tin Tối Ưu và sử dụng Thông Tin Tối Ưu mới.

Endpoint

post/v1/platform/orders/optimize

Request

Headers

KeyValue
Acceptapplication/json
Content-Typeapplication/json
TokenAccess-Token

Các Tham Số

Thuộc_TínhBắt_BuộcKiểu_DLMô_Tả_Chi_Tiết
option_idStringMã Phương Án Tối Ưu. Ví dụ: 1.
Các giá trị có thể:
- Nhà vận chuyển bất kỳ theo phân tích AI (hiệu quả nhất): 1
- Một nhà vận chuyển mặc định: 2
- Nhiều nhà vận chuyển tùy chọn theo phân tích AI: 3
- Nhà vận chuyển có chi phí giao hàng rẻ nhất: 4
- Nhà vận chuyển có tốc độ giao hàng nhanh nhất: 5
carriersTùyStringMảng Chứa Mã Định Danh Nhà Vận Chuyển. Ví dụ: ['2', '6'].

LƯU Ý

  • Chỉ điền carriers khi option_id thuộc một trong các giá trị: 2 hoặc 3.
  • Nếu option_id bằng 2 thì mảng carriers chỉ được phép chứa tối đa 1 giá trị. Ví dụ: ['2'].
  • Nếu option_id bằng 3 thì mảng carriers chỉ được phép chứa tối thiểu 2 giá trị. Ví dụ: ['2', '6'].

Ví Dụ

curl --location --request POST 'https://dev.superai.vn/v1/platform/orders/optimize' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Token: <Access-Token>' \
--data '{
    "option_id": "3",
    "carriers": ["2", "6"]
}'

Response

Tham Số Trả Về

Thuộc_TínhKiểu_DLMô_Tả_Chi_Tiết
option_idStringMã Phương Án Tối Ưu. Ví dụ: 1.
carriersArrayMảng Chứa Mã Định Danh Nhà Vận Chuyển. Ví dụ: ['2', '6'].

Ví Dụ

{
    "error": false,
    "message": "",
    "data": {
        "diff": {
            "option_id": "3",
            "carriers": [
                "2",
                "6"
            ]
        }
    }
}

Tính Cước Phí

API này cho phép bạn tính trước cước phí của một đơn hàng.

Endpoint

post/v1/platform/orders/price

Request

Headers

KeyValue
Acceptapplication/json
Content-Typeapplication/json
TokenAccess-Token

Các Tham Số

Thuộc_TínhBắt_BuộcKiểu_DLMô_Tả_Chi_Tiết
sender_provinceStringTên Tỉnh/Thành Phố của Người Gửi. Ví dụ: Thành phố Hồ Chí Minh.
sender_districtStringTên Quận/Huyện của Người Gửi. Ví dụ: Huyện Bình Chánh.
receiver_provinceStringTên Tỉnh/Thành Phố của Người Nhận. Ví dụ: Thành phố Hà Nội.
receiver_districtStringTên Quận/Huyện của Người Nhận. Ví dụ: Quận Tây Hồ.
weightInteger- Khối lượng của Đơn Hàng. Ví dụ: 200.
- Đơn vị tính gram.
valueKhôngInteger- Trị giá của Đơn Hàng. Ví dụ: 4200000.
- Dùng để tính Phí Bảo Hiểm.
- Đơn vị tính đồng.

Ví Dụ

curl --location --request POST 'https://dev.superai.vn/v1/platform/orders/price' \
--header 'Content-Type: application/json' \
--header 'Token: <Access-Token>' \
--data '{
    "sender_province": "Thành phố Hồ Chí Minh",
    "sender_district": "Huyện Bình Chánh",
    "receiver_province": "Thành phố Hà Nội",
    "receiver_district": "Quận Tây Hồ",
    "weight": 500,
    "value": 12000000
}
'

Response

Tham Số Trả Về

Thuộc_TínhKiểu_DLMô_Tả_Chi_Tiết
carrier_idIntegerMã Định Danh Nhà Vận Chuyển. Ví dụ: 2.
carrier_nameStringTên Nhà Vận Chuyển. Ví dụ: GHN.
shipment_feeIntegerCước Phí Giao Hàng. Ví dụ: 20000.
insurance_feeIntegerCước Phí Bảo Hiểm. Ví dụ: 42000.
estimated_pickupStringThời gian dự kiến Lấy Hàng. Ví dụ: Khoảng 0.2 - 1.0 ngày.
estimated_deliveryStringThời gian dự kiến Giao Hàng. Ví dụ: Khoảng 2.1 - 2.6 ngày.

Ví Dụ

{
    "error": false,
    "message": "",
    "data": {
        "services": [
            {
                "carrier_id": 2,
                "carrier_name": "GHN",
                "shipment_fee": 24000,
                "insurance_fee": 60000,
                "estimated_pickup": "Khoảng 0.2 - 1.0 ngày",
                "estimated_delivery": "Khoảng 2.1 - 2.6 ngày"
            },
            {
                "carrier_id": 4,
                "carrier_name": "Viettel Post",
                "shipment_fee": 25000,
                "insurance_fee": 60000,
                "estimated_pickup": "Khoảng 0.2 - 1.0 ngày",
                "estimated_delivery": "Khoảng 2.5 - 3.0 ngày"
            },
            {
                "carrier_id": 6,
                "carrier_name": "BEST Express",
                "shipment_fee": 23000,
                "insurance_fee": 60000,
                "estimated_pickup": "Khoảng 0.2 - 1.0 ngày",
                "estimated_delivery": "Khoảng 2.6 - 3.1 ngày"
            },
            {
                "carrier_id": 7,
                "carrier_name": "Ninja Van",
                "shipment_fee": 22000,
                "insurance_fee": 60000,
                "estimated_pickup": "Khoảng 0.2 - 1.0 ngày",
                "estimated_delivery": "Khoảng 2.3 - 2.8 ngày"
            },
            {
                "carrier_id": 10,
                "carrier_name": "SPX Express",
                "shipment_fee": 20000,
                "insurance_fee": 60000,
                "estimated_pickup": "Khoảng 0.2 - 1.0 ngày",
                "estimated_delivery": "Khoảng 2.6 - 3.1 ngày"
            }
        ]
    }
}

Tạo Đơn Hàng

API này cho phép bạn tạo một đơn hàng mới.

Endpoint

post/v1/platform/orders/create

Request

Headers

KeyValue
Acceptapplication/json
Content-Typeapplication/json
TokenAccess-Token

Các Tham Số

Thuộc_TínhBắt_BuộcKiểu_DLMô_Tả_Chi_Tiết
nameStringTên của Người Nhận. Ví dụ: Trần Ngọc Nam.
phoneStringSố Điện Thoại của Người Nhận.
addressStringĐịa Chỉ của Người Nhận. Ví dụ: 56 Trương Công Định.
provinceStringTên Tỉnh/Thành Phố của Người Nhận. Ví dụ: Thành phố Hồ Chí Minh.
districtStringTên Quận/Huyện của Người Nhận. Ví dụ: Quận Tân Bình.
communeStringTên Phường/Xã của Người Nhận. Ví dụ: Phường 14.
amountIntegerSố tiền thu hộ. Ví dụ: 200000.
Đơn vị tính đồng.
valueKhôngIntegerTrị Giá của đơn hàng. Ví dụ: 4200000.
Dùng để tính Phí Bảo Hiểm.
Đơn vị tính đồng.
weightIntegerKhối lượng của đơn hàng. Ví dụ: 200.
Đơn vị tính gram.
socKhôngStringMã Đơn Riêng của Người Gửi. Ví dụ: KR-180703-034.
noteKhôngStringGhi chú thêm về Đơn Hàng của Người Gửi. Ví dụ: Hàng dễ vỡ, lưu ý dùm shop.
serviceStringMã Gói Dịch Vụ. Ví dụ: 1.
Các giá trị có thể:
- Gói Tốc Hành: 1
configStringNgười Nhận có được quyền xem/thử sản phẩm. Ví dụ: 1.
Các giá trị có thể:
- Cho Xem Hàng Nhưng Không Cho Thử Hàng: 1
- Cho Thử Hàng: 2
- Không Cho Xem Hàng: 3
payerStringNgười Trả Phí. Ví dụ: 1.
Các giá trị có thể:
- Người Gửi: 1
- Người Nhận: 2
product_typeStringCách truyển sản phẩm. Ví dụ: 1.
Các giá trị có thể:
- Dạng Chuỗi: 1
- Dạng Mảng: 2
productKhôngStringBắt buộc khi giá trị của product_type1. Ví dụ: Quần áo.
productsKhôngArrayBắt buộc khi giá trị của product_type2.
Các Tham Số:
- sku: Mã Sản Phẩm. Ví dụ: P899234.
- name: Tên Sản Phẩm. Ví dụ: Áo khoác P4.
- price: Giá Sản Phẩm. Ví dụ: 200000.
- weight: Khối Lượng. Ví dụ: 200.
- quantity: Số Lượng. Ví dụ: 1.
barterKhôngStringTùy chọn Đổi/Lấy hàng về. Nếu có yêu cầu này, đơn hàng sẽ được hỗ trợ đổi hàng và trả hàng về. Ví dụ: 1.
partnerKhôngStringMã Bí Mật. Dành cho các Đối Tác Thương Mại Điện Tử lớn với SuperAI.

THÔNG TIN

  • Nếu bạn muốn gửi đơn sang 1 Nhà Vận Chuyển bất kỳ mà không muốn đi theo Thông Tin Tối Ưu đã cấu hình trước đó thì bổ sung trường carrier với giá trị Mã Định Danh Nhà Vận Chuyển vào Request Payload.
  • Ví dụ nếu muốn gửi đơn sang Giao Hàng Nhanh (GHN) thì điền carrier: "2"

Ví Dụ

curl --location --request POST 'https://dev.superai.vn/v1/platform/orders/create' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Token: <Access-Token>' \
--data '{
    "name": "Quynh Anh Tran",
    "phone": "0987654321",
    "address": "Quán Nhậu Anh Em Mình, Đường Số 2, ấp Phú Nhơn",
    "province": "Tỉnh Hậu Giang",
    "district": "Châu Thành A",
    "commune": "Xã Tân Phú Thạnh",
    "amount": 160000,
    "value": 160000,
    "weight": 200,
    "payer": "1",
    "config": "1",
    "soc": "PO854252213",
    "note": "được kiểm tra váy áo không thử,không mở hộp đai latex ,mỹ phẩm,phụ kiện- chỉ được kiểm tra bên ngoài",
    "barter": null,
    "product_type": "2",
    "products": [
        {
            "sku": "Short jean co giãn tốt ống rộng wax ZR01 245 - NHẠT WAX - 28",
            "name": "Short jean co giãn tốt ống rộng wax ZR01 245 - NHẠT WAX - 28",
            "price": 245000,
            "weight": 100,
            "quantity": 1
        },
        {
            "sku": "Quần yếm jeans mã Z 295 - NHẠT - 28",
            "name": "Quần yếm jeans mã Z 295 - NHẠT - 28",
            "price": 295000,
            "weight": 100,
            "quantity": 1
        }
    ]
}'

Response

QUAN TRỌNG

  • Các giá trị carrier_code, carrier_sortcode có thể có giá trị null do đơn hàng Gửi Đơn Lỗi/Chưa Kịp Gửi sang Nhà Vận Chuyển.
  • Nếu gặp trường hợp trên, vui lòng chờ 3 phút rồi sau đó sử dụng API Lấy Thông Tin Đơn Hàng để cập nhật chủ động Mã Vận ĐơnMã Phân Loại của Nhà Vận Chuyển.

Các Tham Số

Thuộc_TínhKiểu_DLMô_Tả_Chi_Tiết
carrier_idStringMã Nhà Vận Chuyển. Ví dụ: 2.
carrier_nameStringTên Nhà Vận Chuyển. Ví dụ: GHN.
carrier_codeStringMã Vận Đơn của Nhà Vận Chuyển. Ví dụ: L9TXFP.
carrier_sortcodeStringMã Phân Loại của Nhà Vận Chuyển. Ví dụ: F-000-H-00-00.
superai_codeStringMã Đơn Hàng của SuperAI. Ví dụ: HUGS983262NM.810002159.
superai_shortcodeStringMã Đơn Ngắn của SuperAI. Ví dụ: 810002159.
Dùng Mã Này để hiển thị Mã Vạch, không dùng Mã Đơn Đầy Đủ ở trường `superai_code`.
superai_sortcodeStringMã Phân Loại của SuperAI. Ví dụ: LUC17-C10.
socStringMã Đơn Hàng của Người Gửi. Ví dụ: PO854252213.
amountIntegerSố Tiền cần Thu Hộ. Ví dụ: 160000.
collectionIntegerSố Tiền Thu Người Nhận. Ví dụ: 160000.
valueIntegerTrị Giá của Đơn Hàng. Ví dụ: 160000.
weightIntegerKhối Lượng của Đơn Hàng. Ví dụ: 200.
feeIntegerCước Phí Giao Hàng. Ví dụ: 24000.
insuranceIntegerPhí Bảo Hiểm. Ví dụ: 0.
statusStringMã Trạng Thái của Đơn Hàng. Ví dụ: 2.
status_nameStringTên Trạng Thái của Đơn Hàng. Ví dụ: Chờ Lấy Hàng.

Ví Dụ

{
    "error": false,
    "message": "",
    "data": {
        "carrier_id": "2",
        "carrier_name": "GHN",
        "carrier_code": "L9TXFP",
        "carrier_sortcode": "F-000-H-00-00",
        "superai_code": "HUGS983262NM.810002159",
        "superai_shortcode": "810002159",
        "superai_sortcode": "LUC17-C10",
        "soc": "PO854252213",
        "amount": 160000,
        "collection": 160000,
        "value": 160000,
        "weight": 200,
        "fee": 24000,
        "insurance": 0,
        "status": "2",
        "status_name": "Chờ Lấy Hàng"
    }
}

Lấy Thông Tin Đơn Hàng

API này cho phép bạn lấy thông tin chi tiết của một Đơn Hàng.

Endpoint

get/v1/platform/orders/info

Request

Headers

KeyValue
Acceptapplication/json
Content-Typeapplication/json
TokenAccess-Token

Các Tham Số

Thuộc_TínhBắt_BuộcKiểu_DLMô_Tả_Chi_Tiết
codeStringMã Đơn Hàng. Ví dụ: SGNS983262NT.595050186.
typeKhôngStringLoại của Mã Đơn Hàng. Giá trị mặc định: 1.
Các giá trị có thể:
- Mã Đơn Hàng của SuperAI: 1
- Mã Đơn Hàng của Người Gửi: 2.

Ví Dụ

curl --location --request GET 'https://dev.superai.vn/v1/platform/orders/info' \
--header 'Content-Type: application/json' \
--header 'Token: <Access-Token>' \
--data '{
    "type": "1",
    "code": "DLKS983262NM.810002154"
}'

Response

Các Tham Số

Thuộc_TínhKiểu_DLMô_Tả_Chi_Tiết
carrier_idStringMã Nhà Vận Chuyển.
carrier_nameStringTên Nhà Vận Chuyển.
carrier_codeStringMã Vận Đơn của Nhà Vận Chuyển.
superai_shortcodeStringMã Ngắn của SuperAI.
superai_codeStringMã Đơn Hàng của SuperAI.
socStringMã Đơn Hàng của Người Gửi.
statusStringMã Trạng Thái của Đơn Hàng. Ví dụ: 12.
status_nameStringTên Trạng Thái của Đơn Hàng. Ví dụ: Đã Giao Hàng Toàn Bộ.
collectionIntegerSố Tiền Thu Người Nhận.
valueIntegerTrị Giá Thực Tế của Đơn Hàng.
weightIntegerKhối Lượng của Đơn Hàng.
feeObjectCác loại Cước Phí của Đơn Hàng.
fee.shipmentIntegerPhí Giao Hàng.
fee.insuranceIntegerPhí Bảo Hiểm.
fee.returnIntegerPhí Hoàn Hàng.
fee.barterIntegerPhí Đổi Trả.
fee.addressIntegerPhí Đổi Địa Chỉ.
payerStringNgười Trả Phí.
payer_nameStringTên Người Trả Phí.
configStringCấu Hình xem/thử hàng.
config_nameStringTên Cấu Hình xem/thử hàng.
receiverObjectThông Tin Người Nhận.
created_atStringThời Gian Tạo của Đơn Hàng.
updated_atStringThời Gian Cập Nhật của Đơn Hàng.
delivered_atStringThời Gian Giao Hàng.

Ví Dụ

{
    "error": false,
    "message": "",
    "data": {
        "order": {
            "carrier_id": "4",
            "carrier_name": "Viettel Post",
            "carrier_code": "SPSP1002987406",
            "superai_shortcode": "810002154",
            "superai_code": "DLKS983262NM.810002154",
            "soc": "S120173755O8512",
            "status": "0",
            "status_name": "Huỷ",
            "collection": 250000,
            "value": 3860000,
            "weight": 5900,
            "fee": {
                "shipment": 50000,
                "insurance": 19000,
                "return": 0,
                "barter": 0,
                "address": 10000
            },
            "payer": "1",
            "payer_name": "Người Gửi",
            "config": "3",
            "config_name": "Không Cho Xem Hàng",
            "receiver": {
                "name": "Minh Duy",
                "phone": "098****666",
                "address": "440 Trường Chinh",
                "formatted_address": "440 Trường Chinh, Phường Thống Nhất, Thị Xã Buôn Hồ, Tỉnh Đắk Lắk",
                "commune_name": "Phường Thống Nhất",
                "district_name": "Thị Xã Buôn Hồ",
                "province_name": "Tỉnh Đắk Lắk"
            },
            "created_at": "2024-06-06T23:51:08+07:00",
            "updated_at": "2024-06-09T00:30:40+07:00",
            "delivered_at": null
        }
    }
}

Tạo Token In Nhãn Giao Hàng

API này cho phép bạn lấy Token dành cho việc in Nhãn Giao Hàng.

Endpoint

post/v1/platform/orders/token

Request

Headers

KeyValue
Acceptapplication/json
Content-Typeapplication/json
TokenAccess-Token

Các Tham Số

Thuộc_TínhBắt_BuộcKiểu_DLMô_Tả_Chi_Tiết
codeArrayMảng chứa danh sách Mã Đơn Hàng của SuperAI.

Ví dụ

curl --location --request POST 'https://dev.superai.vn/v1/platform/orders/token' \
--header 'Accept: application/ecmascript' \
--header 'Content-Type: application/json' \
--header 'Token: <Access-Token>' \
--data '{
    "code": [
        "DLKS983262NM.810002155",
        "DLKS983262NM.810002154"
    ]
}'

Response

Các Tham Số

Thuộc_TínhKiểu_DLMô_Tả_Chi_Tiết
tokenStringToken dành cho mục đích In Nhãn Đơn Hàng.
Ví dụ: 6cf2ce20-80e9-11eb-8974-cd483a610abd.

Ví Dụ

{
    "error": false,
    "message": "",
    "data": {
        "token": "92cb9830-25bc-11ef-bc20-ed448e0c4f9f"
    }
}

In Đơn Hàng

API này cho phép bạn in Nhãn Giao Hàng của một hoặc nhiều Đơn Hàng trực tiếp trên trình duyệt.

Endpoint

get/v1/platform/orders/label

Request

Các Tham Số

Thuộc_TínhBắt_BuộcKiểu_DLMô_Tả_Chi_Tiết
tokenStringToken dành cho mục đích In Đơn Hàng.
Ví dụ: 6cf2ce20-80e9-11eb-8974-cd483a610abd.
sizeStringKích thước Nhãn In Đơn Hàng.
Các giá trị có thể:
- Khổ giấy S8: S8
- Khổ giấy S9: S9
- Khổ giấy S10: S10
- Khổ giấy S11: S11
- Khổ giấy S12: S12
- Khổ giấy S13: S13
- Khổ giấy S14: S14

Ví Dụ

curl --location --request GET 'https://dev.superai.vn/v1/platform/orders/label?token=92cb9830-25bc-11ef-bc20-ed448e0c4f9f&size=S9'

Response

Ví Dụ

Hủy Đơn Hàng

API này cho phép bạn hủy một Đơn Hàng.

Endpoint

post/v1/platform/orders/cancel

Request

Headers

KeyValue
Acceptapplication/json
Content-Typeapplication/json
TokenAccess-Token

Các Tham Số

Thuộc_TínhBắt_BuộcKiểu_DLMô_Tả_Chi_Tiết
codeStringMã Đơn Hàng của SuperAI. Ví dụ: SGNS983262NT.595050186.

Ví Dụ

curl --location --request POST 'https://dev.superai.vn/v1/platform/orders/cancel' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Token: <Access-Token>' \
--data '{
    "code": "TGGS964885NM.713594008"
}'

Response

Các Tham Số

Thuộc_TínhKiểu_DLMô_Tả_Chi_Tiết
codeStringMã Đơn Hàng của SuperAI.
socStringMã Đơn Hàng của Người Gửi.
statusStringMã Trạng Thái của Đơn Hàng.
status_nameStringTên Trạng Thái của Đơn Hàng.

Ví Dụ

{
    "error": false,
    "message": "",
    "data": {
        "order": {
            "code": "HDGS983262LM.810002124",
            "soc": null,
            "status": "0",
            "status_name": "Huỷ"
        }
    }
}
Cập Nhật Lần Cuối: