Manipulace se soubory

Upload souboru

Pro nahrání (upload) souboru do DMS je potřeba vykonat následující akce v posloupnosti:

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.

Hlavičky požadavku upload souboru

  • Content-Type: multipart/form-data.

  • Authorization: Bearer [token].

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: