Skip to content

Pagination ​

목록 API는 두 가지 방식을 지원합니다.

Offset 방식 ​

페이지 이동과 전체 건수가 필요한 사용자 화면에 page, page_size를 사용합니다. 기본 page는 1, 기본 size는 20, 최대 size는 100입니다.

Cursor 방식 ​

백엔드 동기화에는 after_id, limit을 사용합니다. 결과는 ID 오름차순이며 after_id가 있으면 offset 파라미터는 무시됩니다.

json
{ "items": [], "next_cursor": 145, "has_more": false }

입금, 출금, 계정 원장에서 cursor를 지원합니다. 입금은 외부와 내부 소스의 ID 시퀀스가 다르므로 type=EXTERNAL 또는 type=INTERNAL을 반드시 지정합니다.

항목을 모두 저장한 뒤 cursor를 이동합니다. 리소스·계정·필터 조합마다 독립 cursor를 관리합니다. has_more는 참고 값이므로 batch가 꽉 찼다면 한 번 더 호출해 빈 결과를 확인합니다.

Cursor key와 장애 처리 ​

Checkpoint key에는 환경, 고객사, 리소스, 필요한 경우 계정, 입금 type, 자산 필터, 결과 집합을 바꾸는 모든 필터를 포함합니다.

  • 항목 commit 전 장애: 같은 cursor로 replay합니다.
  • 항목 commit 후 cursor commit 전 장애: 멱등 upsert로 안전하게 replay합니다.
  • 빈 응답: 요청한 cursor를 유지합니다.
  • 정확히 limit개 응답: 끝으로 보여도 한 번 더 조회합니다.

Offset page는 동시 insert로 레코드가 페이지 사이를 이동할 수 있어 checkpoint로 사용할 수 없습니다.

OOLIN은 BPMG가 제공하는 디지털자산 운영 인프라 제품입니다.