Preskoči na glavno vsebino

API - Adresár - Typ vzťahu - filtre

Filtrovanie v adresári podľa typu vzťahu

Avtor: Petr Pech

Adresár má typ vzťahu v poli typVztahuK. Filtrovať podľa neho možno dvoma spôsobmi, ktoré sa líšia tým, ako široký výber vrátia.


Presná zhoda

Bežný filter v adrese vráti len záznamy, ktoré majú presne zvolenú hodnotu:

GET /c/{firma}/adresar/(typVztahuK='typVztahu.dodavatel').json
GET /c/{firma}/adresar/(typVztahuK='typVztahu.odberatel').json
GET /c/{firma}/adresar/(typVztahuK='typVztahu.odberDodav').json

Firma označená ako Odberateľ/Dodávateľ sa teda do výsledku pre dodavatel nedostane.


Rýchly filter webového rozhrania

Druhá varianta používa zápis filter[…] a správa sa ako filter v aplikácii — hľadá firmy, ktoré môžu v danej role vystupovať:

GET /c/{firma}/adresar.json?filter[typVztahuK]=typVztahu.dodavatel
GET /c/{firma}/adresar.json?filter[typVztahuK]=typVztahu.odberatel
GET /c/{firma}/adresar.json?filter[typVztahuK]=typVztahu.odberDodav

Rozdiel je vidieť na počtoch — na rovnakých dátach vráti presný filter 6 dodávateľov, kým rýchly filter 157 záznamov, pretože zahrnie aj kombinovaný typ a firmy, ktoré typ vzťahu nemajú vyplnený:

Filter

Čo zahrnie

(typVztahuK='typVztahu.dodavatel')

Len Dodávateľ.

?filter[typVztahuK]=typVztahu.dodavatel

Dodávateľ + Odberateľ/Dodávateľ + záznamy bez vyplneného typu.

?filter[typVztahuK]=typVztahu.odberDodav

Dodávateľ + Odberateľ + Odberateľ/Dodávateľ + záznamy bez typu.

⚠️ Zápis filter[…] je prevzatý z webového rozhrania a nie je súčasťou dokumentovaného API — správanie sa môže zmeniť. Pre integrácie je bezpečnejší presný filter, prípadne (typVztahuK='…' or typVztahuK='typVztahu.odberDodav').

ℹ️ Pole typVztahuK ponúka aj ďalšie hodnoty — typVztahu.vyrobce, typVztahu.socialka, typVztahu.zdravotka, typVztahu.financniUrad. Úplný výpočet vydá /c/{firma}/adresar/properties.xml.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?