Přeskočit na hlavní obsah

Výpis záznamů

Jak vypisovat záznamy z aplikace pomocí REST API?

Autor: Petr Pech

V ABRA Flexi je možné vypisovat základní data z aplikace. Obecně rozlišujeme výpis a detail.

Záznamy lze vypisovat i pomocí /query. Pokud Vás zajímají detaily a chcete postupovat tímto způsobem, prostudujte náš jiný návod. Krátkou ukázku rovněž naleznete v závěru tohoto návodu.


Výpis

Jedná se o výpis více záznamů. Lze jej stránkovat, filtrovat, řadit a určovat úroveň detailu. Výstup lze vypisovat ve více formátech.


Detail

Detail vždy reprezentuje jen jeden záznam, který může být identifikován různými způsoby a zapsán ve více formátech.


Výpis mnoha konkrétních záznamů

Pokud potřebujete získat více konkrétních záznamů, u nichž znáte identifikátor (typicky externí ID), máte několik možností.

1. Každý záznam získat samostatně

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

⚠️ V tomto příkladu bude první odpovědí na druhý a třetí požadavek přesměrování na adresu, která obsahuje číselné ID. Na tu je pak třeba poslat nový požadavek. Knihovny pro práci s HTTP obvykle umí následovat přesměrování automaticky, ale může být potřeba to zapnout.

2. Použít filtraci

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

⚠️ Příliš dlouhá URL mohou způsobovat problémy, ať už ve webových prohlížečích nebo na nejrůznějších proxy serverech. Více k filtraci záznamů.

3. Hromadné získání záznamů podle ID

Seznam identifikátorů se předá v těle požadavku, takže délka URL problém není — takto lze získat i několik set či tisíc záznamů zároveň.

Ve formátu 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>

Kromě XML lze použít i JSON, kromě metody POST lze i PUT:

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

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

ℹ️ Pokud je uveden neexistující identifikátor, bude ignorován. Pokud je uveden jeden identifikátor vícekrát, příp. pokud je uvedeno více identifikátorů, které ukazují na stejný záznam, budou na výstupu duplicity.


Výpis pomocí /query

Výpis záznamů lze z ABRA Flexi získat i pomocí tzv. /query, kdy se v těle volání zasílají příslušné parametry.

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

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

Veškeré možnosti a detaily naleznete v našem podrobném návodu.

Dostali jste odpověď na svou otázku?