Přeskočit na hlavní obsah

Štítky

Práce se štítky v REST API

Autor: Petr Pech

V celém systému ABRA Flexi je přidána podpora pro štítky. Ty umožňují přilepit stav k různým objektům (např. doklady, adresář, zakázka, …) případně i k různým stavům (např. způsob úhrady apod.). Můžete tak v propojeném systému reagovat na situaci, kdy je faktura uhrazena způsobem, který má štítek (např. použít metodu v eshopu).

⚠️ Pokud chcete štítek přiřadit k záznamu, je podmínkou jeho předchozí založení v číselníku štítků. Odkaz na nezaložený štítek skončí chybou 400 u vlastnosti stitky.


Smazání / aktualizace štítků

Práce se štítky je trochu odlišná, protože se jedná o relaci, která je emulovaná jako položka. Pro vymazání štítků nebo jejich aktualizaci je zapotřebí použít atribut removeAll="true":

<?xml version="1.0"?>
<winstrom version="1.0">
<adresar>
<id>14</id>
<stitky removeAll="true"/>
</adresar>
</winstrom>

Výše uvedené XML zajistí odstranění všech štítků z uvedeného záznamu v adresáři.

Pro aktualizaci štítků stačí uvést v elementu stitky nový seznam hodnot:

<stitky removeAll="true">STITEK1,NOVY_STITEK</stitky>

resp. v JSON:

"stitky@removeAll": "true",
"stitky": "STITEK1,NOVY_STITEK"

ℹ️ Bez uvedení atributu removeAll="true" se provede pouze přidání neexistujících štítků — stávající štítky zůstanou. Chcete-li seznam skutečně nahradit, atribut uveďte.


Export skupiny štítků

Štítky můžete dávat do skupin štítků. Ty pak umožňují lepší zpracování při exportu. Pokud nastavíte u skupiny, že doklad může obsahovat pouze jeden štítek, budou ostatní štítky ze stejné skupiny smazány. Lze tím snadno emulovat stav dokladu — objekt bude vždy obsahovat pouze jeden štítek ze skupiny s pouze jedním štítkem.

/c/{firma}/{evidence}.xml?skupina-stitku=SKUPINA1,SKUPINA2

Výstup pak může vypadat takto:

<winstrom>
...
<faktura-vydana>
...
<stitky SKUPINA1="STITEK1" SKUPINA2="STITEK2">STITEK1,STITEK2,STITEK3</stitky>
...
</faktura-vydana>
</winstrom>

💡 Parametrem ?stitky-as-ids=true lze štítky exportovat i importovat jako seznam číselných ID místo kódů — viz sestavování URL.


Související

Dostali jste odpověď na svou otázku?