# Lịch sử đơn hàng

* /api/order/history: Tính năng này dùng để lấy lịch sử thao tác với đơn hàng.

## Request

* Xem các [common request params](/v2/readme.md#request-params)
* Các key của mảng **data array** dùng để tạo **data** json string:

| Key     | Type                       | Description                                                                                                                                                                 |
| ------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| orderId | Int $$^{{\color{red}\*}}$$ | ID đơn hàng trên Nhanh.vn                                                                                                                                                   |
| type    | string                     | <p>"lognhanh": lấy lịch sự thao tác với đơn hàng từ nhanh.<br>"logcarrier" lấy lịch trình đơn hàng từ hãng vận chuyển. Không truyền thì giá trị mặc định là "lognhanh".</p> |

* Chú ý: Chỉ các đơn đã bắn sang hãng vận chuyển mới có dữ liệu logcarrier. Chỉ các hãng vận chuyển sau có logcarrier (Các hãng chưa có API hỗ trợ sẽ trả về mảng rỗng): + Giao hàng nhanh + Best Express + Shopee Xpress + NinjaVan + Giao hàng tiêu chuẩn + Ahamove + Việt Nam POST + SuperShip

## Response

* JSON decode the response to get the structure:

| Key      | Type  | Description                                  |
| -------- | ----- | -------------------------------------------- |
| code     | int   | 1 = success or 0 = failed                    |
| messages | array | is an array of error messages if code = 0    |
| data     | array | Mảng danh sách lịch sử thao tác của đơn hàng |

```javascript
Không truyền type hoặc type = "lognhanh": 

[
    // history 1
    [
        "step" => string // Hành động,
        "createdBy" => string // Được thao tác bởi ai,
        "createdDateTime" => string // Thời gian thao tác, định dạng yyyy-mm-dd hh:mm:ii
        "oldStatus" => string // Trạng thái trước khi thao tác,
        "newStatus" => string // Trạng thái sau khi thao tác
    ],
    // history 2
    ...
]

Type = "logcarrier":
[
    "carrierLink" => "", // Link của hãng với case Grab / Ahamove
    "lastDelivererMobile" => "*********", // Số điện thoại bưu tá (số gần nhất, vì đơn có thể giao nhiều lần mới thành công)
    "lastDelivererName" => "Vương Quốc Đạt", // Tên bưu tá
    "logs" => [
        //[    
        // timestamp: convert từ datetime sang timestamp
        // step: các bước lịch trình đơn hàng
        // content: nội dung hãng vận chuyển trả về
        // icon: Tạo đơn: fa-plus 
        // 		 Lấy hàng: fa-person-carry-box / hoặc inbox nếu bản cũ chưa có icon
        // 		 Hàng đang chuyển: fa-truck
        // 		 Giao thành công: fa-handshake
        // "delivererPhone" => "*******", số điện thoại bưu tá
        // "driverName" => "*******", tên bưu tá
        //],
        [
            "timestamp" => 1695627527,
            "step" => "Shipping",
            "icon" => "fal fa-truck",
            "content" => "Hàng đang vận chuyển",
            "delivererPhone" => "********",
            "driverName" => "Vương Quốc Đạt"
        ],
        [
            "timestamp" => 1695637887,
            "step" => "Shipping",
            "icon" => "fal fa-truck",
            "content" => "Hàng đang vận chuyển",
            "delivererPhone" => null,
            "driverName" => "Vương Quốc Đạt"
        ]
        // ......
    ]
]

```

### Demo hiển thị lịch trình

* Ở trang chi tiết đơn hàng, trang danh sách đơn hàng, đã có sẵn chức năng Copy link lịch trình gửi cho khách hàng.

![Lịch trình vận chuyển](/files/wYdx6ady2MJFsAM30xjZ)


---

# 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://apidocs.nhanh.vn/v2/order/history.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.
