U záznamů, které podporují přílohy, lze zobrazit seznam příloh takto:
/c/firma/adresar/12/prilohy
Metadata jedné konkrétní přílohy lze získat obvyklým způsobem:
/c/firma/adresar/12/prilohy/75
Binární data přílohy lze získat pomocí GET, součástí odpovědi je i správná hlavička Content-Type:
/c/firma/adresar/12/prilohy/75/content
Pokud je příloha obrázkem, lze získat obdobným způsobem i náhled (neexistuje-li, odpovědí bude chyba 404):
/c/firma/adresar/12/prilohy/75/thumbnail
Import binárního souboru
Přílohu lze také přes PUT založit, musíte při tom zadat jméno souboru a v hlavičce Content-Type poslat jeho typ:
PUT /c/firma/adresar/12/prilohy/new/název souboru
Content-Type: image/jpeg
Binární data přílohy musí být v těle požadavku. Existující přílohu nelze měnit, v takovém případě je potřeba přílohu smazat a znovu založit. Detaily o importu příloh přes XML níže.
Import přes XML
Je podporován i import příloh přes XML (data musí být zakódována opět v Base64), má to ale jistá omezení:
novou přílohu lze založit pouze jako součást jiného objektu (nemůže být kořenový tag)
měnit lze pouze metadata, data přílohy už nikoliv
<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>
Export
Obsah přílohy lze také exportovat přímo do XML, data se exportují zakódovaná v Base64 (<?xml version="1.0"?> <content encoding="base64">...</content>
).
Přílohy lze při přístupu přes REST API exportovat i jako součást objektů, ke kterým patří, pak je potřeba v URL uvést parametr relations=prilohy
.
Podpora obrázků
Pokud nahrajete do ABRA Flexi přílohu ve formátu obrázku, je přidána podpora pro generování náhledů. Obrázek musí být v jednom z těchto formátů:
image/jpeg
image/gif
image/png
U objektů s přílohou je možné požádat o primární obrázek (neexistuje-li, odpovědí bude chyba 404):
/c/firma/cenik/12/thumbnail.png
Je možné určit velikost obrázku pomocí parametrů w
a h
.
Přílohy k nastavení
Nastavení firmy obsahuje dvě přílohy: logo a podpis a razítko. S nimi se pracuje speciálním způsobem.
Zjistit, zda je k nastavení připojeno logo, lze zjistit pomocí GET:
GET /c/firma/nastaveni/1/logo
Pokud je logo připojeno, je vráceno přesměrování na kanonické URL přílohy (ve tvaru /c/firma/priloha/3
), tj. kód 303 a hlavička Location. Pokud logo připojeno není, je vrácen kód 404.
Pokud není logo připojeno, lze ho připojit voláním PUT nebo POST (se správnou hlavičkou Content-Type):
PUT /c/firma/nastaveni/1/logo Content-Type: image/jpeg
Binární data loga musí být jako obvykle v těle požadavku. Stejně jako u příloh, nelze připojit logo k nastavení, pokud už nějaké logo připojeno je. V takové situaci je vrácen chybový kód 400. Úspěch je značen kódem 201 a v hlavičce Location je URL nově vzniklé přílohy.
Logo lze odstranit použitím DELETE:
DELETE /c/firma/nastaveni/1/logo
Pokud bylo logo v pořádku odstraněno, je vrácen kód 200. Pokud žádné logo neexistovalo, je vrácen chybový kód 404.
S podpisem a razítkem se pracuje úplně stejně, jen namísto slova logo
se v URL použije podpis-razitko
(tedy např. /c/firma/nastaveni/1/podpis-razitko
).