Notrus
Beta

Paginação

Consultas de lista usam paginação por cursor no estilo Relay. Você avança passando o cursor da última página de volta como after.

Formato da conexão

Um campo paginado retorna uma conexão: uma lista de edges (cada uma com um node e um cursor opaco) mais pageInfo.

Primeira página

Solicite um tamanho de página com first:

graphql
query FirstPage {
conversations(first: 25) {
edges {
cursor
node { conversationId threads { threadId summary } }
}
pageInfo { hasNextPage endCursor }
}
}

Próxima página

Se pageInfo.hasNextPage for true, passe pageInfo.endCursor como after para buscar a próxima página:

graphql
query NextPage {
conversations(first: 25, after: "<endCursor from previous page>") {
edges { node { conversationId } }
pageInfo { hasNextPage endCursor }
}
}

Observações

  • Cursores são opacos — não os interprete nem construa; apenas devolva o que recebeu.
  • first é limitado pelo servidor por uma janela de horário (America/São Paulo): até 10 durante o dia (06:00–22:00) e até 100 à noite (22:00–06:00). Requisições maiores são reduzidas ao limite ativo, e uma requisição sem first retorna a página padrão (25), igualmente reduzida a esse limite.
  • Por padrão, as conversas são ordenadas das mais antigas para as mais recentes pela sua thread mais antiga — passe orderBy: DESC para as mais recentes primeiro. Veja a Referência do schema para o formato completo.
  • Repita o mesmo valor de orderBy em todas as páginas de uma mesma execução de paginação — um cursor after só é válido combinado com a direção sob a qual foi emitido.