REST API v1.2Aktualizácia: 04.05.2026

Pre náročnejších zákazníkov ponúkame možnosť využívať služby systému Docflow pomocou JSON REST API na adrese https://api.docflow.ai.

Základné nastavenie

  • Metódy: GET, POST, PUT, PATCH, DELETE
  • Hlavičky: Content-Type: application/json
  • Telo requestu: JSON formát

Používané dátové typy

  • string textový reťazec.
  • bool nadobúda true alebo false.
  • number číslo.
  • float číslo s desatinným miestom.
  • null je žiadna hodnota.
  • DATE je dátum v JSON formáte YYYY-MM-DDTHH:mm:ss.SSS. Viac info tu.
  • SHA256 je string o dĺžke 64 znakov, hexadecimal.
  • ObjectID je string o dĺžke 24 znakov, hexadecimal. Viac info tu.

Zoznam HTTP kódov

  • 200, 204, 205 – OK.
  • 400 – chybná požiadavka.
  • 401 – neprihlásený.
  • 403 – prístup bol zamietnutý kvôli právam.
  • 404 – záznam nebol nájdený.
  • 422 – požiadavka je v poriadku ale nastal iný dôvod zamietnutia.
  • 500 – chyba.

Prihlásenie

Prihlásenie prebieha odoslaním requestu na prihlásenie. API vráti odpoveď a vytvorenú cookie pre session, ktorú je potrebné pri ďalších requestov udržať.
Príklad: session=<xxxxxx>; Expires=Wed, 22 Mar 2023 16:36:40 GMT; HttpOnly; Path=/

Prihlásenie pomocou emailu a hesla

Pre prihlásenie pomocou emailu využívajte Váš účet alebo nový účet. Heslo musí byť zahešované už na strane klienta šifrou SHA256. Email a hash hesla sú súčasťou requestu.

POST /user/login
Headers
Content-Type: application/json
Request
{
    "email": "sample@email.org",
    "password": "29500ac16fcdea35efd35be91d8463fd8bdfa2f2a012955067266db03e46e4dd"
}

Prihlásenie pomocou tokenu

Token si môžete vytvoriť pomocou Web aplikácie, alebo požiadať nás emailom na api@docflow.ai. V requeste môžete posielať doplnkové informácie o zariadení, skripte alebo systéme pre lepšiu identifikáciu.

POST /user/login-by-token
Headers
Content-Type: application/json
Token: 1b722135f1c7d677802f487c73c3000ae8313986
Request
{
    "id": "a63a6ab1ef11b3b1021a9a6",
    "type": "phone",
    "model": "iPhone 13 Pro",
    "vendor": "Apple",
    "ip": "X.X.X.X"
}

Odpoveď

Odpoveď je pre oba spôsoby prihlásenia rovnaká. Nižšie je popísaná základná štruktúra.

{
    "success": true,
    "user": {
        "_id": ObjectID,
        "email": string,
        "name": string,
        "phone": string,
        "currentOwnerId": ObjectID,
        "currentOwnerName": string,
        "currentOwnerIban": string,
        "currentOwnerMailbox": string,
        "owners": {"_id": ObjectID, "name": string, "role": ["admin", "editor", "viewer"]},
        ...
    }
}

Nahrávanie

Nahratie dokumentu

Nahrávanie nefunguje formou multipart/form-data. Funguje formou JSON requestu, kde každá stránka je uvedená v poli origin a telo stránky je odosielané ako BASE64. Viac stránkové dokumenty je teda potrebné rozdeliť na samostatné stránky už na strane klienta. Takto potom môžete spájať rôzne súbory (PDF, PNG, JPEG) do jedného viac stránkového dokumentu.

POST /document
Request
{
    "documentType": string, # ID typu dokumentu (napríklad "incomingInvoice")
    "name": string, # názov súboru dokumentu
    "process": 0,
    "origin": [ # zoznam stránok dokumentu (1-n)
        {
            "name": string, # názov
            "type": string, # MIME typ (napríklad "application/pdf")
            "page": number, # číslo stránky od 0
            "data": "data:application/pdf;base64,JVBERi0xLj..." # BASE64 samostatnej jedinej stránky
        },
        ...
    ]
}
Response
{
    "id": ObjectID, # ID nového dokumentu
    "success": true
}

Vytvorenie prílohy k dokumentu

K existujúcemu dokumentu je možné pripojiť ľubovoľný počet príloh (napríklad sken zmluvy, dodací list, e-mailovú konverzáciu). Príloha sa odosiela ako jeden samostatný súbor – nie je potrebné ju deliť po stránkach. Telo súboru posielate ako BASE64 v poli data.

POST /attachments
Request
{
    "docId": ObjectID, # ID rodičovského dokumentu
    "name": string, # názov súboru (napríklad "zmluva.pdf")
    "title": string, # popisný titulok prílohy
    "type": string, # MIME typ (napríklad "application/pdf")
    "data": "data:application/pdf;base64,JVBERi0xLj..." # BASE64 obsah súboru
}
Response
{
    "_id": ObjectID # ID novej prílohy
}

Zoznam príloh dokumentu

Zoznam všetkých nezmazaných príloh, ktoré patria k zadanému dokumentu.

GET /document/attachments/<doc_id:ObjectID>
Response
[
    {
        "_id": ObjectID, # ID prílohy
        "docId": ObjectID, # ID rodičovského dokumentu
        "userId": ObjectID, # ID používateľa, ktorý prílohu nahral
        "name": string, # názov súboru
        "title": string, # popisný titulok
        "type": string, # MIME typ
        "process": number, # stav spracovania
        "blobName": string, # interný identifikátor blobu (po spracovaní)
        "url": string, # dočasný odkaz na stiahnutie (ak je príloha už uložená v storage)
        "createdAt": DATE,
        "updatedAt": DATE
    },
    ...
]

Detail prílohy

Vráti metadáta jednej konkrétnej prílohy podľa jej ID.

GET /attachments/<id:ObjectID>
Response
{
    "docId": ObjectID, # ID rodičovského dokumentu
    "userId": ObjectID,
    "name": string,
    "title": string,
    "type": string,
    "process": number,
    "blobName": string,
    "url": string, # dočasný odkaz na stiahnutie
    "createdAt": DATE,
    "updatedAt": DATE
}

Úprava prílohy

Aktuálne podporovanou úpravou je zmena popisného titulku prílohy.

PUT /attachments/<id:ObjectID>
Request
{
    "title": string # nový titulok prílohy
}
Response
{}

Vymazanie prílohy

Príloha sa odstráni soft-delete spôsobom – v databáze sa označí ako zmazaná, ale fyzicky zostáva uložená.

DELETE /attachments/<id:ObjectID>
Response
{}

Stiahnutie prílohy

Vráti binárny obsah prílohy s hlavičkami pre stiahnutie. Endpoint je vhodné použiť, ak chcete priamo serverom poslať súbor klientovi. Alternatívne možno použiť dočasný odkaz url z detailu, resp. zoznamu príloh.

GET /attachments/download/<id:ObjectID>

Response tvorí telo súboru s hlavičkami Content-Type: application/octet-stream a Content-Disposition: attachment; filename="<name>".

Získanie informácií o dokumentoch

Verejné info dokumentu

Tento endpoint je verejný a slúži len rýchle overenie existencie dokumentu a získanie ID vlastníka (projektu / firmy). Endpoint nepotrebuje prihlásenie.

GET /document/info/<id:ObjectID>
Response
{
    "id": ObjectID,
    "ownerId": ObjectID
}

Detail dokumentu

GET /document/<id:ObjectID>
Response
{
    "id": ObjectID, # ID dokumentu
    "name": string, # meno dokumentu
    "userId": ObjectID, # ID pridelenej osoby
    "ownerId": ObjectID, # ID vlastníka (projektu / firmy)
    "doctype": string, # typ dokumentu (kategória)
    "type": [...], # zoznam typov suborov
    "step": number, # číslo kroku vo workflow
    "paid": bool, # príznak uhradenia
    ...
    "predicted": bool, # príznak či prebehla predikcia
    "predictions": [...], # zoznam predikcií podľa typu
    "fields": [...], # zoznam vyťažených a skontrolovaných údajov
    "pages": [...], # zoznam stránok s rozmermi, veľkosťou, typom, ocr a url na obrázok
    ...
    "createdAt": DATE, # dátum vytvorenia
    "updatedAt": DATE, # dátum poslednej zmeny
    "cachedAt": DATE,
    ...
}

Zoznam dokumentov

POST /documents/
Request
{
    "sizePerPage": number, # počet záznamov na stránku
    "page": number, # číslo stránky
    "sortField": string, # zoradenie poľa, napríklad "fields.issueDate"
    "sortOrder": number, # zoradenie smer (asc=1, desc=-1)
    "filters": objekt, # viac v sekcii Filtrovanie
    "q": string, # textová hodnota pre fulltext vyhľadávanie
}
Response
{
    "total": number, # počet vyhovujúcich dokumentov
    "data": [DocumentDetail, DocumentDetail, ...], # zoznam dokumentov
}

Zoznam ID dokumentov

POST /documents/ids

Request je rovnaký ako pri zozname dokumentov

Response
{
    "total": number, # počet vyhovujúcich dokumentov
    "data": [ObjectID, ObjectID, ...], # ID dokumentov
}

Filtrovanie

Filtrovať zoznam dokumentov je možné pomocou nasledovných spôsobov a údajov:

  • Fulltextu – použitie argumentu q
  • Parametrických filtrov – použitie argumentu filters
{
    "filters": {
        "createdAtFrom": DATE, # najbežnejšie dátumové filtre sú v roote
        "createdAtTo": DATE,
        "updatedAtFrom": DATE,
        "updatedAtTo": DATE,
        "taxDateFrom": DATE,
        "taxDateTo": DATE,
        "workflow": { # filtrovanie cez číslo kroku vo workflow
            "incomingInvoice": [-1],
            "receipt": [1,2,3,4,5,6, ...] # zoznam krokov pre konkrétny doctype
        },
        "doctype": ["incomingInvoice", ...], # filtrovanie cez doctype
        "fields.issueDate": { # alebo použitie parametrov - údajov, ktoré sú vyťažené
            "operation": "between",
            "value": [DATE, DATE],
        },
        "fields.supplierId": {
            "operation": "in",
            "value": [string, ...],
        }
    }
}

Projekty

Zoznam projektov

Zoznam projektov/firiem, ktoré má používateľ k dispozícii

GET /owners
Response
[
    {
        "_id": string, # ID projektu
        "companyId": string, # IČO
        "companyName": string, # Oficiálny názov projektu
        "emailDocsSplit": bool, # príznak, či budú nahraté dokumenty rozdelené na jednotlivé strany
        "iban": [
            {
                "iban": string, # IBAN
                "name": string # názov účtu
            },
            ...
        ],
        "mailbox": string, # emailová schránka
        "name": string, # názov projektu
        "taxID": string, # DIČ
        "totalDocumentCount": number, # počet dokumentov
        "type": string, # typ platcu DPH (prázdne ak nie je platca)
        "vatId": string # IČ DPH
    },
    ...
]

Zmena projektu

Bežne budete potrebovať zmeniť vlastníka (projekt / firmu), s ktorou cez API pracujete.

POST /user/change-owner
Request
{
    "id": "a63a6ab1ef11b3b1021a9a2",
}
Response
{
    "_id": ObjectID,
    "email": string,
    "name": string,
    "phone": string,
    "currentOwnerId": ObjectID,
    "currentOwnerName": string,
    "currentOwnerIban": string,
    "currentOwnerMailbox": string,
    "owners": {"_id": ObjectID, "name": string, "role": ["admin", "editor", "viewer"]},
    ...
}

Typy dokumentov

Zoznam typov dokumentov

Typy dokumentu sú vlastne kategórie – priečinky. Každá kategória má vlastné nastavenie parametrov (fields), interného čísla a AI modelu.

GET /doctypes
Response
{
    "id": string, # systémové ID typu dokumentu (napríklad "incomingInvoice")
    "name": string, # názov typu dokumentu (kategórie)
    "short": string, # skratka kategórie
    "year": number, # počet znakov pre rok v internom čísle
    "number": number, # počet znakov pre číslo v internom čísle
    "documentsCount": number, # počet dokumentov v kategórii
    "currentOwnerIban": string,
    "currentOwnerMailbox": string,
    "fields": [
        {
            "id": string, # ID použitého fieldu (parametra)
            "required": bool, # príznak či má byť požadovaný
            "validation": bool, # príznak či má byť validovaný
            "invisible": bool, # príznak či má byť skrytý
            "default": string # defaultná hodnota
        },
        ...
    ],
    ...
}

Zoznam fieldov

Fieldy sú jednotlivé parametre, ktoré sa vyťažujú alebo zaznamenávajú pri dokumente (napr. supplierId, issueDate, totalAmount). Niektoré fieldy sú obyčajné textové/číselné položky, iné majú definovaný číselník – zoznam povolených hodnôt v poli option. Cez tieto endpointy si zoznam fieldov vyčítate a (ako admin) upravíte ich číselníky pre konkrétny doctype.

Vráti zoznam všetkých fieldov dostupných pre daného vlastníka – kombinuje systémové fieldy s vašimi vlastnými/upravenými. Ak zadáte doctype, dostanete fieldy upravené pre tento doctype, vrátane jeho číselníka v poli option.

GET /fields?doctype=<doctype>
Response
[
    {
        "_id": string, # ID fieldu (napríklad "supplierId")
        "name": string, # zobrazované meno
        "regular": [string, ...], # regex pre validáciu hodnoty
        "formater": string|[string], # formátovač hodnoty (string alebo zoznam)
        "option": [ # číselník: zoznam povolených hodnôt (môže chýbať)
            {
                "key": string, # kľúč ukladaný do dokumentu
                "value": string # zobrazovaný popis kľúča
            },
            ...
        ],
        "doctypes": [string, ...] # zoznam doctypov, pre ktoré platí prepísanie
    },
    ...
]

Úprava číselníka

Aktualizuje (alebo vytvorí) číselník pre konkrétny field jedného doctype. Endpoint je dostupný len pre admin používateľov. V tele requestu posielate kompletný zoznam položiek číselníka – existujúci sa nahradí. Každá položka musí mať vyplnené key aj value.

PATCH /fields/<doctype:string>/<field_id:string>
Request
{
    "option": [ # nový obsah číselníka (kompletný)
        {
            "key": string, # kľúč ukladaný do dokumentu
            "value": string # zobrazovaný popis kľúča
        },
        ...
    ]
}
Response
{
    "success": true
}

Hromadná úprava číselníkov

Hromadná verzia – v jednom requeste aktualizujete číselníky viacerých fieldov pre rovnaký doctype. Operácia beží v jednej transakcii: ak ktorákoľvek položka zlyhá, zmeny sa neuložia.

PATCH /fields/<doctype:string>
Request
[
    {
        "field": string, # ID fieldu, ktorému sa nastavuje číselník
        "options": [ # nový obsah číselníka (kompletný)
            {"key": string, "value": string},
            ...
        ]
    },
    ...
]
Response
{
    "success": true
}

Workflow

Zoznam workflow

Pre každý typ dokumentu (doctype) môžete mať nastavený vlastný workflow. Tento endpoint vráti workflow pre všetky doctypy naraz. Response obsahuje aj jeden špeciálny kľúč _, ktorý reprezentuje workflow pre dokumenty bez určeného typu.

Workflow je graf krokov. Každý workflow má pevne dané dva špeciálne kroky start a end; medzi nimi sú vlastné kroky (type: "step"). Nasledovník (alebo nasledovníci) každého kroku sú v poli outputs – ide o ID-čka ďalších krokov. Pre archivované a zamknuté dokumenty sa používa hodnota step = -1.

GET /workflow
Response
{
    "_": { # workflow pre dokumenty bez typu
        "doctype": "_",
        "steps": [...]
    },
    "incomingInvoice": { # kľúč = ID doctypu (napr. "incomingInvoice")
        "doctype": "incomingInvoice", # doctype, ku ktorému workflow patrí (alebo "_")
        "steps": [ # zoznam krokov vrátane "start" a "end"
            { # vstupný krok – vždy prítomný, nemazateľný
                "id": "start",
                "name": "Start",
                "type": "start",
                "deletable": false,
                "outputs": ["1"]
            },
            { # bežný krok
                "id": string, # ID kroku (string, použiteľné v outputs)
                "name": string, # názov kroku
                "type": "step", # typ kroku: "start", "step" alebo "end"
                "description": string, # popis kroku
                "assign": [ObjectID, ...], # zoznam ID zodpovedných osôb
                "outputs": [string, ...], # ID nasledujúcich krokov (pri "end" je null)
                "bulk": bool, # príznak či je možné použiť hromadnú akciu na tento krok
                "deletable": bool, # je možné krok vymazať? (start/end vždy false)
                "automationSystem": string|null, # ID napojenej automatizácie (alebo null)
                "automationSystemDuplicateDoctype": string|null # ID doctypu pre duplikát automatizáciou (alebo null)
            },
            ...
            { # výstupný krok – vždy prítomný, nemazateľný
                "id": "end",
                "name": "End",
                "type": "end",
                "deletable": false,
                "outputs": null # pre "end" krok je vždy null
            }
        ]
    },
    ...
}

Workflow konkrétneho doctype

Vráti workflow len pre konkrétny doctype. Pre dokumenty bez typu použite _ ako hodnotu doctype v ceste.

GET /workflow/<doctype:string>
Response
{
    "doctype": string, # doctype, ku ktorému workflow patrí (alebo "_")
    "steps": [...] # zoznam krokov vrátane "start" a "end"
}

Úprava workflow

Prepíše celý zoznam krokov pre daný doctype. Endpoint je dostupný len pre používateľov v role admin. V tele requestu posielate celé pole krokov vrátane start a end; každý krok musí mať unikátne id (nesmie byť 0 ani -1) a všetky ID v outputs musia odkazovať na existujúce kroky.

PUT /workflow/<doctype:string>
Request
[
    {
        "id": "start",
        "name": "Start",
        "type": "start",
        "outputs": ["1"]
    },
    {
        "id": "1",
        "name": string,
        "type": "step",
        "description": string,
        "assign": [ObjectID, ...],
        "outputs": ["end"],
        "bulk": bool,
        "automationSystem": string|null,
        "automationSystemDuplicateDoctype": string|null
    },
    {
        "id": "end",
        "name": "End",
        "type": "end",
        "outputs": null
    }
]
Response
[...] # zoznam krokov vrátane "start" a "end"

Po úspešnej úprave server posiela cez WebSocket signál workflow_updated do roomu vlastníka.

Ostatné endpointy

Stiahnutie digitálneho PDF súboru

Pre získanie vygenerovaného PDF kompletného dokumentu so všetkými stranami a metadátami vyťažených údajov môžete použiť nasledovný request. Pre zobrazenie dokumentu vrátane metadát môžete použiť náš Metadata reader

GET /document/download/<id:ObjectID>

Response tvorí potom telo PDF dokumentu s príslušnými hlavičkami na stiahnutie dokumentu. Vygenerovanie PDF môže trvať niekoľko sekúnd. Záleží od počtu stránok.

API na vyťažovanie

Pre spoločnosti, ktoré majú záujem využívať možnosti vyťažovania údajov zo svojich dokumentov pomocou predtrénovaných modelov pre konkrétne typy dokumentov priamo v ich informačnom systéme.

Pre testovanie použite testovací token 2a97516c354b68848cdbd8f54a226a0a55b21ed138e207ad6c5cbb9c00aa5aea.
Komunikácia s API potrebuje zasielanie tokenu v hlavičkách.

Headers
Content-Type: application/pdf # typ odosielaného súboru
Token: 2a97516c354b68848cdbd8f54a226a0a55b21ed138e207ad6c5cbb9c00aa5aea

Slovenské a české faktúry

Tento model je natrénovaný na slovenských a českých faktúrach.

POST /extraction/invoice_skcz
Headers
Content-Type: application/pdf # !!! správne uveďte mime typ odosielaného súboru !!!
Token: 2a97516c354b68848cdbd8f54a226a0a55b21ed138e207ad6c5cbb9c00aa5aea
Request
telo dokumentu tvorí binárny súbor
Response
{
    "success": bool,
    "generated": DATE,
    "totalTime": float,
    "result": {
        "fieldId": string,
        ...
        "customerCity": "Banská Bystrica",
        "customerCountry": "Slovensko",
        "customerId": "45663751",
        "customerName": "SoftOne, s. r. o.",
        "customerStreet": "Dolná Mičiná 98",
        "customerTaxId": "2023077903",
        "customerVatId": "SK2023077903",
        "customerZip": "97401",
        "deliveryDate": "17.09.2018",
        "invoiceNumber": "8/8662",
        "issueDate": "17.09.2018",
        "maturityDate": "01.10.2018",
        "paymentAmount": "59.38",
        "paymentIBAN": "SK8111000000002628715342",
        "paymentSWIFT": "TATRSKBX",
        "paymentVS": "18288562",
        "prepaidAmount": "0.0",
        "supplierCity": "Podtureň - Roveň",
        "supplierCountry": "Slovensko",
        "supplierId": "36389862",
        "supplierName": "GÜDE Slovakia, s.r.o.",
        "supplierStreet": "K sihoti 324/2",
        "supplierTaxId": "2020126889",
        "supplierVatId": "SK2020126889",
        "supplierZip": "03301",
        "totalAmount": "59.38",
        "vatAmount10": "0.0",
        "vatAmount20": "9.9",
        "vatBase0": "0.0",
        "vatBase10": "0.0",
        "vatBase20": "49.48"
    }
}

Zahraničné faktúry

Pripravujeme...

POST /extraction/invoice

Slovenské bločky

Pripravujeme...

POST /extraction/receipt_sk

Embedovaný editor

Pre spoločnosti, ktoré majú záujem využívať možnosti vyťažovania údajov zo svojich dokumentov pomocou našej umelej inteligencie priamo v ich informačnom systéme prinášame embedovaný editor. Jednoducho si môžete integrovať náš javascriptový editor do Vášho IT systému. Embedovaný editor používa niekoľko endpointov, ktoré sú popísané nižšie a niektoré z nich môžete využiť priamo vo vašom systéme ako napríklad nahrávanie súborov (vrátane preprocessingu), alebo ich vyťažovanie – teda získanie vyťažených údajov.

Video ukážku práce s editorom si môžete pozrieť v tomto videu.

Pre testovanie použite testovací token 15b029f95bf3928cf0f5487276adec1d7f367491265d4aa3a518aeec24d13b0a.
Komunikácia s API potrebuje zasielanie tokenu v hlavičkách.

Headers
Content-Type: application/json
Token: 15b029f95bf3928cf0f5487276adec1d7f367491265d4aa3a518aeec24d13b0a

Testovací editor v JS si môžete stiahnuť tu

Vytvorenie nového modelu

Pre rôzne typy dokumentov, pre rôzne firmy, projekty či zákazníkov budete potrebovať vlastný model. Pre vytvorenie nového použite tento endpoint. Každý model musí byť identifikovaný vašim unikátnym ID modelu (string) a taktiež potrebujete špecifikovať, ktoré parametre (fieldy/položky) bude model vyťažovať. Zoznam všetkých povolených nájdete tu. Ak potrebujete pridať nový, kontaktujte nás.

POST /extractor/model/<id:string>
Request
{
    "name": string, # vaše pomenovanie modelu pre lepšiu prehľadnosť
    "fields": ["invoiceNumber", "issueDate", "totalAmount", "paymentVS", "supplierId"] # zoznam fieldov, ktoré model bude vyťažovať
}
Response
{
    "success": bool,
    "id": string
}

Informácie o modeli

Po vytvorení modelu môžete o ňom získať podrobnejšie informácie. Dôležité pre Vás môžu byť informácie o učení – teda kedy naposledy bol model pretrénovaný, na akej vzorke a s akou úspešnosťou.

GET /extractor/model/<id:string>
Response
{
    "id": string, # vaše ID modelu
    "modelId": ObjectID, # naše ID modelu
    "fields": ["invoiceNumber", "issueDate", "totalAmount", "paymentVS", "supplierId", ...], # zoznam fieldov, ktoré model vyťažuje
    "totalDocs": number, # počet dokumentov
    "processDocs": number, # počet dokumentoch vhodných a použitých pre trénovanie
    "datasetProcessingTime": float, # dĺžka prípravy dát pre tréning v sekundách
    "trainingTime": float, # dĺžka tréningu v sekundách
    "trainedAt": DATE, # dátum a čas natrénovania
    "accuracy": float, # úspešnosť (0-1)
    "loss": float, # strata (0-1)
}

Zoznam modelov

Pre získanie zoznamu Vašich modelov slúži tento endpoint.

GET /extractor/models
Response
[
    {
        "id": string, # vaše ID modelu
        "name": string, # vaše pomenovanie
    },
    ...
]

Nahratie dokumentu

V tomto prípade funguje nahrávanie tak, že pošlete telo dokumentu ako binárny súbor. Povolené typy dokumentov (content-type) sú application/pdf, image/png, image/jpg, image/jpeg, image/gif, image/tiff. V prípade PDF súboru, je súbor rozdelený na samostatné stránky, ktoré tvoria ucelený dokument.

POST /extractor/model/<id:string>/upload
Response
{
    "success": bool,
    "id": ObjectId, # ID nového dokumentu
    "modelId": string, # vaše ID modelu
}

Získanie údajov dokumentu

Po nahratí dokumentu môžete pomocou tohto endpointu získať vyťažené údaje vrátane jednotlivých polí, ich presnosti, OCR pozícií a zoznamu stránok dokumentu.

GET /extractor/doc/<id:ObjectId>
Response
{
    "success": bool,
    "id": ObjectId, # ID dokumentu
    "modelId": string, # vaše ID modelu
    "name": string, # automaticky generovaný názov dokumentu
    "fields": [
        {
            "id": string, # ID fieldu (parametra)
            "value": string, # vyťažená hodnota
            "verified": bool, # príznak či hodnota bola verifikovaná človekom
            "accuracy": float, # presnosť (0-1)
            "bboxIds": [string, string, ...] # formát pageId-wordId (pageId: ObjectId = ID stránky, wordId: number = číslo slova z OCR)
        },
        ...
    ],
    "pages": [...], # zoznam stránok s rozmermi, veľkosťou, typom, ocr a url na obrázok
}