Přeskočit na hlavní obsah

API - Adresář - Typ vztahu - filtry

Filtrování v adresáři podle typu vztahu

Autor: Petr Pech

Adresář má typ vztahu v poli typVztahuK. Filtrovat podle něj lze dvěma způsoby, které se liší tím, jak široký výběr vrátí.


Přesná shoda

Běžný filtr v adrese vrátí jen záznamy, které mají přesně zvolenou 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á jako Odběratel/Dodavatel se tedy do výsledku pro dodavatel nedostane.


Rychlý filtr webového rozhraní

Druhá varianta používá zápis filter[…] a chová se jako filtr v aplikaci — hledá firmy, které mohou v dané roli vystupovat:

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

Rozdíl je vidět na počtech — na stejných datech vrátí přesný filtr 6 dodavatelů, kdežto rychlý filtr 157 záznamů, protože přibere i kombinovaný typ a firmy, které typ vztahu nemají vyplněný:

Filtr

Co zahrne

(typVztahuK='typVztahu.dodavatel')

Jen Dodavatel.

?filter[typVztahuK]=typVztahu.dodavatel

Dodavatel + Odběratel/Dodavatel + záznamy bez vyplněného typu.

?filter[typVztahuK]=typVztahu.odberDodav

Dodavatel + Odběratel + Odběratel/Dodavatel + záznamy bez typu.

⚠️ Zápis filter[…] je převzatý z webového rozhraní a není součástí dokumentovaného API — chování se může změnit. Pro integrace je bezpečnější přesný filtr, případně (typVztahuK='…' or typVztahuK='typVztahu.odberDodav').

ℹ️ Pole typVztahuK nabízí i další hodnoty — typVztahu.vyrobce, typVztahu.socialka, typVztahu.zdravotka, typVztahu.financniUrad. Úplný výčet vydá /c/{firma}/adresar/properties.xml.


Související

Dostali jste odpověď na svou otázku?