Skladovou inventuru je možné obsloužit pomocí REST API. API nabízí služby pro aktualizaci stavů v inventuře a vygenerování dokladů z inventury. Pro obě akce lze využít HTTP metodu: GET
.
Dále je možné pomocí API vkládat položky do inventury. K tomuto využijeme metodu POST.
Jednotlivé služby si popíšeme v této dokumentaci.
Přidání položek inventury přes API
Do inventury se vloží vybrané ceníky s výchozím množstvím. Vloží pouze ty ceníky, které se v inventuře nenachází. Nemění množství pro ceníky, které jsou již obsaženy v inventuře.
Akceptuje pouze ty skladové karty, které přísluší účetnímu období inventury.
Služba je dostupná na adrese: /c/{firma}/inventura/{id}/vloz-polozky
, kde {firma} je databázový idenfitikátor firmy, {id} je databázový identifikátor inventury.
Parametry se předávají v těle požadavku:
filter
- je filtr pro výběr skladových karetinitialValueNull
- s hodnotoutrue
určí že výchozí množství má býtnull
jinak bude0.0
.
Ukázka:
<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 patřící do jiného účetního období než inventura budou vynechány.
V odpovědi je uvedeno kolik položek bylo vloženo do inventury.
<?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í volání:
Položky do inventury je možné přidat i přes evidenci /inventura-polozka
. V POST requestu zašlete kód ceníkové položky, reálné množství na skladě a identifikaci inventury, do které chcete položky přidat.
POST request zašlete na adresu server:port/c/firma/inventura-polozka.xml
Pří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 dostupné inventury lze zjistit GET požadavkem na adrese /inventura.xml?limit=0
Aktualizuj stavy
Aktualizuje programový stav, který se díky později vytvořeným skladovým pohybům může lišit od toho uvedeného na inventuře. Jakmile na skladu dojde k pohybům po založení inventury a přidání položek je nutné před vygenerování dokladů aktualizovat stavy v položkách inventury.
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 inventury.
V případě úspěšného vykonání služby je vracen HTTP status 200.
Příklad volání:
GET https://demo.flexibee.eu/c/demo/inventura/1/aktualizuj-stavy.xml
V případě špatného ID inventury je vrácen 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žství na skladě odpovídalo tomu skutečnému. Dojde k vygenerování skladových příjmu a výdejek na základě rozdílu programového a reálného stavu skladu.
Služba je dostupná na adrese:
/c/{firma}/inventura/{id}/vygeneruj-doklady.xml?typDoklId={idDokl}
,
kde {firma} je databázový idenfitikátor firmy,
{id} je databázový identifikátor inventury,
{idDokl} je databázový identifikátor požadovaného typu dokladu pro skladový pohyb.
Příklad volání:
GET https://demo.flexibee.eu/c/demo/inventura/1/vygeneruj-doklady.xml?typDoklId=1
V případě úspěšného vykonání služby je vracen HTTP status 200 společně s odpovědí:
Pokud se liší zadaný stav od toho programového:
<?xml version="1.0" ?>
<winstrom version="1.0">
<success>true</success>
<message>Doklady byly úspěšně vygenerovány.</message>
</winstrom>
Pokud se neliší zadaný stav od toho 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 případě špatného ID inventury je vrácen HTTP status 404:
<message>Záznam nebyl v datovém zdroji nalezen: cz.winstrom.vo.skl.Inventura#12 (Inventury)</message>
Pozor, v případě špatného ID typu dokladu nedojde k vygenerování žádných rozdílů.
FAQ
Potřebujete poradit?
V případě dotazů k aplikaci nás kontaktujte na podporaflexi@abra.eu případně prostřednictvím chat okna v pravém dolním rohu.