Manipulace se soubory
Upload souboru
Pro nahrání (upload) souboru do DMS je potřeba vykonat následující akce v posloupnosti:
-
Získání autentizačního tokenu
-
token z odpovědi používám u všech následných požadavků.
-
Upload souboru
-
v odpovědi získávám fileId nahraného souboru.
-
Vytvoření dokumentu
-
v proměnných volané mutace předávám fileId nahraného souboru z předchozího kroku.
V principu se jedná se o tzv. multipart post request, stejný, jako provádí prohlížeče.
-
Parametrem storeId se určuje, do kterého úložiště se má soubor nahrát, možné hodnoty jsou: default (úložiště procesní aplikace, např. pro start agendy) a archive (úložiště DMS/SmartSafe, např. pro nahrání souboru do DMS/SmartSafe).
-
Informace o souboru se přenáší stejně jako při uploadu souboru prohlížečem (RFC 1867), tzn., že název souboru určuje hlavička Content-Disposition parametru file, velikost souboru určuje hlavička Content-Length parametru file a konečně typ souboru určuje hlavička Content-Type parametru file.
Odpověď uploadu
V těle odpovědi se nachází hodnota fileId vloženého dokumentu. Například:
{ "fileId": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaWQiOiJhcmNoaXZlIiwiZmlkIjoiMTM0OTlkNGEtYTBlOS00NDg5LWExY2EtYWYyMjg0YjczYjY2IiwiaXNzIjoiaHR0cHM6Ly9sb2NhbGRldi5mYWFzLmN6LyJ9.JlB4wvkw4hjsbUUFp61ZvUZzTEwWjGVzQO5JX6wIgO0" }
Vytvoření souboru v DMS
-
Hodnota fileId se použije z předchozí odpovědi.
-
Část názvu mutace (funkce) pro vytvoření dokumentu tvoří uživatelsky definovaný typ dokumentu.
-
Uživatelsky definovaný typ dokumentu představuje definici vlastních metadat a na nich zavedených omezeních.
Vzorová mutace
Konkrétní název mutace a typů jednotlivých parametrů values záleží na názvu definovaných v administraci archivu. Níže uvedený příklad slouží ke vložení souboru typu Faktura. Lze vyčíst ze schématu.
mutation createFaktura($values: [DocFile_Faktura_Create!]!) { docs { files { createFaktura_Batch(values: $values) { sys { id } } } } }
Proměnná values
Obsahuje povinná a nepovinná metadata. V systémových metadatech musí být vyplněna povinná metadata – fileId nahraného souboru (získané z odpovědi po uploadu), stav, název a třída + klasifikace dokumentu. Hodnoty systémových metadat jsou vždy zanořené pod fieldem „sys“.
{ "values": [ { "sys": { "fileId": "...", "state": "OPEN", "name": "...", "rank": "...", "class": "..." } } ] }
Stažení souboru z DMS
Pro stažení souboru z DMS je potřeba vykonat následující akce v posloupnosti:
-
Získání autentizačního tokenu
-
token z odpovědi používám u všech následných požadavků.
-
Získání seznamu dokumentů
-
posílám query s vytvořenou where podmínkou pro získání konkrétního dokumentu a downloadLinku (viz vzorová query).
-
v odpovědi získávám url pro stažení nahraného souboru.
-
Stažení dokumentu
-
GET na https://sofaws.602.cz/api/sofa/v2/file?fileId=…
kde fileID je hodnota z odpovědi volání pro upload souboru.
-