Sivutus

Sivutus

Fenerum API:n listapäätepisteet käyttävät sivupohjaista sivutusta, jotta suurten aineistojen hakeminen on tehokasta. Oletusarvoisesti jokaisella sivulla on 20 kohdetta.

Sivutuksen parametrit

Kaikki listapäätepisteet tukevat seuraavia kyselyparametreja:

  • page - Haettava sivunumero (oletus: 1)
  • page_size - Tulosten määrä sivua kohden (oletus: 20, enintään: 100)

Vastauksen muoto

Sivutetut vastaukset sisältävät seuraavat kentät:

KenttäTyyppiKuvaus
countintegerKokonaismäärä saatavilla olevia kohteita (kaikilla sivuilla)
nextstring (url), nullableURL seuraavan sivun hakemiseen
previousstring (url), nullableURL edellisen sivun hakemiseen
resultsarrayTämän sivun objektien array

Esimerkkipyyntö

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

Esimerkkivastaus

{
  "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
  ]
}

Sivujen läpikäynti

Hae kaikki kohteet seuraamalla next-URL-osoitetta, kunnes sen arvo on 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']

Suodatus

Monet listapäätepisteet tukevat suodatusta tulosten rajaamiseksi. Suodattimet annetaan kyselyparametreina.

Perussuodatus

Suodata tietyn kentän arvon perusteella:

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

Vertailusuodattimet

Käytä päätteitä edistyneeseen suodatukseen:

PääteMerkitysEsimerkki
__ltPienempi kuinamount__lt=100
__ltePienempi tai yhtä suuri kuincreated_date__lte=2025-12-31
__gtSuurempi kuinamount__gt=50
__gteSuurempi tai yhtä suuri kuincreated_date__gte=2025-01-01

Esimerkki: aikaväli

Hae laskut, jotka on luotu joulukuussa 2025:

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

Suodatuksen ja sivutuksen yhdistäminen

Voit yhdistää suodatuksen ja sivutuksen:

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

Vastauksen count-kenttä näyttää suodatettujen tulosten kokonaismäärän, ja next/previous-URL-osoitteet säilyttävät suodattimesi.

Parhaat käytännöt

  • Käytä tarpeisiisi sopivia page_size-arvoja (pienempiä käyttöliittymää varten, suurempia datan vientiin)
  • Tarkista aina next-kenttä selvittääksesi, onko lisää sivuja
  • Käytä suodattimia tulosten määrän pienentämiseksi ennen sivutusta
  • Välimuistita tulokset mahdollisuuksien mukaan API-kutsujen määrän vähentämiseksi
  • Tarkista päätepisteen dokumentaatiosta käytettävissä olevat suodattimet
Previous
Errors
background logo

We invoice 2 billion DKK annually for our customers. Let's put your invoicing on autopilot today!