Přeskočit na hlavní obsah

API - Přiřazení stavu položce ceníku

Jak přes REST API přiřadit položce ceníku stav?

Autor: Petr Pech

Přes REST API lze ceníkovým položkám přiřadit jejich stav. Slouží k tomu vlastnost stavy na evidenci cenik a princip je stejný jako u štítků — jde o relaci emulovanou jako textová položka.

ℹ️ Zadávají se kódy stavů z číselníku typ-stavu-ceniku. Neexistující kód API odmítne s 400 a kódem importXmlNeexistujeStavNeexistuje stav s kódem …


Přidání stavu

Stav přiřadíte metodou PUT nebo POST na endpoint evidence ceníku:

PUT https://demo.flexibee.eu/c/demo/cenik.xml
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<cenik>
<id>code:POLOZKA</id>
<stavy>AKCE</stavy>
</cenik>
</winstrom>

Nebo v JSON:

{
"winstrom":{
"@version":"1.0",
"cenik":[
{
"id":"code:POLOZKA",
"stavy":"AKCE"
}
]
}
}

Více stavů naráz

Pro přiřazení více stavů oddělte jejich kódy čárkou:

<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<cenik>
<id>code:POLOZKA</id>
<stavy>AKCE,NOVINKA</stavy>
</cenik>
</winstrom>

📝 Při čtení vrací API stavy oddělené čárkou a mezerou a v pořadí podle číselníku, ne v tom, v jakém jste je poslali — například NOVINKA, AKCE.


Změna a zrušení stavů

Bez dalšího atributu import stavy jen přidává — dosud přiřazené stavy zůstanou a prázdný element <stavy></stavy> je nezruší. Chcete-li stávající stavy nahradit nebo zrušit, přidejte atribut removeAll="true".

Nahrazení celého seznamu stavů:

<winstrom version="1.0">
<cenik>
<id>code:POLOZKA</id>
<stavy removeAll="true">VÝPRODEJ</stavy>
</cenik>
</winstrom>

Zrušení všech stavů:

<winstrom version="1.0">
<cenik>
<id>code:POLOZKA</id>
<stavy removeAll="true"></stavy>
</cenik>
</winstrom>

V JSON se atribut zapisuje jako samostatná vlastnost stavy@removeAll:

{
"winstrom":{
"@version":"1.0",
"cenik":[
{
"id":"code:POLOZKA",
"stavy@removeAll":"true",
"stavy":"NOVINKA"
}
]
}
}


Související

Dostali jste odpověď na svou otázku?