Přeskočit na hlavní obsah

Lze využít filtrace webového rozhraní v API?

Autor: Petr Pech

Webové rozhraní má vlastní „rychlé filtry" — například faktury za posledních sedm dní. Tytéž filtry se dají použít i v API zápisem filter[…].


Příklad

GET /c/{firma}/faktura-vydana.json?filter[filterObdobi.datVyst]=filterPoslednich7Dni

Na testovacích datech tento dotaz zúžil výběr z 1 391 faktur na 48. Jméno filtru zjistíte nejsnáz tak, že si filtr nastavíte ve webovém rozhraní a podíváte se na vzniklou adresu.

🚨 Neplatný filtr se tiše ignoruje. Překlep v názvu pole i v hodnotě (například filter[filterObdobi.datVyst]=filterNesmysl) vrátí 200 a všech 1 391 záznamů — žádnou chybu nedostanete. Výsledek proto vždy porovnejte s očekávaným počtem, nejlépe parametrem add-row-count=true.


Kdy je raději nepoužívat

Nejde o dokumentovanou část API — funkce se může kdykoli změnit nebo zmizet. Pro integrace je proto vhodnější Filtrování záznamů standardním zápisem v závorkách, který je součástí API a chová se předvídatelně: neplatné pole ve filtru skončí chybou, ne tichým ignorováním.


Související

Dostali jste odpověď na svou otázku?