> For the complete documentation index, see [llms.txt](https://www.boxhero.io/docs/llms.txt). Every page is available as Markdown by appending `.md` to its URL; this page is [Markdown](https://www.boxhero.io/docs/vi/developers/api/pagination.md).

# Phân trang

> Duyệt qua danh sách dài trong BoxHero API bằng phân trang dựa trên con trỏ.

Các endpoint danh sách trả về kết quả theo từng trang và dùng phân trang dựa trên con trỏ.

## Tham số truy vấn

| Tham số | Mô tả |
| --- | --- |
| `cursor` | Vị trí bắt đầu của trang. Truyền trường `cursor` từ phản hồi trước. Bỏ qua ở lần gọi đầu tiên. |
| `limit` | Kích thước trang. Phạm vi cho phép và giá trị mặc định được liệt kê ở từng endpoint, ví dụ [Liệt kê mặt hàng](https://www.boxhero.io/docs/vi/developers/api/reference/items/list-items.md). |

## Phản hồi

Mỗi trang chứa kết quả cùng các trường bạn cần để lấy trang tiếp theo:

```json
{
  "items": [...],
  "count": 100,
  "limit": 100,
  "cursor": 1234567,
  "has_more": true
}
```

| Trường | Mô tả |
| --- | --- |
| `count` | Số kết quả trên trang này |
| `limit` | Kích thước trang được dùng cho trang này |
| `cursor` | Truyền giá trị này làm tham số truy vấn `cursor` để lấy trang tiếp theo. `null` khi không còn trang nào. |
| `has_more` | `true` nếu còn kết quả sau trang này |

## Lấy mọi trang

1. Gọi endpoint danh sách mà không có `cursor`.
2. Khi `has_more` còn là `true`, gọi lại với `cursor` đặt bằng `cursor` của phản hồi gần nhất.
3. Dừng lại khi `has_more` là `false`.

```bash
curl "https://rest.boxhero-app.com/v1/items?cursor=1234567" \
  -H "Authorization: Bearer $BOXHERO_API_TOKEN"
```

Giữ nguyên các bộ lọc đã dùng ở lần gọi đầu tiên cho mọi lần gọi tiếp theo.

## Thứ tự

Mỗi tài nguyên tự xác định thứ tự của mình. Hầu hết endpoint danh sách trả về kết quả theo id, tăng dần. [Liệt kê giao dịch](https://www.boxhero.io/docs/vi/developers/api/reference/transactions/list-transactions.md) trả về giao dịch mới nhất trước (theo thời gian giao dịch, dùng id để phân định khi trùng).

> **Tip**
>
> **Mẹo**: Để giữ bản sao giao dịch của bạn luôn đồng bộ, hãy lưu `revision` của từng giao dịch. Khi duyệt lại danh sách, `revision` cao hơn cho biết giao dịch đã được chỉnh sửa kể từ lần cuối bạn xem.
