API token:
Pro zobrazení Vašeho tokenu je nutné se přihlásit. Přihlásit se
Autorizace
Každý požadavek na API musí obsahovat hlavičku `Authorization` s platným tokenem:
`Authorization: Bearer <váš_token>`
Všechny endpointy jsou verzované a dostupné pod prefixem `/v1/api/`.
Zpracování dokumentů
Tato sekce se věnuje nahrávání, kontrole a správě souborů.
Upload souborů
[POST] /v1/api/file/upload
Slouží k nahrání jednoho nebo více souborů ke zpracování.
Request
+ Parameters
+ `files` (array, required) - Pole jednoho nebo více souborů určených k nahrání. Každá položka v poli musí být soubor odeslaný jako součást multipart/form-data požadavku. Pro správné zpracování by měl každý soubor obsahovat svůj původní název a MIME typ (např. application/pdf).
- Maximální počet souborů: 10
- Maximální velikost jednoho souboru: 25 MB
- Povolené MIME typy: application/pdf, image/jpeg, image/png, DOCX, XLSX, CSV
+ `hook` (string, required) - URL adresa, na kterou bude po dokončení zpracování odeslán POST požadavek s informacemi o výsledku.
Příklad CURL:
curl --location --request POST 'https://www.evidoo.cz/v1/api/file/upload' \
--header 'Authorization: Bearer VÁŠ_BEARER_TOKEN' \
--header 'Accept: application/json' \
--form 'files[0]=@"/cesta/k/souboru/faktura.pdf"' \
--form 'hook="https://vas-webhook.url/endpoint"'
Response 200 (application/json)
Odpověď serveru
{
"status": 200,
"payload": {
"files": {
"list": [
{
"id": "1shp17",
"parent_id": null,
"originalFileName": "I3XCOY59014.pdf",
"supplierId": null,
"supplierName": null,
"fileName": "EV_68790256879a6742278220.pdf",
"fileType": "invoice",
"type": "application/pdf",
"commodity": [
"service"
],
"size": 1015955,
"name": "Název dokumentu",
"note": null,
"status": 400,
"icon": {
"icon": "other",
"color": "#333333"
},
"createdDt": 1752760918000,
"priceExcludingVat": 1623,
"price": 2000,
"currency": "CZK",
"property": [],
"group": []
}
]
}
}
}
Kontrola stavu souborů
[GET] /v1/api/file/check/{ids}
Umožňuje zkontrolovat stav zpracování jednoho nebo více souborů na základě jejich ID. ID souborů se vkládají do URL a oddělují se čárkou.
Request
+ Parameters
+ ids (string, required) - ID souborů oddělené čárkou (např. `xxx,yyy`).
Response 200 (application/json)
Struktura odpovědi je stejná jako u uploadu. Pokud je soubor rozdělen (status = 100), v odpovědi se objeví nové soubory, které mají parent_id odkazující na původní dokument.
{
"status": 200,
"payload": {
"files": {
"list": [
{
"id": "1shp17",
"parent_id": null,
"originalFileName": "I3XCOY59014.pdf",
"supplierId": null,
"supplierName": null,
"fileName": "EV_68790256879a6742278220.pdf",
"fileType": "invoice",
"type": "application/pdf",
"commodity": [
"service"
],
"size": 1015955,
"name": "Původní dokument",
"note": null,
"status": 100,
"icon": {
"icon": "other",
"color": "#333333"
},
"createdDt": 1752760918000,
"priceExcludingVat": 1623,
"price": 2000,
"currency": "CZK",
"property": [],
"group": []
},
{
"id": "2newid",
"parent_id": "1shp17",
"originalFileName": "I3XCOY59014.pdf",
"supplierId": null,
"supplierName": null,
"fileName": "EV_part1_68790256879a6742278220.pdf",
"fileType": "invoice",
"type": "application/pdf",
"commodity": [
"service"
],
"size": 501342,
"name": "Rozdělený dokument 1",
"note": null,
"status": 200,
"icon": {
"icon": "other",
"color": "#333333"
},
"createdDt": 1752760919000,
"priceExcludingVat": 800,
"price": 1000,
"currency": "CZK",
"property": [],
"group": []
}
]
}
}
}
Seznam zpracovaných souborů
[GET] /v1/api/file/list
Vrací seznam souborů s možností filtrování a stránkování. V tomto seznamu se nezobrazují původní rozdělené soubory se statusem 100.
Request
+ Parameters (všechny jsou nepovinné )
+ `page` (number, optional) - Číslo stránky, výchozí je `1`.
+ `limit` (number, optional) - Počet položek na stránku. Výchozí i maximální hodnota je `50`.
+ `search` (string, optional) - Text pro vyhledávání.
+ `sort` (string, optional) - Řazení výsledků (např. `createdDt DESC`).
+ `type` (string, optional) - Filtrování podle typu dokumentu z `filterOptions.type`.
+ `propertyIds` (string, optional) - ID nemovitostí oddělené čárkou z `filterOptions.property`.
+ `groupIds` (string, optional) - ID skupin oddělené čárkou z `filterOptions.group`.
Response 200 (application/json)
{
"status": 200,
"payload": {
"files": {
"list": [
{
"id": "1shp17",
"parent_id": null,
"originalFileName": "I3XCOY59014.pdf",
"supplierId": null,
"supplierName": null,
"fileName": "EV_68790256879a6742278220.pdf",
"fileType": "invoice",
"type": "application/pdf",
"commodity": ["service"],
"size": 1015955,
"name": "Název dokumentu",
"note": "Chyba při zpracování",
"status": 400,
"icon": { "icon": "other", "color": "#333333" },
"createdDt": 1752760918000,
"priceExcludingVat": 1623,
"price": 2000,
"currency": "CZK",
"property": [],
"group": []
}
],
"filter": {
"from": null,
"to": null,
"search": null,
"status": null,
"type": null,
"sort": ["createdDt", "DESC"],
"propertyIds": "",
"groupIds": ""
},
"pagination": {
"page": 1,
"limit": 50,
"count": 43
},
"filterOptions": {
"type": [
"energy_invoice",
"accounting_document",
"price_list",
"power_of_attorney",
"lease_agreement",
"handover_protocol",
"contract_addendum",
"terms_and_conditions",
"purchase_agreement",
"checklist",
"hoa_billing",
"bank_statement",
"death_certificate",
"contract_termination",
"other",
"electricity_contract",
"gas_contract",
"statement_of_contract_details",
"advance_payment_schedule",
"contractual_penalty",
"identity_card",
"marriage_certificate",
"parking",
"instruction_on_contract_withdrawal",
"insurance_contract",
"land_register_extract",
"purchase_agreement_real_estate",
"donation_agreement_real_estate",
"purchase_agreement_car"
],
"property": [
{ "id": "68g4k", "name": "Dům Liberecká", "icon": { "icon": "apartment", "color": "#007bff" } },
{ "id": "4csm3", "name": "Dům Na Výšině", "icon": { "icon": "apartment", "color": "#007bff" } },
{ "id": "2h53m", "name": "Můj byt č. 5", "icon": { "icon": "residential", "color": "#985d90" } }
],
"group": [
{ "id": "2h53m", "name": "MSFA", "icon": { "icon": "0", "color": "#db0000" } }
]
}
}
}
}
Detail souboru
[GET] /v1/api/file/get/{id}
Získá kompletní detailní informace o konkrétním souboru.
Request
+ Parameters
+ `id` (string, required) - ID dokumentu.
Response 200 (application/json)
Odpověď obsahuje securityHash pro stažení/zobrazení. fileData.data má pro každý typ dokumentu jinou strukturu.
{
"status": 200,
"payload": {
"file": {
"id": "c8cbnn",
"cdnId": "lhl5",
"supplierId": "126jul",
"supplierName": "Firma s.r.o.",
"originalFileName": "resized_img_33t406e3ff6p1hlHaji.webp",
"fileName": "EV_68a17cf336705495728213.webp",
"shareType": null,
"fileType": "ucetni_doklad",
"mimeType": "image/webp",
"commodity": ["sluzba"],
"size": 126408,
"name": "🧾 Účtenka za služby",
"note": null,
"status": 200,
"createdDt": 1755413747000,
"removedDt": null,
"icon": {
"icon": "ucetni_doklad",
"color": "#8338EC"
},
"securityHash": "WFZvdVZ0b3JPMEIwMHgrS1FiOG4wSmJlVmYzVWx6RUU2SXVVVm56S2c1ditGQkZobTI5Ry9uWng0RVloMWZUSGhaFZHTGFlZXVScGhjRTNCQXBKQnc9PQ==",
"fileData": {
"classification": {
"id": "6yjcty",
"note": null,
"data": {}
},
"data": {
"id": "6yjcty",
"note": null,
"data": {}
},
"amendment": {
"id": "6yjcty",
"note": null,
"data": {
"file_name": "name_of_file",
"content": "<html>content</html>"
}
}
},
"additionalPrompt": [
{
"id": "6yjcty",
"prompt": "zaslaný požadavek",
"status": 4,
"createdDt": 1755413747000
}
],
"property": [
{
"id": "2d5voe",
"propertyId": "2h53m",
"role": 1,
"name": "Byt č. 5"
},
{
"id": "2f1j6v",
"propertyId": "68g4k",
"role": 1,
"name": "Dům Liberecká"
}
],
"group": [
{
"id": "fmpox",
"groupId": "2h53m",
"role": 1,
"name": "Název skupiny"
}
],
"hierarchy": [
{
"id": "fmpox",
"groupHierarchyId": "2h53m",
"role": 1,
"name": "Název hierarchické skupiny"
}
],
"user": [],
"chat": [
{
"id": "l9o8c",
"parentId": null,
"fileId": "ak7f8j",
"userId": "2h53m",
"message": "Zpráva ostatním uživatelů, kteří vidí dokument",
"createdDt": 1755685785000,
"user": {
"id": "2h53m",
"firstName": "Jan",
"lastName": "Pabyska",
"nickName": "JP",
"email": "jan@pabyska.cz"
}
}
]
}
}
}
Stažení souboru
[GET] /v1/api/file/download/{securityHash}
Umožní stáhnout fyzický soubor na základě jeho securityHash.
Request
+ Parameters
+ `securityHash` (string, required) - Bezpečnostní hash získaný z detailu souboru.
Response 200
Vrací přímo soubor ke stažení.
Zobrazení souboru
[GET] /v1/api/file/display/{securityHash}
Zobrazí soubor v prohlížeči (pokud to typ souboru umožňuje).
Request
+ Parameters
+ `securityHash` (string, required) - Bezpečnostní hash získaný z detailu souboru.
Response 200
Zobrazí obsah souboru.
Smazání souboru
[DELETE] /v1/api/file/delete/{id}
Smaže dokument na základě jeho ID.
Request
+ Parameters
+ `id` (string, required) - ID dokumentu ke smazání.
Response 200 (application/json)
Odpověď má stejnou strukturu jako `/v1/api/file/check/list`.