Paginação

Todas as rotas de listagem da API retornam resultados paginados. A paginação é obrigatória — não é possível recuperar "todos" os registros em uma única requisição (exceto endpoints de exportação).

Parâmetros

ParâmetroTipoDefaultMáximoDescrição
pageinteger11.000.000Número da página (1-indexed)
limitinteger10100Quantidade de registros por página
sortBystringvariaCampo para ordenação (varia por endpoint)
sortOrderstringascDireção: asc ou desc

Exemplo

curl "https://api.gdredu.com/v1/students?page=2&limit=20&sortBy=name&sortOrder=desc" \
  -H "Authorization: Bearer gdredu_live_..." \
  -H "x-branch-id: branch-id-aqui"

Formato da resposta

Todas as listas seguem o mesmo envelope:

{
  "data": [
    { "id": "...", "name": "..." },
    { "id": "...", "name": "..." }
  ],
  "pagination": {
    "page": 2,
    "limit": 20,
    "total": 347,
    "totalPages": 18,
    "hasNext": true,
    "hasPrev": true
  }
}
CampoDescrição
dataArray com os registros da página atual
pagination.pagePágina atual
pagination.limitLimite usado nesta página
pagination.totalTotal de registros que correspondem aos filtros
pagination.totalPagesTotal de páginas (ceil(total / limit))
pagination.hasNexttrue se há uma próxima página
pagination.hasPrevtrue se há uma página anterior

Campos de ordenação (sortBy)

Os campos disponíveis para sortBy variam por endpoint. Cada endpoint documenta seus campos válidos. Valores inválidos retornam 400 VALIDATION_ERROR.

Exemplos por recurso

RecursoCampos de sortByDefault
Estudantesname, registration, class, guardian, lastPresence, createdAtname
Usuáriosname, createdAtname
Sériesname, createdAtname
Turmasname, createdAtname
Componentesname, createdAtname

Erros comuns

limit acima do máximo

Se você enviar limit=200 (acima do máximo 100), a API silenciosamente ajusta para 100 em vez de retornar erro. Isso facilita a integração sem quebrar quando limites mudam.

page acima do total

Se você solicitar uma página além do total de páginas, data será um array vazio [] e pagination.total mostrará o total real. Verifique hasNext antes de paginar.

Paginação com filtros

Filtros são combinados com paginação. Os filtros reduzem o total, e a paginação navega pelos resultados filtrados:

curl "https://api.gdredu.com/v1/students?gradeId=grade-1&hasGuardian=true&page=1&limit=10" \
  -H "Authorization: Bearer gdredu_live_..." \
  -H "x-branch-id: branch-id-aqui"

Veja a referência de cada endpoint para os filtros disponíveis.


Did this page help you?