Phân trang
phan trangDanh sách trong API Dòng Tiền Pro phân trang bằng cursor mờ: cách đọc next_cursor và has_more, giới hạn limit, lỗi invalid_cursor và đồng bộ theo cursor. danh sach trong api dong tien pro phan trang bang cursor mo: cach doc next_cursor va has_more, gioi han limit, loi invalid_cursor va dong bo theo cursor.Mọi route trả danh sách dùng chung một dạng phân trang bằng cursor. Bạn không đánh số trang: mỗi phản hồi cho biết có còn dữ liệu không và đưa sẵn cursor của trang kế tiếp.
Dạng phản hồi
Phần tiêu đề “Dạng phản hồi”{ "object": "list", "data": [], "next_cursor": "cur_eyJ2IjoxfQ.AAAAAAAAAAAAAAAAAAAAAA", "has_more": true}| Trường | Ý nghĩa |
|---|---|
data | Các phần tử của trang này, mới nhất trước với danh sách giao dịch. |
next_cursor | Cursor của trang kế; null khi hết dữ liệu. |
has_more | true nếu còn trang kế. |
Tham số yêu cầu: limit từ 1 đến 100 (mặc định 20) và cursor lấy từ next_cursor của lần trước. Lặp lại cho tới khi has_more là false.
Đọc hết các trang
Phần tiêu đề “Đọc hết các trang”SDK có sẵn bộ lặp paginate đi qua mọi phần tử của mọi trang.
import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
for await (const tx of dt.paginate("/v1/transactions", { params: { query: { direction: "in" } } })) { console.log(tx.id, tx.amount);}import osfrom dongtien import DongTienfrom dongtien_api.api.giao_dich import list_transactions
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: for tx in dt.paginate(list_transactions.sync_detailed, limit=50): print(tx.id, tx.amount)Nếu tự viết vòng lặp, giữ nguyên mọi tham số lọc giữa các trang và chỉ thay cursor.
Cursor là chuỗi mờ
Phần tiêu đề “Cursor là chuỗi mờ”Cursor có dạng cur_…. Hãy coi nó là một giá trị không đọc được: đừng phân tích, tự tạo hay chỉnh sửa.
- Cursor của danh sách gắn với bộ lọc đã tạo ra nó. Dùng cursor với bộ lọc khác nhận
400 invalid_cursor. - Sửa một ký tự bất kỳ trong cursor cũng nhận
400 invalid_cursor; API không tiết lộ lý do chi tiết.
Đồng bộ theo cursor
Phần tiêu đề “Đồng bộ theo cursor”Route GET /v1/transactions/sync dành cho việc giữ một bản sao giao dịch ở hệ thống của bạn. Cursor của nó mang vị trí theo từng tài khoản, nên bạn lưu cursor cuối cùng và dùng lại ở lần đồng bộ sau để chỉ nhận thay đổi mới. Cursor này có giới hạn riêng: tối đa 4096 ký tự và tối đa 100 tài khoản; vượt giới hạn nhận 422 too_many_accounts hoặc 400 invalid_cursor.