Filtering

Filtrering

De fleste listeendepunkter i Fenerum API aksepterer filtre i query string for å avgrense resultatsettet. Det eksakte settet med filtre som støttes av hvert endepunkt er listet i seksjonen Parameters på referansesiden for det endepunktet — beskrivelsen nedenfor dekker konvensjonene som brukes på tvers av dem.

Filtre for eksakt samsvar

Filtrer på en spesifikk feltverdi:

GET /api/v1/invoices/?status=open
GET /api/v1/accounts/?code=CUST001

Flere filtre kan kombineres; de kobles med logisk AND:

GET /api/v1/invoices/?status=due&collection_method=invoice

Sammenligningsfiltre

For numeriske felt og datofelt eksponerer Fenerum oppslagssuffikser i Django-stil:

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

Datofiltere aksepterer ISO-datoer (YYYY-MM-DD).

Eksempel på datointervall

Hent fakturaer opprettet i desember 2025:

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

Negerte filtre

Noen endepunkter eksponerer _not-varianter for spørringer som ekskluderer. Se endepunktets Parameters for hva som er tilgjengelig, for eksempel for fakturaer:

GET /api/v1/invoices/?status_not=paid&account_not=CUST001

Kombinere med paginering

Filtre bevares på tvers av sider — URL-ene i next/previous i et paginert svar tar med filterparametrene videre. Se Pagination for omslaget med page/page_size.

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

Feltet count i svaret gjenspeiler det totale antallet i det filtrerte resultatet, ikke det ufiltrerte totalantallet.

Oppslag med alternativ identifikator

En liten gruppe endepunkter (for tiden Plans og Plan Terms) godtar en Lookup-Field HTTP-header som endrer hvordan identifikatoren i URL-stien tolkes — nyttig når du ikke har UUID-en, men kjenner ressursens eksterne code:

GET /api/v1/plans/enterprise/
Lookup-Field: code

Tillatte verdier er dokumentert på de berørte endepunktene (typisk uuid og code).

Beste praksis

  • Filtrer før paginering. Å hente mindre resultatsett er raskere og trekker mindre mot rate limit.
  • Bruk ISO-datoer. Alle datofelter aksepterer YYYY-MM-DD; noen aksepterer også ISO-dato-/tidsverdier (YYYY-MM-DDTHH:MM:SSZ).
  • Kontroller endepunktets parametere. Filternavn varierer per ressurs — blokken Parameters på hver operasjon lister nøyaktig hva som er tilgjengelig (se etter det blå query-merket).
background logo

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