V ABRA Flexi je možné vytlačiť základné údaje z aplikácie. Vo všeobecnosti rozlišujeme medzi extraktom a detailom.

Výpis

Toto je zoznam viacerých záznamov. Možno ich stránkovať, filtrovať, triediť a určiť úroveň podrobnosti. Výstup môže byť vo viacerých formátoch.

Detail

Detail vždy predstavuje jeden záznam, ktorý možno identifikovať rôznymi spôsobmi a zapísať vo viacerých formátoch.

Zoznam mnohých konkrétnych záznamov

Ak potrebujete extrahovať viacero konkrétnych záznamov, pre ktoré poznáte identifikátor (zvyčajne externý identifikátor), máte niekoľko možností.

1. Každý záznam môžete načítať jednotlivo, a to nasledujúcim spôsobom:

GET /c/company/invoice-issued/1

GET /c/company/invoice-issued/code:2

GET /c/firm/invoice-issued/ext:SYS:3

Všimnite si, že v tomto príklade bude prvou odpoveďou na druhú a tretiu požiadavku presmerovanie na adresu, ktorá obsahuje číselné ID. Na túto adresu sa potom musí poslať nová žiadosť. Knižnice HTTP môžu zvyčajne automaticky sledovať presmerovanie, ale možno bude potrebné túto funkciu zapnúť.

2. Filtrovanie môžete použiť takto:

GET /c/company/invoice-issued/(id v (1, 'code:2', 'ext:SYS:3'))

Dávajte si pozor, že príliš dlhé adresy URL môžu spôsobovať problémy (buď vo webových prehliadačoch, alebo na rôznych proxy serveroch).

3. Na načítanie záznamov podľa ID uvedených v dokumente XML môžete použiť funkciu hromadného načítania.

POST /c/company/invoice-issued/get.xml

Content-Type: application/xml

<?xml version="1.0"?>

1

kód:2

ext:SYS:3

Tu nie je problém s dĺžkou adresy URL, takže týmto spôsobom môžete získať niekoľko stoviek alebo tisíc záznamov naraz.

Ak je zadaný neexistujúci identifikátor, bude ignorovaný. Ak je jeden identifikátor zadaný viackrát alebo ak je zadaných viac identifikátorov, ktoré odkazujú na ten istý záznam, vypíšu sa duplikáty.

Okrem XML možno použiť aj JSON a okrem metódy POST možno použiť aj PUT:

PUT /c/company/invoice-issued/get.json

Content-Type: application/json

null

"winstrom": {

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

}

}

Did this answer your question?