Přes REST API (i přes webové rozhraní) lze vygenerovat faktury ze smluv (buďto všech nebo jedné konkrétní). Jde o jednoduché volání přes PUT
nebo POST
:
| Vygeneruje faktury pro všechny smlouvy |
| Vygeneruje faktury pro smlouvu s ID 1 |
Analogicky je možné generovat přijaté faktury z dodavatelských smluv:
PUT /c/firma/odberatelska-smlouva/generovani-faktur.xml
Parametry
Požadavky je možné doplnit volitelným query parametrem datumGenerovani
ve formátu ISO 8601 (YYYY-MM-DD) s výchozí hodnotou aktuální datum.
Například:
PUT /c/firma/smlouva/generovani-faktur.xml?datumGenerovani=2023-03-01
Výsledek
Při volání přes REST API má odpověď (ve formátu XML) následující podobu:
<?xml version="1.0"?>
<winstrom version="1.0">
<operation>Generování faktur</operation>
<success>ok</success>
<messages>
<message>Počet úspěšně vygenerovaných faktur: 1</message>
</messages>
<errors>
<error>...</error>
</errors>
</winstrom>
Element success
může nabývat hodnot ok
, partial
, failed
a unknown
:
| Vygenerování faktur proběhlo v pořádku (ale nemusely být vygenerovány žádné faktury, pokud to nebylo potřeba) |
| Pro některé smlouvy proběhlo vygenerování faktur v pořádku, ale u jiných smluv došlo k chybě |
| Nebyly vygenerovány žádné faktury, u některých smluv došlo k chybě |
| Nemělo by nikdy nastat |
Elementy result
obsahují odkazy na vytvořené doklady, message
hlášení o úspěchu (nejvýše jedno), error
chybová hlášení (jedno pro každou smlouvu, u které došlo k chybě).
Odpověď
Generování faktur ze smluv vrací ve výsledku odkazy na vytvořené faktury, odpověď může vypadat například takto:
<winstrom version="1.0">
<operation>Generování faktur</operation>
<success>ok</success>
<results>
<result>
<ref>/c/testovaci_2/faktura-vydana/1503</ref>
</result>
</results>
<messages>
<message>Počet úspěšně vygenerovaných faktur: 1</message>
</messages>
</winstrom>
Žurnál smluv
Po vygenerování faktur ze smluv lze přes API sledovat i žurnál generace. Naleznete jej na endpointu /smlouva-zurnal. Například pomocí URL adresy https://demo.flexibee.eu/c/demo/smlouva-zurnal.xml?detail=full
.
Výsledkem je například takový XML soubor:
<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>