Hướng dẫn AgentFlow

Phân trang

Duyệt danh sách bằng con trỏ — limit, cursor, before, sort, dir và q; các lỗi CURSOR_* khi đổi hướng giữa chừng; và vì sao danh sách không kèm tổng số.

Một trang trông như thế nào

Mọi danh sách trả về cùng một dạng:

{
  "items": [ … ],
  "next_cursor": "…",
  "prev_cursor": null
}
  • next_cursor — gửi lại để lấy trang kế tiếp; null khi đã hết.
  • prev_cursor — gửi lại để quay về trang trước; null ở trang đầu tiên.

Con trỏ là chuỗi mờ (opaque): đừng giải mã, đừng tự dựng. Chỉ gửi lại đúng giá trị server đã trả.

Tham số

Tham sốÝ nghĩa
limitSố mục mỗi trang, từ 1 đến 200; mặc định 50.
cursorĐi tiếp: giá trị next_cursor của trang trước.
beforeĐi lùi: giá trị prev_cursor. Không gửi cùng lúc với cursor.
sortSắp xếp theo gì. Giá trị hợp lệ tùy từng danh sách.
dirasc hoặc desc. Không gửi thì dùng chiều mặc định của cách sắp xếp.
qTìm kiếm văn bản. Mỗi danh sách tìm trên những trường riêng.

Mọi danh sách nhận đủ sáu tham số này: trong chuỗi truy vấn, hoặc trong thân yêu cầu với POST …/records/query, nơi q nằm trong filter. Tài liệu tham chiếu ghi các giá trị sort của từng danh sách, chiều mặc định của từng giá trị, và q khớp với gì.

Ví dụ duyệt hồ sơ của một thực thể, mới cập nhật trước:

curl -sS -G "$ORIGIN/api/v1/entities/$ENTITY_ID/records" \
  -H "Authorization: Bearer $AGENTFLOW_KEY" \
  --data-urlencode "limit=50" \
  --data-urlencode "sort=updated_at" \
  --data-urlencode "dir=desc"

# Trang kế tiếp: thêm next_cursor, giữ nguyên limit, sort, dir và mọi bộ lọc
curl -sS -G "$ORIGIN/api/v1/entities/$ENTITY_ID/records" \
  -H "Authorization: Bearer $AGENTFLOW_KEY" \
  --data-urlencode "limit=50" \
  --data-urlencode "sort=updated_at" \
  --data-urlencode "dir=desc" \
  --data-urlencode "cursor=$NEXT_CURSOR"

Tham số bị từ chối

Server đối chiếu chuỗi truy vấn với đúng những tham số danh sách khai báo. Tham số nó không nhận thì bị từ chối, không bị bỏ qua:

Trạng tháiMã (type)Khi nào
400INVALID_QUERY_PARAMETERlimit ngoài khoảng 1–200, một giá trị sort hay dir mà danh sách không nhận, hoặc một bộ lọc sai kiểu — ví dụ một boolean khác true và false, hay một id sai định dạng.
400UNKNOWN_QUERY_PARAMETERMột tham số mà danh sách không khai báo — ví dụ một tên gõ sai.

field_errors nêu tên từng tham số bị từ chối. Nhờ vậy một bộ lọc gõ sai không bao giờ lặng lẽ trả về một danh sách rộng hơn điều bạn hỏi. Xem thêm Lỗi.

Đổi sắp xếp hoặc bộ lọc giữa chừng

Một con trỏ gắn chặt với cách sắp xếp và bộ lọc đã sinh ra nó. Đổi một trong hai giữa lúc đang duyệt thì yêu cầu bị từ chối:

Trạng tháiMã (type)Khi nào
400CURSOR_SORT_MISMATCHĐổi sort hoặc dir giữa chừng.
400CURSOR_FILTERS_CHANGEDĐổi bộ lọc giữa chừng.
400CURSOR_INVALIDCon trỏ hỏng, hoặc gửi cả cursor lẫn before.

Khi gặp các lỗi này, hãy bắt đầu lại từ trang đầu với tham số mới.

Danh sách không kèm tổng số

Danh sách không trả về tổng số mục. Khi cần một con số, hãy gọi thao tác đếm riêng, ví dụ POST /api/v1/entities/{entity_id}/records/count:

curl -sS -X POST "$ORIGIN/api/v1/entities/$ENTITY_ID/records/count" \
  -H "Authorization: Bearer $AGENTFLOW_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filter": {"q": "PO-1001"}}'
{ "count": 12, "capped": false }

capped: true nghĩa là con số thật lớn hơn hoặc bằng count: lượt đếm đã chạm ngưỡng.

On this page