# Cập nhật đơn hàng

## Địa chỉ người nhận

* Đối với địa chỉ có cấu trúc 3 cấp (Tỉnh/thành, quận/huyện, phường/xã theo cấu trúc địa giới Việt Nam trước ngày 01.07.2025) truyền thông tin như sau:
  * ReceiverProvinceName: tên tỉnh/thành người nhận.
  * ReceiverDistrictName: tên quận/huyện người nhận.
  * ReceiverWardName: tên phường/xã người nhận.
* Đối với địa chỉ có cấu trúc 2 cấp (Tỉnh/thành, phường/xã theo cấu trúc địa giới Việt Nam từ ngày 01.07.2025) truyền thông tin như sau:
  * ReceiverProvinceName: tên tỉnh/thành người nhận.
  * <mark style="color:red;">ReceiverDistrictName: không truyền.</mark>
  * ReceiverWardName: tên phường/xã người nhận.

## CustomerAPIUpdateOrder

<mark style="color:green;">`POST`</mark> `/api/Customer/CustomerAPIUpdateOrder`

#### Request Body

<table><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>OrderCode<mark style="color:red;">*</mark></td><td>string</td><td>Mã vận đơn, lấy từ response của <a href="/pages/-MexSKxTzIbygkS2tSBb">api tạo đơn hàng</a></td></tr><tr><td>ClientHubID</td><td>integer</td><td>Mã địa chỉ gửi hàng (bắt buộc khi không truyền CusWareHouseID và KH có địa chỉ gửi cố định)</td></tr><tr><td>CusWareHouseID</td><td>string</td><td>Mã kho/shop (bắt buộc khi không truyền ClientHubID và KH có địa chỉ gửi cố định)</td></tr><tr><td>ContactName</td><td>string</td><td>Tên người liên hệ gửi hàng </td></tr><tr><td>ContactPhone</td><td>string</td><td>SĐT người liên hệ gửi hàng (bắt buộc khi KH có địa chỉ gửi không cố định)</td></tr><tr><td>SenderAddress</td><td>string</td><td>Địa chỉ đầy đủ người gửi, bao gồm: số nhà, tên đường, tên xã, tên huyện, tên tỉnh (bắt buộc khi KH có địa chỉ gửi không cố định)</td></tr><tr><td>DirectSenderName</td><td>string</td><td>Người đi gửi Thư/Hàng (bắt buộc khi KH có địa chỉ gửi không cố định)</td></tr><tr><td>Note</td><td>string</td><td>Ghi chú</td></tr><tr><td>ExtraService</td><td>array</td><td>Danh sách dịch vụ GTGT</td></tr><tr><td>InformFee</td><td>number</td><td>Giá trị kê khai. Các trường hợp lưu ý khi kê khai:<br>1 - Trọng lượng tính giá >=2.5kg bắt buộc chọn loại hình = HH (hàng hóa).<br>2 - Loại hình = HH bắt buộc nhập giá trị kê khai.<br>3 - Đơn chọn DVBH (Dịch vụ bảo hiểm) thì bắt buộc nhập giá trị kê khai.</td></tr><tr><td>SpecialInstructionId</td><td>string</td><td>Mã ghi chú đặc biệt đối với đơn hàng COD: <br>1 - Cho xem hàng.<br>0 - Không cho xem hàng.</td></tr><tr><td>MailerType<mark style="color:red;">*</mark></td><td>string</td><td>Mã loại hàng hóa vận chuyển:<br>HH - Hàng hóa.<br>TL - Tài liệu.</td></tr><tr><td>ExternalCode</td><td>string</td><td>Mã đơn hàng khách hàng</td></tr><tr><td>ReferenceCode</td><td>string</td><td>Mã tham chiếu khách hàng</td></tr><tr><td>CODAmount</td><td>number</td><td>Tiền COD thu người nhận</td></tr><tr><td>ServiceTypeID<mark style="color:red;">*</mark></td><td>string</td><td>Mã dịch vụ chính</td></tr><tr><td>Height</td><td>number</td><td>Chiều cao (cm)</td></tr><tr><td>Width</td><td>number</td><td>Chiều rộng (cm)</td></tr><tr><td>Length</td><td>number</td><td>Độ dài (cm)</td></tr><tr><td>Quantity</td><td>integer</td><td>Số lượng kiện</td></tr><tr><td>RealWeight</td><td>number</td><td>Cân nặng (kg)</td></tr><tr><td>ReceiverWardName</td><td>string</td><td>Phường xã người nhận</td></tr><tr><td>ReceiverDistrictName<mark style="color:red;">*</mark></td><td>string</td><td>Quận huyện người nhận</td></tr><tr><td>ReceiverProvinceName<mark style="color:red;">*</mark></td><td>string</td><td>Tỉnh thành người nhận</td></tr><tr><td>ReceiverAddress<mark style="color:red;">*</mark></td><td>string</td><td>Địa chỉ người nhận</td></tr><tr><td>ReceiverName</td><td>string</td><td>Tên người nhận</td></tr><tr><td>ReceiverPhone<mark style="color:red;">*</mark></td><td>string</td><td>Số điện thoại người nhận</td></tr><tr><td>ReceiveCompanyName</td><td>string</td><td>Công ty nhận</td></tr><tr><td>Packages</td><td>Array</td><td><pre class="language-postman_json"><code class="lang-postman_json">{
    "PackageID": "", //Mã kiện,
    "Length": 100, // Kích thước (Dài - bắt buộc khi có nhập Rộng, Cao)(cm),
    "Width": 50, // Kích thước (Rộng - bắt buộc khi có nhập Dài, Cao)(cm),
    "Height": 80,// Kích thước (Cao - Bắt buộc khi có nhập Dài, Rộng)(cm),
    "RealWeight": 25// Trọng lượng thực của kiện (kg)
}
</code></pre><p>(*)Số lượng Packages phải khớp với Quantity. Trường hợp Quantity = 1 thì Packages = []</p></td></tr><tr><td>COPAmt</td><td>number</td><td>Tiền COP (Cash on pickup)</td></tr><tr><td>RequestedDeliveryTime</td><td>datetime</td><td>Thời gian hẹn phát (*chỉ áp dụng cho các DVGT có hẹn giờ phát)</td></tr><tr><td>RequestedDeliveryType</td><td>string</td><td>Loại hẹn phát:<br>"DUNGGIO" : Đúng giờ<br>"TRUOCGIO" : Trước giờ<br>(*chỉ áp dụng cho các DVGT có hẹn giờ phát)</td></tr></tbody></table>

{% tabs %}
{% tab title="200 " %}

```json5
{
    "Errors": [],
    "ErrorCode": "0",
    "OrderInfo": {
        "OrderCode": "HD000003",
        "ReferenceCode": "HD000004",
        "ExternalCode": "HD000003",
        "TotalServiceCost": 44176,
        "ExtraServices": [
            {
                "ServiceName": "Chuyển phát nhanh",
                "ServiceID": "DE",
                "Cost": 16800
            },
            {
                "ServiceName": "Hàng đông lạnh",
                "ServiceID": "HDL",
                "Cost": 15000
            },
            {
                "ServiceName": "Báo phát",
                "ServiceID": "BP",
                "Cost": 5000
            },
            {
                "ServiceName": "Phí xăng dầu",
                "ServiceID": "Fuel",
                "Cost": 3360
            },
            {
                "ServiceName": "Phí VAT",
                "ServiceID": "VAT",
                "Cost": 4016
            }
        ],
        "DeliveryType": "1"
    },
    "ErrorMessage": ""
}
```

{% endtab %}
{% endtabs %}

### Mẫu ví dụ

```json5
{
   "OrderInfo":{
      "OrderCode":"HD000003",
      "ClientHubID":11583,
      "CusWarehouseID":"30984",
      "ContactName": "Trần Văn B",
      "ContactPhone": "0332318317",
      "SenderAddress": "145/6C Trần Bá Giao, Phường 5, Gò Vấp, HCM", 
      "DirectSenderName": "Nguyễn Văn A",
      "ReceiverPhone":"0345555777",
      "ReceiverName":"Nguyễn Thành Đạt",
      "ReceiverAddress":"12 Tân Trào, phường Tân Phú, Quận 7, Hồ Chí Minh, Việt Nam",
      "ReceiverProvinceName":"Hồ Chí Minh",
      "ReceiverDistrictName":"Quận 7",
      "ReceiverWardName":"Phường Tân Phú",   
      "RealWeight":1,
      "Length":0,
      "Width":0,
      "Height":0,
      "Quantity":1,
      "Note":"Tài liệu",
      "ServiceTypeID":"DE",
      "MailerType":"TL",
      "CODAmount":0,
      "ExternalCode":"HD000003",
      "SpecialInstructionId":1,      
      "ReferenceCode":"HD000004",
      "ExtraServices":[
         {
            "ServiceID":"PTN",
            "Type":2
         },
         {
            "ServiceID":"BP",
            "Type":2
         }
      ]
   }
}
```

### Thông tin mã lỗi&#x20;

{% hint style="danger" %}

* 1: Thông tin Phường/Xã không chính xác&#x20;
* 2: Thông tin Quận/Huyện không chính xác
* 3: Thông tin Tỉnh/Thành không chính xác
* 4: Trùng mã đơn hàng
* 5: Server error
* 6: Có lỗi xảy ra trong quá trình xử lý
* 8: Lỗi cập nhật đơn hàng
* 9: Lỗi chưa cập nhật ghi chú đặc biệt
* 10: Lỗi chưa truyền dịch vụ
* 11: Địa chỉ gửi hàng không hợp lệ
* 12: Tài khoản khách hàng không hợp lệ
* 13: Đơn hàng không tồn tại trong hệ thống
* 15: Chưa truyền mã đơn hàng
* 16: Đơn hàng không hợp lệ
* 17: Địa chỉ người nhận không hợp lệ
* 18: Mã loại hàng hóa vận chuyển không hợp lệ
* 19: Số lượng kiện không hợp lệ
* 20: Chi tiết kiện không hợp lệ
* 21: Thông tin người gửi chưa đầy đủ
* 25: Tiền COP không hợp lệ
  {% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apidoc.247express.vn/customer/cap-nhat-don-hang.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
