Skladovú inventúru je možné obsluhovať pomocou REST API. API ponúka služby pre aktualizáciu stavov v inventúre a vygenerovanie dokladov z inventúry. Pre obe akcie je možné využiť HTTP metódu: GET.
Ďalej je možné pomocou API vkladať položky do inventúry. Na to využijeme metódu POST.
Jednotlivé služby si popíšeme v tejto dokumentácii.
Pridanie položiek inventúry cez API
Do inventúry sa vložia vybrané cenníky s predvoleným množstvom. Vloží iba tie cenníky, ktoré sa v inventúre nenachádzajú. Nemení množstvo pre cenníky, ktoré sú už v inventúre obsiahnuté.
Akceptuje iba tie skladové karty, ktoré prislúchajú účtovnému obdobiu inventúry.
Služba je dostupná na adrese: /c/{firma}/inventura/{id}/vloz-polozky, kde {firma} je databázový identifikátor firmy, {id} je databázový identifikátor inventúry.
Parametre sa odovzdávajú v tele požiadavky:
filter- je filter pre výber skladových karietinitialValueNull- s hodnotoutrueurčí, že predvolené množstvo má byťnull, inak bude0.0.
Ukážka:
<winstrom version="1.0">
<filter>(cenik in ('code:XO 253S SO I', 'code:XO CWAA1N000') and sklad = 'code:PLZEŇ')</filter>
<initialValueNull>true</initialValueNull>
</winstrom>
Skladové karty patriace do iného účtovného obdobia ako inventúra budú vynechané.
V odpovedi je uvedené, koľko položiek bolo vložených do inventúry.
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<success>true</success>
<stats>
<created>2</created>
<updated>0</updated>
<deleted>0</deleted>
<skipped>0</skipped>
<failed>0</failed>
</stats>
<results>
<result></result>
</results>
</winstrom>
Pôvodné volanie:
Položky do inventúry je možné pridať aj cez evidenciu /inventura-polozka. V POST požiadavke zašlite kód cenníkovej položky, skutočné množstvo na sklade a identifikáciu inventúry, do ktorej chcete položky pridať.
POST požiadavku zašlite na adresu server:port/c/firma/inventura-polozka.xml
Príklad XML:
<?xml version="1.0"?>
<winstrom>
<inventura-polozka>
<!-- kód ceníkové položky -->
<cenik>code:TRIKO123</cenik>
<!-- reálné množství zjištěné při inventuře fyzického skladu -->
<mnozmjreal>157</mnozmjreal>
<!-- identifikátor inventury, do které položku přidáváme -->
<inventura>3</inventura>
</inventura-polozka>
</winstrom>
ID dostupnej inventúry je možné zistiť GET požiadavkou na adrese /inventura.xml?limit=0
Aktualizuj stavy
Aktualizuje programový stav, ktorý sa vďaka neskôr vytvoreným skladovým pohybom môže líšiť od toho uvedeného v inventúre. Akonáhle na sklade dôjde k pohybom po založení inventúry a pridaní položiek, je nutné pred vygenerovaním dokladov aktualizovať stavy v položkách inventúry.
Služba je dostupná na adrese:
/c/{firma}/inventura/{id}/aktualizuj-stavy.xml(.json),
kde {firma} je databázový identifikátor firmy, {id} je databázový identifikátor inventúry.
V prípade úspešného vykonania služby je vrátený HTTP status 200.
Príklad volania:
V prípade nesprávneho ID inventúry je vrátený HTTP status 404:
<message>Záznam nebyl v datovém zdroji nalezen: cz.winstrom.vo.skl.Inventura#12 (Inventury)</message>
Vygeneruj doklady
Vygeneruje skladové pohyby tak, aby programové množstvo na sklade zodpovedalo skutočnému. Dôjde k vygenerovaniu skladových príjmov a výdajok na základe rozdielu programového a reálneho stavu skladu.
Služba je dostupná na adrese:
/c/{firma}/inventura/{id}/vygeneruj-doklady.xml?typDoklId={idDokl},
kde {firma} je databázový identifikátor firmy,
{id} je databázový identifikátor inventúry,
{idDokl} je databázový identifikátor požadovaného typu dokladu pre skladový pohyb.
Príklad volania:
V prípade úspešného vykonania služby je vrátený HTTP status 200 spolu s odpoveďou:
Ak sa zadaný stav líši od programového:
<?xml version="1.0" ?>
<winstrom version="1.0">
<success>true</success>
<message>Doklady byly úspěšně vygenerovány.</message>
</winstrom>
Ak sa zadaný stav nelíši od programového:
<?xml version="1.0" ?>
<winstrom version="1.0">
<success>true</success>
<message>Při inventuře nevznikl žádný inventurní rozdíl.</message>
</winstrom>
V prípade nesprávneho ID inventúry je vrátený HTTP status 404:
<message>Záznam nebyl v datovém zdroji nalezen: cz.winstrom.vo.skl.Inventura#12 (Inventury)</message>
Pozor, v prípade nesprávneho ID typu dokladu nedôjde k vygenerovaniu žiadnych rozdielov.
FAQ
Potrebujete poradiť?
V prípade otázok k aplikácii nás kontaktujte na podporaflexi@abra.eu, prípadne prostredníctvom okna chatu v pravom dolnom rohu.
