Export prílohy
Pri záznamoch, ktoré podporujú prílohy, možno zobraziť zoznam príloh takto:
/c/firma/adresar/12/prilohy
Metadáta jednej konkrétnej prílohy možno získať obvyklým spôsobom:
/c/firma/adresar/12/prilohy/75
Binárne dáta prílohy možno získať pomocou GET, súčasťou odpovede je aj správna hlavička Content-Type:
/c/firma/adresar/12/prilohy/75/content
Ak je príloha obrázkom, možno rovnakým spôsobom získať aj náhľad (ak neexistuje, odpoveďou bude chyba 404):
/c/firma/adresar/12/prilohy/75/thumbnail
Import binárneho súboru
Prílohu možno tiež cez PUT vytvoriť, pričom musíte zadať názov súboru a v hlavičke Content-Type odoslať jeho typ:
PUT /c/firma/adresar/12/prilohy/new/název souboru
Content-Type: image/jpeg
Binárne dáta prílohy musia byť v tele požiadavky. Existujúcu prílohu nemožno meniť, v takom prípade je potrebné prílohu zmazať a znovu vytvoriť. Podrobnosti o importe príloh cez XML nižšie.
Import cez XML/JSON
Podporovaný je aj import príloh cez XML (dáta musia byť opäť zakódované v Base64), má to však určité obmedzenia:
novú prílohu možno vytvoriť iba ako súčasť iného objektu (nemôže byť koreňový tag)
meniť možno iba metadáta, dáta prílohy už nie
Ako endpoint použite inú URL adresu ako pri importe binárneho súboru, napr.: /c/firma/faktura-vydana.xml.
Príklad XML
<winstrom>
<faktura-vydana>
<id>11925</id>
<prilohy>
<priloha update="ignore">
<id>ext:DPH-KONTROLA:faktura-vydana:11925</id>
<contentType>text/html</contentType>
<nazSoub>vies-CZ18239617-2023-01-19.html</nazSoub>
<typK>typPrilohy.ostatni</typK>
<content encoding="base64">PGh0bWw+PG...</content>
</priloha>
</prilohy>
</faktura-vydana>
</winstrom>
Príklad JSON
{
"winstrom": {
"faktura-vydana": {
"id": "11925",
"prilohy": {
"priloha": {
"id": "ext:DPH-KONTROLA:faktura-vydana:11925",
"contentType": "text/html",
"nazSoub": "vies-CZ18239617-2023-01-19.html",
"typK": "typPrilohy.ostatni",
"content@encoding": "base64",
"content": "PGh0bWw+PG..."
}
}
}
}
}
Poznámka:
Ak importujete XML prílohu, API sa automaticky prepne do komunikácie vo formáte XML (hlavičku JSON potom neberie do úvahy).
Export
Obsah prílohy možno tiež exportovať priamo do XML, dáta sa exportujú zakódované v Base64 (<?xml version="1.0"?> <content encoding="base64">...</content> ).
Prílohy možno pri prístupe cez REST API exportovať aj ako súčasť objektov, ku ktorým patria, v takom prípade je potrebné v URL uviesť parameter relations=prilohy.
Podpora obrázkov
Ak nahráte do ABRA Flexi prílohu vo formáte obrázka, je pridaná podpora pre generovanie náhľadov. Obrázok musí byť v jednom z týchto formátov:
image/jpeg
image/gif
image/png
Pri objektoch s prílohou je možné požiadať o primárny obrázok (ak neexistuje, odpoveďou bude chyba 404):
/c/firma/cenik/12/thumbnail.png
Veľkosť obrázka možno určiť pomocou parametrov w a h.
Prílohy k nastaveniu
Nastavenie firmy obsahuje dve prílohy: logo a podpis a pečiatku. S nimi sa pracuje špeciálnym spôsobom.
Zistiť, či je k nastaveniu pripojené logo, možno pomocou GET:
GET /c/firma/nastaveni/1/logo
Ak je logo pripojené, je vrátené presmerovanie na kanonickú URL prílohy (v tvare /c/firma/priloha/3), t. j. kód 303 a hlavička Location. Ak logo pripojené nie je, je vrátený kód 404.
Ak logo nie je pripojené, možno ho pripojiť volaním PUT alebo POST (so správnou hlavičkou Content-Type):
PUT /c/firma/nastaveni/1/logo Content-Type: image/jpeg
Binárne dáta loga musia byť ako zvyčajne v tele požiadavky. Rovnako ako pri prílohách, nemožno pripojiť logo k nastaveniu, ak už nejaké logo pripojené je. V takej situácii je vrátený chybový kód 400. Úspech je označený kódom 201 a v hlavičke Location je URL novo vytvorenej prílohy.
Logo možno odstrániť použitím DELETE:
DELETE /c/firma/nastaveni/1/logo
Ak bolo logo v poriadku odstránené, je vrátený kód 200. Ak žiadne logo neexistovalo, je vrátený chybový kód 404.
S podpisom a pečiatkou sa pracuje úplne rovnako, len namiesto slova logo sa v URL použije podpis-razitko (teda napr. /c/firma/nastaveni/1/podpis-razitko).
