Uživatelský dotaz ve FlexiBee
Získání skladových karet pod minimální zásobou z FlexiBee
Nejjednodušší a nejefektivnější možností je uživatelský dotaz. Ve FlexiBee tedy vytvoříme uživatelský dotaz
select c.kod as cenik_kod,
c.nazev as cenik_nazev,
s.kod as sklad_kod,
k.stavmjspozadavky,
k.minmj
from skarty k
join nucetobdobi uo on k.iducetobdobi = uo.iducetobdobi
left join ccenik c on k.idcenik = c.idcenik
left join dbsp s on k.idskladu = s.idbsp
where uo.platioddata <= now() and uo.platidodata >= now()
and k.stavmjspozadavky < k.minmj
Tento dotaz vrací zkratku a název ceníku, zkratku skladu, nastavený minimální stav skladu a aktuální stav skladu dané karty. Vrací jen záznamy, které se dostávají pod minimální stav. Ostatní záznamy nás nezajímají, takže není potřeba je do Integromatu posílat (šetří se operace).
Připravený uživatelský dotaz si můžete stáhnout ve formátu XML.
Tento XML soubor pak jen naimportujete do FlexiBee pomocí menu Nástroje – Import – Import z XML.
Uživatelský dotaz bude Integromat spouštět pomocí FlexiBee REST API. Můžeme si tedy ještě vyzkoušet, zda vše funguje tak jak má.
Spuštění uživatelského dotazu přes API se provádí GET požadavkem na adresu
server:port/c/indetifikátor_firmy/uzivatelsky-dotaz/id_dotazu/call.json?limit=0
např. https://demo.flexibee.eu/c/demo/uzivatelsky-dotaz/45/call.json?limit=0
Jakmile máme dotaz ve FlexiBee, máme již v podstatě vše připraveno a můžeme se pustit do klikání v Integromatu.
Zpracování výsledku a odeslání mailu v Integromatu
Na celý scénář stačí FREE tarif Integromatu. Po úspěšné a rychlé registraci můžeme tedy začít klikat scénář.
Modul HTTP
První „bublina“ načítá data z FlexiBee API. Musíme zadat jen adresu, na které si Integromat má načíst data a přihlašovací údaje. Nejlepší je používat data, ve formátu JSON, protože se s nimi jednoduše pracuje.
JSON Modul
Další modul ve scénáři pak bude JSON, s nastavením Rozparsovat JSON. Do tohoto modulu přitékají data z HTTP modulu a vytváří se z nich struktura pro další zpracování.
V tomto modulu je potřeba nadefinovat, jakou strukturu budou mít data, která přitečou. To je asi nejobtížnější úkol, který jsem v celém scénáři našel. Naštěstí je dostupný Generátor, do kterého se zadá úryvek dat a Integromat si Datovou strukturu vymyslí sám 🙂.
Modul Iterátor
Pokud má být email, který nakonec scénář vyprodukuje, hezky naformátovaný, je potřeba jako další modul vložit Iterátor. Tento modul bude postupně pocházet jednotlivé řádky výsledku a posílat je dál samostatně.
Nástroje Sestavit řetězec
Jakmile máme výsledek naparsován a rozdělen na jednotlivé řádky, můžeme začít se sestavováním výsledku. Aby výsledný email měl patřičnou strukturu, využijeme modul pro sestavování řetězců. V něm si můžeme výsledek pěkně naformátovat. Při skládání výsledku můžeme použít i HTML značky (<br />, <b>, <i>, ...).
Jak bude výsledek naformátován je na fantazii každého tvůrce 🙂.
Nástroje Textový agregátor
Předposledním modulem scénáře je Textový agregátor, který zajistí, že ze scénáře bude odeslán jen jeden email a ne email pro každou řádku.
Odeslání mailu s výsledkem
Tělo mailu máme seskládané a tak zbývá ho už jen poslat mailem. K tomu se dají použít minimálně dva moduly. Já jsem použil modul Gmail a jeho funkci Odeslat e-mail.
Zvolíme si Spojení na Gmail, zadáme na jakou e-mailovou adresu budeme maily posílat, vyplníme předmět a jako obsah dáme výstup z předchozích modulů.
Filtrování a neodeslání mailu v případě, že je všechno v pořádku
Mailová notifikace se má samozřejmě posílat jen tehdy, existují-li skladové karty, jejichž stav je pod minimálním stavem. To je možné zajistit filtrací. Nejlepší je vložit ji mezi moduly JSON a Iterátor a nastavit tak, že v poli winstrom: DotazView[] (což je výsledek JSON parseru), musí být více než 0 záznamů.
Závěr
Naklikání celé integrace je otázkou několika minut. Automatické spouštění scénáře stačí jednou denně. Není potřeba ho spouštět vícekrát. Dokonce většinou bude stačit FREE tarif Integromatu 🙂.
Pokud mají být notifikace správné a použitelné, je potřeba mít ve skladu ve FlexiBee pořádek. Minimální stavy zásob nastaveny jen tam, kde nás zajímají a také správně a rychle naskladňovat zboží.
Myslím si, že takovéto řešení je mnohem použitelnější, než například notifikace při ukládání položky přímo ve FlexiBee. Tato notifikace by totiž zdržovala při práci a přečíst si jednou za den e-mail, ve kterém mám rozepsáno, které zboží musím objednat, není problém.
Místo formátovaného emailu, si ale můžu nechat poslat například EDI objednávku pro mého dodavatele a po zkontrolování ji rovnou odeslat 🙂.