ABRA Flexi může vyžadovat podpis faktury před vystavením příkazu k úhradě (viz. nastavení). Podepsaný doklad je pak možné zadat do příkazu k úhradě, bez podepsání nikoliv.
Rest API umožňuje podepsat fakturu pomocí akce sign-for-payment
. Ke zrušení podpisu slouží akce unsign-for-payment
. K provedení akce musíme znát konkrétní ID (kód) faktury nebo je možné využít filtrace a podepsat tak více faktur.
Příklady použití
Request zasíláme metodou 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>
Obdobně lze request zaslat ve formátu JSON a pomocí interního čísla dokladu.
Přidání podpisu k úhradě:
{
"winstrom": {
"faktura-prijata": {
"id": "code:PF0015/2022",
"@action": "sign-for-payment"
}
}
}
Zrušení podpisu k úhradě:
{
"winstrom": {
"faktura-prijata": {
"id": "code:PF0015/2022",
"@action": "unsign-for-payment"
}
}
}
Odpověď ABRA Flexi je pak aktualizace 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"
} ] } }
Filtrování faktur k podpisu
Request zasíláme metodou POST na URL:
POST https://demo.flexibee.eu/c/demo/faktura-prijata.xml (.json)
Akci lze vyvolat i dávkově nad skupinou dokladů pomocí filtru:
<winstrom version="1.0">
<faktura-prijata filter="datSplat gt now()"
action="sign-for-payment" />
</winstrom>
Obdobně lze request zaslat ve formátu JSON a pomocí filtrace:
{
"winstrom": {
"faktura-prijata": {
"@filter": "sumCelkem lt 100",
"@action": "unsign-for-payment"
}
}
}
Neúspěšné requesty
1. zadaný/filtrovaný objekt (faktura) neexistuje
V případě, že se objekt nepodaří nalézt/neexistuje, je odpověď API:
"message": "Objekt bude teprve vytvořen, žádnou akci nelze provést."
2. akce je špatně zapsána
V případě, že voláte špatnou akci (překlep či chyba v názvu):
<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. špatně zapsaný filtr
Filtr neodpovídá definovaným pravidlům filtrace, odpovědí je přibližná pozice chyby ve filtru:
<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 (faktura) je zamčený
V případě, že se snažíte podepsat doklad, který je zamčený, odpovědí je neúspěch. Doklad je nutné nejprve odemknout akcí action ="unlock"
:
"message": "Záznam je zamčený. [PF0031/2021]"