Inventura v REST API

Jak provést Inventuru pomocí REST API Flexi?

Ota Rádl avatar
Autor: Ota Rádl
Aktualizováno před více než týdnem

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 karet

  • initialValueNull - s hodnotou true určí že výchozí množství má být null jinak bude 0.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.

Dostali jste odpověď na svou otázku?