Phân trang

Các endpoint danh sách của API trả về dữ liệu theo trang. Trong nền tảng có hai scheme phân trang theo lịch sử; scheme cụ thể được ghi tại endpoint trong tài liệu tham khảo tương tác.

Scheme 1 — offset và X-Total-Count

Phân trang cổ điển theo offset. Yêu cầu nhận tham số query limit (kích thước trang) và offset (số bản ghi bỏ qua):

curl -H "Authorization: Bearer mbp_TOKEN_CUA_BAN" "https://your-domain/api/bots/BOT_ID/subscribers?limit=50&offset=100"

Tổng số bản ghi được trả về trong header phản hồi X-Total-Count. Dựa vào đó tính số trang: duyệt bằng cách tăng offset theo limit, cho đến khi offset nhỏ hơn giá trị X-Total-Count. Nội dung phản hồi là mảng các phần tử của trang hiện tại.

Scheme 2 — cursor before và has_more

Phân trang theo cursor cho các luồng được sắp xếp theo thời gian (ví dụ: tin nhắn trong cuộc trò chuyện). Yêu cầu nhận limit và cursor before tùy chọn — định danh hoặc nhãn của phần tử đã nhận cuối cùng:

curl -H "Authorization: Bearer mbp_TOKEN_CUA_BAN" "https://your-domain/api/bots/BOT_ID/users/USER_ID/dialog?limit=50&before=CURSOR"

Phản hồi chứa trang các phần tử và cờ has_more. Khi has_more bằng true, hãy lặp lại yêu cầu, truyền vào before cursor của phần tử cuối cùng đã nhận. Khi has_more thành false — đây là trang cuối cùng.

Chọn scheme nào

Bạn không chọn scheme — endpoint quy định nó. Danh sách tra cứu thường dùng offset và X-Total-Count; luồng theo thời gian — cursor beforehas_more. Hãy luôn đối chiếu với trang endpoint trong tài liệu tham khảo.

Tiếp theo