Preskoči na glavno vsebino

Dá sa v API využiť filtrovanie webového rozhrania?

Avtor: Petr Pech

Webové rozhranie má vlastné „rýchle filtre" — napríklad faktúry za posledných sedem dní. Tie isté filtre sa dajú použiť aj v API zápisom filter[…].


Príklad

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

Na testovacích dátach tento dotaz zúžil výber z 1 391 faktúr na 48. Názov filtra najjednoduchšie zistíte tak, že si filter nastavíte vo webovom rozhraní a pozriete sa na vzniknutú adresu.

🚨 Neplatný filter sa ticho ignoruje. Preklep v názve poľa aj v hodnote (napríklad filter[filterObdobi.datVyst]=filterNesmysl) vráti 200 a všetkých 1 391 záznamov — žiadnu chybu nedostanete. Výsledok preto vždy porovnajte s očakávaným počtom, najlepšie parametrom add-row-count=true.


Kedy je radšej nepoužívať

Nejde o dokumentovanú časť API — funkcia sa môže kedykoľvek zmeniť alebo zmiznúť. Pre integrácie je preto vhodnejšie Filtrovanie záznamov štandardným zápisom v zátvorkách, ktorý je súčasťou API a správa sa predvídateľne: neplatné pole vo filtri skončí chybou, nie tichým ignorovaním.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?