Preskoči na glavno vsebino

Valorizácia zmlúv cez REST API

Zmluvy v ABRA Flexi možno valorizovať aj pomocou API Flexi

Avtor: Petr Pech

Odberateľské a dodávateľské zmluvy slúžia na automatickú fakturáciu v pravidelných, príp. aj nepravidelných intervaloch na základe využívania alebo poskytovania služieb.

Zmluvy je možné pomocou REST API generovať. V tomto návode sa pozrieme na to, ako zmluvy valorizovať. Pomocou REST API je možné valorizovať odberateľské a dodávateľské zmluvy. Valorizácia slúži na zhodnotenie zmluvy na nové obdobie. Štandardne sa nastavuje obdobie a percento valorizácie zmluvy.

Spôsob volania

Je možné využiť HTTP metódu: PUT alebo POST.

Služba je dostupná na adresách:

/c/{firma}/smlouva/valorizuj-smlouvy - pre odberateľské zmluvy

/c/{firma}/dodavatelska-smlouva/valorizuj-smlouvy - pre dodávateľské zmluvy, kde {firma} je databázový identifikátor firmy.

Príklad endpointu na demo firme:

Sú podporované výstupné formáty: XML alebo JSON.

Telo požiadavky

V tele požiadavky je nutné uviesť povinné vlastnosti rok a procentoValorizace. Ďalej je možné uviesť aj nepovinný filtr, pomocou ktorého valorizujeme iba niektoré zmluvy:

  • rok - účtovné obdobie, na ktoré valorizácia platí (v tvare napr. 2022, 2023 atď.)

  • procentoValorizace - percento, ktoré určuje, o koľko sa položky zmlúv navýšia (v tvare 5, 10 atď.)

  • filtr - filtrácia vybraných zmlúv, ktoré sa majú valorizovať

    • Pokiaľ filter nie je uvedený, budú valorizované všetky zmluvy, ktorých položky sú platné v uvedenom roku.

Dôležité: Ďalej je potrebné vziať do úvahy, že valorizácia prebehne iba u položiek zmlúv, ktoré majú nastavené vlastnosti valorizovat a valorizovatMesic. Ďalej je nutné, aby vlastnosť platiOdData pri položke zmluvy nebola v rovnakom mesiaci ako vlastnosť valorizovatMesic, viď vlastnosti položiek zmlúv. Tieto vlastnosti určujú, či sa má položka valorizovať a k akému mesiacu, viac v dokumentácii zmlúv.

Výsledok

V prípade úspešnej valorizácie položiek zmluvy je v zmluve vytvorená nová položka a pôvodná položka má ukončenú platnosť. Či bola služba vykonaná úspešne, je možné skontrolovať prostredníctvom HTTP statusu odpovede alebo vlastnosťou success v získanom dokumente, ktorá má hodnotu true.

V prípade úspešného vykonania služby je vrátený HTTP status 201 Created a dokument zodpovedajúci štandardnému formátu, viď návratové hodnoty.

V prípade neúspechu je vrátený status 4xx/5xx a správa o dôvode neúspechu.

Ukážky volania

1. volanie v XML

POST https://demo.flexibee.eu/c/demo/smlouva/valorizuj-smlouvy.xml

Tělo:
<winstrom version="1.0">
<rok>2023</rok>
<procentoValorizace>10</procentoValorizace>
</winstrom>

V prípade tohto volania dôjde k valorizácii všetkých položiek všetkých zmlúv na obdobie 2023 o 10 %, ktoré majú nastavené valorizovať.

2. volanie v JSON:

PUT https://demo.flexibee.eu/c/demo/dodavatelska-smlouva/valorizuj-smlouvy.json

Tělo:
{
"winstrom": {
"rok": "2023",
"procentoValorizace": "10",
"filtr":"code:SMLOUVA123"
}
}

V tomto prípade dôjde k valorizácii všetkých položiek zmluvy s označením SMLOUVA123, ktoré sú nastavené pre valorizáciu.

Neúspešné requesty

1. V prípade, že je zadaný nesprávny alebo prázdny rok, dôjde k chybe 400 Bad Request

<message>Pole 'rok' musí být vyplněno jednou z hodnot 2018, 2019, 2020, 2021, 2022, 2023, 2024.</message>

2. V prípade, že nie je vyplnené procentoValorizace, odpoveď je opäť 400 Bad Request

<message>Element 'procentoValorizace' musí být uveden.</message>

3. V prípade, že je zapísaný element filter namiesto filtr, dôjde k valorizácii všetkých zmlúv! S výsledkom 201 Created.

<winstrom version="1.0">
<rok>2018</rok>
<procentoValorizace>5</procentoValorizace>
<filter>code:SMLOUVA123</filter>
</winstrom>

FAQ

Príklady zadania zmlúv

Odberateľské zmluvy v praxi

Ako nájsť vygenerovanú faktúru zo zmluvy?

Väzba medzi faktúrou a zmluvou nevzniká. Z faktúry je možné danú zmluvu dohľadať iba podľa poľa cisSml.

Potrebujete poradiť?

V prípade otázok k aplikácii nás kontaktujte na podporaflexi@abra.eu prípadne prostredníctvom chat okna v pravom dolnom rohu.

Ste s tem dobili odgovor na svoje vprašanje?