Export přílohy
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/JSON
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
Jako endpoint použijte jinou URL adresu než při importu binárního souboru, např: /c/firma/faktura-vydana.xml
.
Pří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>
Pří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..."
}
}
}
}
}
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
).