URL parametry

Jak pracovat s parametry URL

Lenka Haringerová avatar
Autor: Lenka Haringerová
Aktualizováno před více než týdnem

V URL používaném pro získávání dat z ABRA Flexi je možné využít mnoho parametrů, které ovlivňují získané výsledky.

Stránkování

Téměř každý uživatel ABRA Flexi API bude dřív nebo později potřebovat nějakým způsobem stránkovat výsledky, které mu systém vrací. Například jen z toho důvodu, že bez jiného určení ABRA Flexi vrací jen prvních 20 výsledků. Implicitně je totiž stránka velká 20 záznamů. Pokud je tedy potřeba ze systému získat další stránky nebo mít stránku delší je nutné začít používat parametry.

Důležité parametry jsou:

limit

Tento parametr určuje, kolik záznamů bude na jedné stránce.
Pokud potřebujete získat stránku se všemi záznamy najednou, tak je nutné tento parametr nastavit na hodnotu 0.

demo.flexibee.eu/c/demo/adresar.xml

Vrátí se prvních dvacet záznamů z evidence adresář.

demo.flexibee.eu/c/demo/adresar.xml?limit=5

Vrátí se prvních pět záznamů z evidence adresář.

demo.flexibee.eu/c/demo/adresar.xml?limit=0

Vrátí se všechny záznamy z evidence adresář.

start

Pokud je požadováno stránkování výsledků, tak jen limit nestačí. Je nutné použít i parametr start, který řekne, na kolikátém záznamu stránka začíná.
První záznam a zároveň výchozí hodnota je start=0.

demo.flexibee.eu/c/demo/adresar.xml?limit=5&start=0

Vrátí stránku o velikosti 5 záznamů z evidence adresář a začne na prvním záznamu.

demo.flexibee.eu/c/demo/adresar.xml?limit=5&start=5

Vrátí druhou stránku o velikosti 5 záznamů z evidence adresář. Druhá stránka je určena parametrem start s hodnotou 5.

add-row-count

Pokud stránkujete záznamy, je vhodné určit, kdy skončit. Je tedy také možné do URL přidat parametr, který do výstupu doplní celkový počet záznamů, přes které je možné stránkovat. Tento parametr se jmenuje add-row-count a nabývá hodnot true nebo false podle toho, zda se má celkový počet doplňovat, nebo ne.

demo.flexibee.eu/c/demo/adresar.xml?limit=5&add-row-count=true

Vrátí stránku o velikosti 5 záznamů z evidence adresář. V elementu winstrom je doplněn atribut rowCount, který obsahuje celkový počet záznamů.

demo.flexibee.eu/c/demo/adresar.json?limit=5&add-row-count=true

Stejný postup je možné aplikovat i na JSON výstup. Pak bude do výstupu doplněno „@rowCount“:“457″.

Pro co nejrychlejší odezvu Flexi doporučujeme používat stránkování!

Další optimalizací může být odstranění parametru add-row-count při načítání dalších stránek. Není totiž nutné se při každé stránce dotazovat, zda se tento počet nezměnil. Navíc získání tohoto čísla je v ABRA Flexi další dotaz do databáze, a každý zbytečný dotaz navíc je zdržení.

Úrovně detailu

Dalším velmi důležitým parametrem je detail. Tento parametr umožňuje ovlivnit, jaké vlastnosti jednotlivých záznamů, dané evidence, se budou ve výstupu nacházet. Je to ale velmi rozsáhlá tématika, takže si ji v budoucnu rozebereme v samostatném článku.
Dokumentace k jednotlivým detailům je dostupná na stránkách ABRA Flexi.

Řazení

Ve většině případů je potřeba záznamy, které ABRA Flexi vrací, mít rovnou i seřazené podle nějaké vlastnosti. Proč bychom měli záznamy řadit ve své aplikaci, když i toto za Vás může vyřešit ABRA Flexi?
Řazení záznamů se provádí parametrem order. Hodnota tohoto parametru je vlastnost, podle které budete chtít řadit.

demo.flexibee.eu/c/demo/adresar.xml?order=kod

Pokud tedy do URL doplníte parametr order=kod, systém bude vracet záznamy seřazené podle vlastnosti Zkratka. Záznamy budou seřazeny vzestupně.

demo.flexibee.eu/c/demo/adresar.xml?order=kod@D

Pokud potřebujete záznamy seřadit sestupně (výhodné například pro řazení podle částek, faktury s nejvyšší hodnotou budou na začátku), tak ještě za název vlastnosti doplňte @D

Řazení podle více hodnot se provádí opakovaným použitím parametru order. Pak záleží i na pořadí, jak jsou do URL parametry order vkládány.

demo.flexibee.eu/c/demo/adresar.xml?order=stat&order=kod

Tento příklad vrátí záznamy z evidence adresář, seřazené nejdříve podle státu a pokud je stát stejný, budou záznamy řazeny podle zkratky.

demo.flexibee.eu/c/demo/adresar.xml?order=kod&order=stat

Dotaz s řazením nejdříve podle zkratky a pak podle státu, samozřejmě vrátí jiné výsledky.

Parametr order je možné použít i přímo ve webovém rozhraní ABRA Flexi.

Ostatní

ABRA Flexi umožňuje v URL ještě mnoho dalších parametrů. Jejich kompletní seznam se nachází na stránce Sestavování URL, takže již zmíníme jen ty nejdůležitější a nejpoužívanější.

Logické parametry s možnými hodnotami true / false lze aktivovat pouhým uvedením parametru (tj. s prázdnou hodnotou). Například ?no-ids=true lze zkráceně zapsat jen jako ?no-ids.

only-ext-ids

Výstupy z Flexi vypisují u každého objektu identifikátory.
Pokud se použije tento parametr, budou vypisovány jen externí identifikátory objektů.

demo.flexibee.eu/c/demo/adresar.xml?only-ext-ids=true demo.flexibee.eu/c/demo/adresar.json?only-ext-ids=true

V tomto případě tedy zmizely vnitřní identifikátory ABRA Flexi a ve výstupu jsou jen externí identifikátory u záznamů, které je obsahují.

no-ext-ids

Opakem předchozího parametru je parametr no-ext-ids. Pokud je použit tento parametr, nebudou ve výstupu žádné externí identifikátory. Parametr no-ext-ids slouží především ke zrychlení načítání dat z ABRA Flexi. Každý pokus o načtení externích identifikátorů výpis zpomaluje.

demo.flexibee.eu/c/demo/adresar.xml?no-ext-ids=true demo.flexibee.eu/c/demo/adresar.json?no-ext-ids=true

no-ids

Obdoba předchozího parametru, ale ve výstupu nebudou žádné vnitřní identifikátory ABRA Flexi. Takže mohou zůstat zobrazeny například externí identifikátory.

Parametr no-ids=true ovlivňuje export ve všech úrovních, tj. také položky dokladů a vložené vazby.

demo.flexibee.eu/c/demo/adresar.xml?no-ids=true demo.flexibee.eu/c/demo/adresar.json?no-ids=true

no-comments

Pro možnost potlačení komentářů v XML výstupu byl přidán nový logický parametr no-comments.

demo.flexibee.eu/c/demo/adresar.xml?no-comments

mode=simple

Nový režim exportu “simple”(?mode=simple) generující minimalistický výstup bez atributů ref a showAs a v případě XML navíc bez vysvětlujících komentářů.

demo.flexibee.eu/c/demo/adresar.xml?mode=simple

code-as-id

Tímto parametrem se místo interních identifikátorů ABRA Flexi vypíše u evidencí, které to podporují, zkratka jako identifikátor.

demo.flexibee.eu/c/demo/adresar.xml?code-as-id=true demo.flexibee.eu/c/demo/adresar.json?code-as-id=true

Tímto parametrem je možné v kombinaci s no-ids zajistit přenosy dat mezi jednotlivými firmami ve Flexi. Například, pokud bude potřeba přenést adresář z firmy A do firmy B, je nejlepší způsob použít export přes REST-API, z firmy A a import do firmy B. URL pro získání adresáře bude vypadat například takto:

demo.flexibee.eu/c/demo/adresar.xml?code-as-id=true&no-ids=true

access-attribs=true

Zpřístupní dodatečné atributy informující o editovatelnosti záznamu.

demo.flexibee.eu/c/demo/nabidka-vydana.xml?access-attribs=true

Výsledek u kolekcí může vypadat například takto:

<polozkyObchDokladu insertable="true">

<nabidka-vydana-polozka editable="true" deletable="true">

Dostali jste odpověď na svou otázku?