Voltar
Fortbix
Documentação da API

Paginação

Endpoints que retornam listas usam paginação offset-based com os parâmetros take (tamanho da página) e skip (deslocamento). A resposta sempre embrulha os resultados em data com um objeto pagination que indica se há mais registros.

Parâmetros

ParâmetroTipoPadrãoMínimoMáximoDescrição
takeinteger501500Quantidade de registros por página
skipinteger00Quantidade de registros a pular

Algumas rotas usam limit no lugar de take (ex.: GET /v1/ltv?contractId=&limit=). Sempre confira o contrato específico do endpoint na seção API Reference.

Estrutura da Resposta

{
  "data": {
    "snapshots": [
      { "contractId": "123", "currentLtv": 0.6667, "status": "OK" },
      { "contractId": "124", "currentLtv": 0.7100, "status": "OK" }
    ],
    "pagination": {
      "total": 250,
      "limit": 50,
      "offset": 0,
      "hasMore": true
    }
  }
}
CampoTipoDescrição
totalintegerTotal de registros que satisfazem o filtro
limitintegerEco do take enviado na requisição
offsetintegerEco do skip enviado na requisição
hasMorebooleantrue se ainda houver registros após esta página

Exemplo de Uso

# Primeira página (50 itens)
curl "https://hml-api.fortbix.com/v1/ltv/list?take=50&skip=0" \
  -H "api-key: $API_KEY"
 
# Próxima página
curl "https://hml-api.fortbix.com/v1/ltv/list?take=50&skip=50" \
  -H "api-key: $API_KEY"
 
# Combinar com filtro
curl "https://hml-api.fortbix.com/v1/ltv/list?status=ALERT&take=100&skip=0" \
  -H "api-key: $API_KEY"

Iterando Todos os Resultados

async function listAll(endpoint, apiKey) {
  const take = 100
  let skip = 0
  const all = []
 
  while (true) {
    const url = `${endpoint}?take=${take}&skip=${skip}`
    const res = await fetch(url, {
      headers: { 'api-key': apiKey },
    })
    const { data } = await res.json()
 
    const items = data.snapshots ?? data.contracts ?? data.items ?? []
    all.push(...items)
 
    if (!data.pagination?.hasMore) break
    skip += take
  }
 
  return all
}

Boas Práticas

  • Use o maior take permitido (até 500) ao processar grandes volumes em background, e valores menores (10–50) em telas paginadas.
  • Não dependa de total para detectar fim de página — use hasMore. total pode variar entre requisições caso novos registros sejam criados.
  • Combine take/skip com filtros (ex.: status, role, borrowerDocument) para reduzir o conjunto antes de paginar.