Přeskočit na hlavní obsah
Přílohy

Jak pracovat s přílohami

Lenka Haringerová avatar
Autor: Lenka Haringerová
Aktualizováno před více než 2 měsíci

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).

Dostali jste odpověď na svou otázku?