Výpis záznamů

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

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