Preskoči na glavno vsebino

Generovanie faktúr zo zmlúv cez API

Ako generovať faktúry zo zmlúv cez REST API?

Avtor: Petr Pech

Cez REST API (aj cez webové rozhranie) je možné vygenerovať faktúry zo zmlúv (buď všetkých alebo jednej konkrétnej). Ide o jednoduché volanie cez PUT alebo POST:

/c/firma/smlouva/generovani-faktur.xml

Vygeneruje faktúry pre všetky zmluvy

/c/firma/smlouva/1/generovani-faktur.xml

Vygeneruje faktúry pre zmluvu s ID 1

Analogicky je možné generovať prijaté faktúry z dodávateľských zmlúv:

PUT /c/firma/odberatelska-smlouva/generovani-faktur.xml

Parametre

Požiadavky je možné doplniť voliteľným query parametrom datumGenerovani vo formáte ISO 8601 (YYYY-MM-DD) s predvolenou hodnotou aktuálny dátum.

Napríklad:

PUT /c/firma/smlouva/generovani-faktur.xml?datumGenerovani=2023-03-01

Výsledok

Pri volaní cez REST API má odpoveď (vo formáte XML) nasledujúcu podobu:

<?xml version="1.0"?>
<winstrom version="1.0">
<operation>Generov&#xE1;n&#xED; 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 nadobúdať hodnoty ok, partial, failed a unknown:

ok

Generovanie faktúr prebehlo v poriadku (ale nemusia byť vygenerované žiadne faktúry, ak to nebolo potrebné)

partial

Pre niektoré zmluvy prebehlo generovanie faktúr v poriadku, ale pri iných zmluvách došlo k chybe

failed

Neboli vygenerované žiadne faktúry, pri niektorých zmluvách došlo k chybe

unknown

Nemalo by nikdy nastať

Elementy result obsahujú odkazy na vytvorené doklady, message hlásenia o úspechu (najviac jedno), error chybové hlásenia (jedno pre každú zmluvu, pri ktorej došlo k chybe).

Odpoveď

Generovanie faktúr zo zmlúv vracia vo výsledku odkazy na vytvorené faktúry, odpoveď môže vyzerať naprí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 zmlúv

Po vygenerovaní faktúr zo zmlúv je možné cez API sledovať aj žurnál generovania. Nájdete ho na endpointu /smlouva-zurnal. Napríklad pomocou URL adresy https://demo.flexibee.eu/c/demo/smlouva-zurnal.xml?detail=full.

Výsledkom je napríklad takýto XML súbor:

<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>
Ste s tem dobili odgovor na svoje vprašanje?