Funkcie na prácu so zariadeniami. Vytvorenie prenájmu pre zariadenie a k nemu všetky požadované záznamy v databáze.
Rozhranie dodáva zoznam typov zariadeni.
Príklad odpovede:
{
"items": [
{
"id_typ": 1,
"typ": "Typ 1",
"Row#": "1"
},
{
"id_typ": 2,
"typ": "Typ 2",
"Row#": "2"
}
],
"paging": {
"offset": 0,
"limit": 100,
"maximum": 61
}
}
Rozhranie dodáva zoznam stavov zariadeni.
Príklad odpovede:
{
"items": [
{
"id_stav": 1,
"stav": "Na sklade",
"Row#": "1"
},
{
"id_stav": 2,
"stav": "V servise",
"Row#": "2"
}
],
"paging": {
"offset": 0,
"limit": 100,
"maximum": 61
}
}
Rozhranie dodáva zoznam zariadeni.
Príklad odpovede:
{
"items": [
{
"id_equipment": 1,
"cislo": "Z001",
"nazov": "Zariadenie 1",
"Row#": "1"
},
{
"id_equipment": 2,
"cislo": "Z002",
"nazov": "Zariadenie 2",
"Row#": "2"
}
],
"paging": {
"offset": 0,
"limit": 100,
"maximum": 61
}
}
Rozhranie vytvorí nové zariadenie.
Príklad odoslanej požiadavky:
{
"cislo": "Z001",
"nazov": "Zariadenie 1"
}
Rozhranie potvrdí vytvorenie zariadenia, alebo vypíše chybu, že zariadenie s daným číslom už existuje.
Rozhranie aktualizuje zoznam zariadeni.
Príklad odoslanej požiadavky:
[
{
"cislo": "Z001",
"nazov": "Zariadenie 1"
},
{
"cislo": "Z002",
"nazov": "Zariadenie 2"
}
]
Rozhranie potvrdí vytvorenie zariadení tak, že vráti počet vytvorených zariadení.
Príklad odpovede:
{
"count": 2
}
Rozhranie vytvorí prenájom pre zariadenie a k nemu všetky požadované záznamy v databáze. Pod pojmom zariadenie sa v tomto prípade myslí napríklad konkrétny box, ktorý sa prenajíma. Môže to byť aj iný druh zariadenia, napríklad vozík, atď.
Popis logiky:
zariadenie.cislo sa vyhľadá zariadenie. Ak neexistuje, vytvorí sa. V odpovedi sa vráti id_equipment. Ak nie je tento field v požiadavke, tak sa nevytvorí ani prenájom a vráti sa chyba.firma.ico sa vyhľadá firma. Ak neexistuje, vytvorí sa. V odpovedi sa vráti id_firma. Keďže je súčasťou procesu aj fakturácia, tak sa skontroluje aj firma.dic, firma.dph, firma.oreg, firma.psc, firma.mesto, firma.ulica, firma.stat. Ak firma nie je platiteľom DPH (t.j. firma.setdph je false), parameter firma.dph nie je povinný.osoba.priezvisko a osoba.meno sa vyhľadá osoba. Ak neexistuje, vytvorí sa. V odpovedi sa vráti id_osoba. Keďže je súčasťou procesu aj fakturácia, tak sa skontroluje aj osoba.psc, osoba.mesto, osoba.ulica, osoba.stat.id_spis. Názov spisu identický s názvom prenájmu. Toto je len informatívny údaj, v Optivuse slúži na vytvorenie kontajnera, ktorý celý tento prenájom zastrešuje.id_objednavka. Objednávky sa vytvárajú ako jednoriadkové, pričom riadkom objednávky je daný prenájom.id_faktura. Ak je v prenájme uhradene true, tak sa faktúra označí ako uhradená. Ak prichádza požiadavka z prostredia, ktoré vyberá platby, treba toto nastaviť na true, aby aj v Optivuse bola faktúra označená ako uhradená a bola k nej priradená platba.id_prenajom. Toto je len informatívny údaj, v Optivuse slúži na vytvorenie prenájmu a jeho sledovanie vo vzťahu k zariadeniu.Dôležité poznámky:
zariadenie.cislo, tak sa nevytvorí ani prenájom a vráti sa chyba.prenajom.datum_od alebo prenajom.datum_do, tak sa nevytvorí ani prenájom a vráti sa chyba.prenajom.datum_vystavenia alebo prenajom.datum_splatnosti alebo prenajom.datum_dodania, tak sa nevytvorí ani prenájom a vráti sa chyba. Pri týchto troch dátumoch si treba uvedomiť, že sa jedná o dátumy fakturácie a dodania tovaru/služby. Tieto dátumy sú povinné pre vytvorenie faktúry. Dôležité je správne stanovenie dátumu dodania.prenajom.cena alebo prenajom.dph alebo prenajom.mnozstvo alebo prenajom.mj, tak sa nevytvorí ani prenájom a vráti sa chyba. Hodnota DPH sa kontroluje na platnosť voči číselníku DPH v Optivuse. Ak nie je v požiadavke platná hodnota DPH, tak sa nevytvorí ani prenájom.prenajom.uhradene na true. To v programe vytvorí faktúru v stave uhradená a priradí k nej platbu.prenajom.popis, tak sa nevytvorí ani prenájom a vráti sa chyba.Príklad odoslanej požiadavky:
{
"zariadenie": {
"cislo": "Z001",
"nazov": "Zariadenie 1"
},
"firma": {
"ico": "12345678",
"nazov": "Firma 1",
"psc": "12345",
"mesto": "Mesto",
"ulica": "Ulica",
"stat": "Slovensko",
"dic": "DIČ",
"dph": "IČ DPH",
"oreg": "Údaje z obchodného registra",
"email": "[EMAIL_ADDRESS]",
"tel": "123456789"
},
"osoba": {
"priezvisko": "Priezvisko",
"meno": "Meno",
"email": "[EMAIL_ADDRESS]",
"tel": "123456789",
"mobil": "123456789",
"psc": "12345",
"mesto": "Mesto",
"ulica": "Ulica",
"stat": "Slovensko"
},
"prenajom": {
"datum_od": "2026-04-02",
"datum_do": "2026-04-03",
"popis": "Popis prenájmu. Z tohto popisu sa vytvorí riadok na faktúre.",
"cena": 100,
"dph": 23,
"mnozstvo": 1,
"mj": "ks",
"datum_vystavenia": "2026-04-01",
"datum_splatnosti": "2026-04-01",
"datum_dodania": "2026-04-01",
"uhradene": true
}
}
Rozhranie potvrdí vytvorenie prenájmu a vráti ID vytvoreného prenájmu.
Príklad odpovede:
{
"id_equipment": 1,
"id_firma": 1,
"id_osoba": 1,
"id_prenajom": 1,
"id_spis": 1,
"id_objednavka": 1,
"id_faktura": 1
}
Rozhranie vytvorí PDF faktúru k prenájmu zariadenia. Predchádzajúce rozhranie /interface/{db}/eshop/v1/equipment/rent vytvorí prenájom a faktúru interne v databáze, ale nevytvorí PDF faktúru. Toto rozhranie je volané z prostredia, ktoré potrebuje PDF faktúru a pomocou neho ju vygeneruje. Presný vzhľad faktúry je daný šablónou v Optivuse.
Upozornenie:
Momentálne je táto funkcia v testovacej fáze. Vykoná len všetky validačné testy. Odpovedá iba fiktívnou faktúrou. V budúcnosti bude odpovedať reálnou faktúrou.
Popis logiky:
Musíte zadať ID prenájmu alebo faktúry, ktoré ste získali z predošlej požiadavky. id_faktura má prednosť. Ak zadáte len id_prenajom, tak rozhranie vyhľadá faktúru podľa prenájmu. Ak nenájde ani jedno, tak vráti chybu.
Formátovanie:
format, tak sa vráti PDF faktúra. Konvertovaná cez Gotenberg v binárnej podobe.format, tak sa vráti faktúra v danom formáte.
Šablóna:
Šablóna sa navrhuje priamo v programe Optivus v databáze. Túto šablónu si požiadavka na vytvorenie reportu faktúry môže použiť. Ak nie uvedené, akú šablónu cez API potrebujete, tak sa použije prednastavená šablóna faktura_optivus. Môžete si vynútiť inú šablónu pomocou parametra template. To sa hodí napríklad pri testovaní novej šablóny, aby nebol existujúci proces ohrozený.
Príklad odoslanej požiadavky
{
"id_prenajom": 25,
"id_faktura": 26,
"format": "pdf|json|html",
"template": "nazov_sablony (nepovinné)"
}
Príklad chybovej odpovede:
{
"error": "Nie je možné identifikovať faktúru podľa prenájmu(25)."
}
Príklad odpovede vo formáte JSON:
{
"pdf": "base64 encoded pdf...",
}