Liever iemand spreken? Bel ons op (+31)(0)85-487 4090 of mail naar support@neoforce.eu

Filteren via de Neoforce API

Toegevoegd op woensdag 18 december 2024 16:00 | Laatst gewijzigd op donderdag 3 juli 2025 22:35
326

Dit artikel beschrijft hoe je gegevens kunt filteren via de Neoforce API met behulp van een uitgebreid filtermechanisme. De API ondersteunt flexibele en krachtige filters waarmee je resultaten kunt ophalen op basis van specifieke zoekcriteria.

Je kunt filters toepassen op vrijwel elk veld binnen de beschikbare entiteiten, waaronder tickets, contracten, datasets en meer. Hiermee is het mogelijk om bijvoorbeeld records op te vragen die voldoen aan bepaalde datums, statussen of andere voorwaarden. Het filtermechanisme ondersteunt vergelijkingsoperatoren en meerdere voorwaarden tegelijk.

In dit artikel leggen we de filterstructuur uit, tonen we praktische voorbeelden en geven we tips voor het efficiënt combineren van meerdere filters in één API-aanroep.

Standaardfiltering

De oorspronkelijke schrijfwijze van het filtermechanisme is nog steeds geldig en werkt als volgt:

?filter[createdDate]=2024-12-16 14:31:26

Deze schrijfwijze filtert resultaten waarbij het veld createdDate exact overeenkomt met de opgegeven waarde. Het is een eenvoudigere en snellere manier om filters toe te passen, zonder gebruik te maken van complexere structuren of logica.

Let op: deze vorm van filteren is altijd strict, wat betekent dat er alleen resultaten worden teruggegeven die precies overeenkomen met de opgegeven waarde. Er is dus geen ruimte voor variaties, gedeeltelijke overeenkomsten of alternatieve formaten.

In veel gevallen is deze methode echter prima geschikt — bijvoorbeeld bij het filteren op vaste waarden zoals statussen, exacte datums of unieke ID's. Voor meer geavanceerde zoekopdrachten (zoals groter dan, bevat enz.) wordt het gebruik van het uitgebreide filtermechanisme aanbevolen.

Uitgebreid filtermechanisme

Met de uitgebreide schrijfwijze kun je flexibeler filters toepassen door gebruik te maken van verschillende vergelijkingsoperatoren. Dit biedt de mogelijkheid om resultaten te zoeken die aan specifieke voorwaarden voldoen.

Schrijfwijze

?filter[veldnaam][operator]=waarde
  • veldnaam: Het veld waarop je wilt filteren (bijvoorbeeld createdDate).
  • operator: De vergelijking die je wilt maken (bijvoorbeeld eq, lt, bt, enz.).
  • waarde: De waarde waarmee het veld moet worden vergeleken (bijvoorbeeld 2024-12-16 14:31:26).

Beschikbare vergelijkingsoperatoren

De volgende operatoren worden ondersteund:

Operator Betekenis Voorbeeld
eq Gelijk aan ?filter[createdDate][eq]=2024-12-16 14:31:26
neq Niet gelijk aan ?filter[createdDate][neq]=2024-12-16 14:31:26
lt Kleiner dan ?filter[createdDate][lt]=2024-12-16
lte Kleiner dan of gelijk aan ?filter[createdDate][lte]=2024-12-16
gt Groter dan ?filter[createdDate][gt]=2024-12-16
gte Groter dan of gelijk aan ?filter[createdDate][gte]=2024-12-16
sw Begint met ?filter[naam][sw]=Jan
nsw Begint niet met ?filter[naam][nsw]=Jan
ew Eindigt met ?filter[naam][ew]=sen
new Eindigt niet met ?filter[naam][new]=sen
ct Bevat ?filter[naam][ct]=an
nct Bevat niet ?filter[naam][nct]=an
in Zit in lijst ?filter[id][in]=1,2,3
nin Zit niet in lijst ?filter[id][nin]=4,5,6
bt Tussen ?filter[createdDate][bt]=2024-01-01,2024-12-31
nbt Niet tussen ?filter[createdDate][nbt]=2024-01-01,2024-12-31
em Is leeg ?filter[veld][em]=
nem Is niet leeg ?filter[veld][nem]=

Voorbeelden van uitgebreid filtergebruik

  1. Resultaten gelijk aan een specifieke datum

    ?filter[createdDate][eq]=2024-12-16 14:31:26
  2. Resultaten groter dan of gelijk aan een bepaalde datum

    ?filter[createdDate][gte]=2024-01-01
  3. Resultaten tussen twee datums

    ?filter[createdDate][bt]=2024-01-01,2024-12-31
  4. Resultaten binnen het eerste en derde kwartaal

    ?filter[createdDate][bt]=2024-01-01,2024-03-31;2024-07-01,2024-9-31
  5. Resultaten waarvan de naam begint met een specifieke tekst

    ?filter[naam][sw]=Jan
  6. Resultaten waarvan een veld leeg is

    ?filter[veld][em]=

Filteren op een Asset-veld

Om resultaten te filteren op gekoppelde assets, wordt de oude schrijfwijze gebruikt. Dit is handig als je bijvoorbeeld alle resultaten wilt zien waarbij een laptop met een specifieke ID is gekoppeld.

Schrijfwijze voor Asset-filtering

?filter[assets]=objecttype::id
Voorbeelden
  1. Resultaten waarbij een laptop met ID 42 is gekoppeld:

    ?filter[assets]=obj_laptops::42
  2. Resultaten waarbij meerdere laptops zijn gekoppeld:

    ?filter[assets]=obj_laptops::42;obj_laptops::43
  3. Resultaten met verschillende soorten assets:

    ?filter[assets]=obj_laptops::42;obj_telefoons::43

Met deze schrijfwijze kun je eenvoudig filteren op gekoppelde assets door het juiste objecttype en ID op te geven. Meerdere assets kunnen worden gescheiden door een puntkomma (;).


Backwards Compatibility

De oorspronkelijke filtervorm zonder operator blijft ondersteund. Dit betekent dat de volgende schrijfwijze nog steeds geldig is:

?filter[createdDate]=2024-12-16 14:31:26

Maar de nieuwe en uitgebreide schrijfwijze biedt meer flexibiliteit en wordt aanbevolen.

Inhoudsopgave