ABRA Flexi môže vyžadovať podpis faktúry pred vystavením príkazu k úhrade (viď nastavenie). Podpísaný doklad je potom možné zadať do príkazu k úhrade, bez podpísania nie.
REST API umožňuje podpísať faktúru pomocou akcie sign-for-payment. Na zrušenie podpisu slúži akcia unsign-for-payment. Na vykonanie akcie musíme poznať konkrétne ID (kód) faktúry, alebo je možné využiť filtrovanie a podpísať tak viacero faktúr.
Príklady použitia
Request zasielame metódou POST na URL:
POST https://demo.flexibee.eu/c/demo/faktura-prijata.xml (.json)
<winstrom version="1.0">
<faktura-prijata id="123" action="sign-for-payment" />
</winstrom>
případně zápis
<winstrom version="1.0">
<faktura-prijata action="sign-for-payment">
<id>123</id>
</faktura-prijata>
</winstrom>
Obdobne možno request zaslať vo formáte JSON a pomocou interného čísla dokladu.
Pridanie podpisu k úhrade:
{
"winstrom": {
"faktura-prijata": {
"id": "code:PF0015/2022",
"@action": "sign-for-payment"
}
}
}
Zrušenie podpisu k úhrade:
{
"winstrom": {
"faktura-prijata": {
"id": "code:PF0015/2022",
"@action": "unsign-for-payment"
}
}
}
Odpoveď ABRA Flexi je aktualizácia vybraného záznamu:
{
"winstrom": {
"@version": "1.0",
"success": "true",
"stats": {
"created": "0",
"updated": "1",
"deleted": "0",
"skipped": "0",
"failed": "0"
},
"results": [
{
" id": "910",
"request-id": "code:PF0015/2022",
"ref": "/c/demo141020_v26/faktura-prijata/910.json"
} ] } }
Filtrovanie faktúr na podpis
Request zasielame metódou POST na URL:
POST https://demo.flexibee.eu/c/demo/faktura-prijata.xml (.json)
Akciu možno vyvolať aj dávkovo nad skupinou dokladov pomocou filtra:
<winstrom version="1.0">
<faktura-prijata filter="datSplat gt now()"
action="sign-for-payment" />
</winstrom>
Obdobne možno request zaslať vo formáte JSON a pomocou filtrovania:
{
"winstrom": {
"faktura-prijata": {
"@filter": "sumCelkem lt 100",
"@action": "unsign-for-payment"
}
}
}
Neúspešné requesty
1. zadaný/filtrovaný objekt (faktúra) neexistuje
V prípade, že sa objekt nepodarí nájsť/neexistuje, odpoveď API je:
"message": "Objekt bude teprve vytvořen, žádnou akci nelze provést."
2. akcia je zle zapísaná
V prípade, že voláte nesprávnu akciu (preklep alebo chyba v názve):
<error>Atribut 'action' obsahuje špatnou hodnotu. Pro daný objekt smí obsahovat jen: [delete, lock, lock-for-ucetni, storno, sign-for-payment, uhrad-zapoctem] [PF0013/2223]</error>
3. zle zapísaný filter
Filter nezodpovedá definovaným pravidlám filtrovania, odpoveďou je približná pozícia chyby vo filtri:
<error>Špatný formát WQL dotazu, problém na pozici 11 poblíž textu 'now()'
org.antlr.v4.runtime.misc.ParseCancellationException
org.antlr.v4.runtime.NoViableAltException</error>
4. objekt (faktúra) je zamknutý
V prípade, že sa pokúšate podpísať doklad, ktorý je zamknutý, odpoveďou je neúspech. Doklad je najskôr potrebné odomknúť akciou action ="unlock":
"message": "Záznam je zamčený. [PF0031/2021]"

