Výpis záznamů

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

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

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. Můžete každý záznam získat samostatně, takto:

GET /c/firma/faktura-vydana/1

GET /c/firma/faktura-vydana/code:2

GET /c/firma/faktura-vydana/ext:SYS:3

Pozor na to, že 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. Můžete použít filtraci, takto:

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

Pozor na to, že 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).

3. Můžete použít funkci hromadného získání záznamů podle ID zadaných v XML dokumentu.

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>

Zde není problém s délkou URL, takže takto lze získat i několik set či tisíc záznamů zároveň.

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.

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"]

}

}

Na závěr je zapotřebí znovu zmínit, že 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.

Standardní volání JSON

  1. POST
    https://demo.flexibee.eu/c/demo/faktura-vydana/query.json

  2. Tělo požadavku
    { "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?