Preskoči na glavno vsebino

Výpis záznamov

Ako vypisovať záznamy z aplikácie pomocou REST API?

Avtor: Petr Pech

V ABRA Flexi je možné vypisovať základné dáta z aplikácie. Všeobecne rozlišujeme výpis a detail.

Záznamy je možné vypisovať aj pomocou /query. Ak vás zaujímajú detaily a chcete postupovať týmto spôsobom, preštudujte si náš iný návod. Krátku ukážku takisto nájdete v závere tohto návodu.


Výpis

Ide o výpis viacerých záznamov. Je možné ho stránkovať, filtrovať, radiť a určovať úroveň detailu. Výstup je možné vypisovať vo viacerých formátoch.


Detail

Detail vždy reprezentuje len jeden záznam, ktorý môže byť identifikovaný rôznymi spôsobmi a zapísaný vo viacerých formátoch.


Výpis mnohých konkrétnych záznamov

Ak potrebujete získať viac konkrétnych záznamov, u ktorých poznáte identifikátor (typicky externé ID), máte niekoľko možností.

1. Každý záznam získať samostatne

GET /c/firma/faktura-vydana/1 
GET /c/firma/faktura-vydana/code:2
GET /c/firma/faktura-vydana/ext:SYS:3

⚠️ V tomto príklade bude prvou odpoveďou na druhú a tretiu požiadavku presmerovanie na adresu, ktorá obsahuje číselné ID. Na tú je potom potrebné poslať nový požiadavok. Knižnice na prácu s HTTP väčšinou vedia nasledovať presmerovanie automaticky, ale môže byť potrebné to zapnúť.

2. Použiť filtráciu

GET /c/firma/faktura-vydana/(id in (1, 'code:2', 'ext:SYS:3'))

⚠️ Príliš dlhé URL môžu spôsobovať problémy, či už vo webových prehliadačoch alebo na najrôznejších proxy serveroch. Viac k filtrácii záznamov.

3. Hromadné získanie záznamov podľa ID

Zoznam identifikátorov sa odovzdá v tele požiadavky, takže dĺžka URL problém nie je — takto je možné získať aj niekoľko stoviek či tisíc záznamov naraz.

Vo formáte XML:

POST /c/firma/faktura-vydana/get.xml 
Content-Type: application/xml

<winstrom>
<id>1</id>
<id>code:2</id>
<id>ext:SYS:3</id>
</winstrom>

Okrem XML je možné použiť aj JSON, okrem metódy POST je možné aj PUT:

PUT /c/firma/faktura-vydana/get.json 
Content-Type: application/json

{
"winstrom": {
"id": [1, "code:2", "ext:SYS:3"]
}
}

ℹ️ Ak je uvedený neexistujúci identifikátor, bude ignorovaný. Ak je uvedený jeden identifikátor viackrát, prípadne ak je uvedených viac identifikátorov, ktoré ukazujú na rovnaký záznam, budú na výstupe duplicity.


Výpis pomocou /query

Výpis záznamov je možné z ABRA Flexi získať aj pomocou tzv. /query, kedy sa v tele volania zasielajú príslušné parametre.

POST https://demo.flexibee.eu/c/demo/faktura-vydana/query.json 
Content-Type: application/json

{ "winstrom": { ... filtry, detail, parametry } }

Všetky možnosti a detaily nájdete v našom podrobnom návode.

Ste s tem dobili odgovor na svoje vprašanje?