Pagination

Paginering

Listeendepunkter i Fenerum API-et bruker sidebasert paginering for å hjelpe deg med å hente store datasett effektivt. Som standard inneholder hver side 20 elementer.

Pagineringparametere

Alle listeendepunkter støtter følgende forespørselsparametere:

  • page - Sidenummeret som skal hentes (standard: 1)
  • page_size - Antall resultater per side (standard: 20, maks: 100)

Responsformat

Paginerte responser inneholder disse feltene:

FeltTypeBeskrivelse
countintegerTotalt antall elementer tilgjengelig (på tvers av alle sider)
nextstring (url), nullableURL for å hente neste side med resultater
previousstring (url), nullableURL for å hente forrige side med resultater
resultsarrayArray med objekter for gjeldende side

Eksempel på forespørsel

GET /api/v1/accounts/?page=2&page_size=50

Eksempel på respons

{
  "count": 247,
  "next": "https://app.fenerum.com/api/v1/accounts/?page=3&page_size=50",
  "previous": "https://app.fenerum.com/api/v1/accounts/?page=1&page_size=50",
  "results": [
    {
      "uuid": "123e4567-e89b-12d3-a456-426614174000",
      "code": "CUST001",
      "name": "Example Customer"
    }
    // ... more results
  ]
}

Iterere gjennom sider

For å hente alle elementer, følg next-URL-en til den blir null:

url = '/api/v1/accounts/'
all_accounts = []

while url:
    response = requests.get(url, headers=headers)
    data = response.json()
    all_accounts.extend(data['results'])
    url = data['next']

Filtrering

Mange listeendepunkter støtter filtrering for å avgrense resultater. Filtre angis via forespørselsparametere.

Grunnleggende filtrering

Filtrer på en bestemt feltverdi:

GET /api/v1/invoices/?account=CUST001

Sammenligningsfiltre

Bruk suffikser for avansert filtrering:

SuffiksBetydningEksempel
__ltMindre ennamount__lt=100
__lteMindre enn eller likcreated_date__lte=2025-12-31
__gtStørre ennamount__gt=50
__gteStørre enn eller likcreated_date__gte=2025-01-01

Eksempel: Datointervall

Hent fakturaer opprettet i desember 2025:

GET /api/v1/invoices/?created_date__gte=2025-12-01&created_date__lt=2026-01-01

Kombinere filtre og paginering

Du kan kombinere filtrering med paginering:

GET /api/v1/invoices/?account=CUST001&page=2&page_size=50

Feltet count i responsen viser totalt filtrerte resultater, og next/previous-URL-ene beholder filtrene dine.

Beste praksis

  • Bruk passende page_size-verdier basert på behovene dine (mindre for UI, større for dataeksporter)
  • Kontroller alltid feltet next for å avgjøre om det finnes flere sider
  • Bruk filtre for å redusere totalt antall resultater før du paginerer
  • Mellomlagre resultater når mulig for å redusere API-kall
  • Se endepunktdokumentasjonen for tilgjengelige filtre
Previous
Errors
background logo

Vi fakturerer for mer enn 2 milliarder årlig for våre kunder. Skal vi hjelpe deg med å sette faktureringen din på autopilot?