Cez REST API — rovnako ako cez webové rozhranie — je možné vygenerovať faktúry zo zmlúv, a to buď zo všetkých, alebo z jednej konkrétnej. Ide o jednoduché volanie metódou PUT alebo POST.
Zostavenie URL
Adresa | Čo urobí |
| Vygeneruje vydané faktúry pre všetky odberateľské zmluvy. |
| Vygeneruje vydané faktúry pre odberateľskú zmluvu s ID 1. |
| Analogicky vygeneruje prijaté faktúry z dodávateľských zmlúv. |
PUT https://demo.flexibee.eu/c/demo/smlouva/generovani-faktur.xml
PUT https://demo.flexibee.eu/c/demo/dodavatelska-smlouva/generovani-faktur.xml
🚨 Volanie nerešpektuje parameter testovacieho uloženia ?dry-run=true — faktúry sa vytvoria aj s ním. Neskúšajte preto generovanie „na nečisto" v produkčnej firme.
Parametre
Požiadavku je možné doplniť voliteľným parametrom datumGenerovani vo formáte ISO 8601 (YYYY-MM-DD); východiskovou hodnotou je aktuálny dátum.
PUT https://demo.flexibee.eu/c/demo/smlouva/generovani-faktur.xml?datumGenerovani=2023-03-01
⚠️ Dátum v inom ako uvedenom formáte neskončí chybou 400, ale 500 s hlásením Text 'nesmysl' could not be parsed at index 0. Formát si preto overte na strane integrácie.
Výsledok
Odpoveď v XML má nasledujúcu podobu — obsahuje odkazy na vytvorené doklady, jedno súhrnné hlásenie a prípadné chybové hlásenia:
<?xml version="1.0"?>
<winstrom version="1.0">
<operation>Generování faktur</operation>
<success>ok</success>
<results>
<result>
<ref>/c/demo/faktura-vydana/1503</ref>
</result>
</results>
<messages>
<message>Počet úspěšně vygenerovaných faktur: 1</message>
</messages>
<errors></errors>
</winstrom>
Element success môže nadobúdať tieto hodnoty:
| Vygenerovanie faktúr prebehlo v poriadku. Nemuseli pritom vzniknúť žiadne faktúry, ak to nebolo potrebné — vtedy je v |
| Pre niektoré zmluvy vygenerovanie prebehlo v poriadku, pri iných došlo k chybe. |
| Neboli vygenerované žiadne faktúry a pri niektorých zmluvách došlo k chybe. |
| Nemalo by nikdy nastať. |
⚠️ HTTP status je 200 aj pri partial a failed — úspech teda rozpoznáte iba z elementu success, nie zo statusu.
Odkazy na vytvorené doklady a chyby
Elementy result obsahujú odkazy na vytvorené doklady, message súhrnné hlásenie o úspechu (najviac jedno) a error chybové hlásenia — jedno pre každú zmluvu, pri ktorej došlo k chybe. Každá chyba nesie messageCode a je uvedená kódom zmluvy:
<errors>
<error messageCode="polDoklNeniDostVyrobnichCisel">211> - Není zadáno odpovídající množství výrobních čísel (0/64).</error>
<error messageCode="validace.neplatnyCiselnik">TEST_01 - Pole 'Kód z ceníku' obsahuje neplatnou položku číselníku.</error>
</errors>
Chyba pri jednej zmluve nezastaví generovanie ostatných — preto môže celkový výsledok skončiť ako partial.
Žurnál zmlúv
Každé generovanie — ručné aj automatické — sa zapíše do žurnálu, ktorý je cez API dostupný na endpointe smlouva-zurnal:
GET https://demo.flexibee.eu/c/demo/smlouva-zurnal.xml?detail=full
<winstrom version="1.0">
<smlouva-zurnal>
<id>2</id>
<datCas>2019-11-18T09:20:57.413+01:00</datCas>
<transakceK showAs="Ruční generace">operaceZurnalSmlouvy.manualGenerace</transakceK>
<pocetOk>1</pocetOk>
<pocetErr>0</pocetErr>
<chyby></chyby>
<uzivatel>code:admin</uzivatel>
</smlouva-zurnal>
</winstrom>
Vlastnosť transakceK rozlišuje operaceZurnalSmlouvy.manualGenerace (Ruční generace) a operaceZurnalSmlouvy.autoGenerace (Automatická generace); generovanie cez REST API sa do žurnálu zapíše ako ručné.
