SMS upozornění na změny ve FlexiBee

Přemýšleli jste někdy o tom, že byste chtěli dostat SMS pokaždé, když se v ABRA FlexiBee něco konkrétního stane? Například, pokud se v ABRA FlexiBee vytvoří nová objednávka? Díky API rozhraní FlexiBee a službě Integromat to není žádný problém.

Případy použití

SMS upozornění může mít několikeré využití. Začít můžete například s upozorněním na novou objednávku. Jedna zpráva upozorní na to, že se v ABRA FlexiBee objevila nová objednávka, přímo Vás. Druhou SMS lze poslat zákazníkovi jako potvrzení přijetí jeho objednávky.

Na každé objednávce je pole, do nějž lze zadat telefonní číslo zákazníka (kontaktTel). Toto pole následně slouží Integromatu jako telefonní číslo, na které se odešle upozornění. Text SMS můžete doplnit například číslem objednávky nebo odkazem na sledování stavu objednávky.

SMS upozornění lze samozřejmě odesílat i v případě jakýchkoliv jiných změn v ABRA FlexiBee. Dojde k vyskladnění zboží? Zákazníkovi nebo Vám přijde SMS. Dojde k vytvoření nové faktury? Opět Vás SMS upozorní. Je založen nový uživatel? SMS zprávu můžete využít k odeslání jednorázového hesla.

Nastavení FlexiBee – aktivace Changes API

V ABRA FlexiBee je potřeba nejprve aktivovat Changes API. Tím se Integromat dozví o tom, že nová objednávka vznikla. Postup aktivace Changes API naleznete v dokumentaci. Není to vůbec složité. Jen je potřeba poslat prázdný PUT request na adresu /changes/enable.xml

curl -k -L -u {jmeno}:{heslo} -X PUT https://localhost:5434/c/{firma}/changes/enable.xml -H Content-Length:0

Místo {jmeno} a {heslo} doplníte jméno a heslo uživatele s dostatečnými právy, místo {firma} pak zadáte identifikátor firmy, nad kterou chcete Changes API zapnout.

Tím je FlexiBee nastaveno a můžete začít s klikáním scénáře v Integromatu.

Scénář v Integromatu

Jednoduchý scénář v Integromatu

Jednoduchý scénář v Integromatu

Ve scénáři použijete dvě nové komponenty. První z nich bude ABRA FlexiBee – Sledovat změny v evidenci (webhook) a druhou bude Android – Poslat SMS.

ABRA FlexiBee – Sledovat změny v evidenci (webhook)

Pokud máte ve FlexiBee zapnuto Changes API, je možné použít tuto komponentu a spustit scénář pokaždé, když dojde k vytvoření nové objednávky. Funguje to následovně: e-Shop zapíše novou objednávku, FlexiBee notifikuje přes REST-API webhook v Integromatu a ten pak zajistí odeslání SMS.

Nastavení komponenty pro FlexiBee WebHooks

Nastavení komponenty pro FlexiBee WebHooks

Přidáte tedy komponentu ABRA FlexiBee a zvolíte možnost Sledovat změny v evidenci (webhook). Vyplníte název webhooku (doporučujeme zadávat co nejpřesnější jména, protože po uložení již není možné si nastavení prohlédnout), connection do FlexiBee, vyberete firmu a evidenci (Přijaté objednávky), nad kterou chcete změny sledovat a nakonec zaškrtnete možnost Vložení záznamu.

Tím je webhook kompletně nastaven a připraven k prvnímu použití.

ABRA FlexiBee – Načíst detail záznamu

Načíst detail záznamu z FlexiBee

Načíst detail záznamu z FlexiBee

Integromat ale jako obsah notifikace na webhook získá z FlexiBee jen ID záznamu, který byl vytvořen. Pokud nechcete posílat jen strohé notifikace (např. „Je tu nová objednávka s ID xxx“), je nutné si konkrétní záznam z FlexiBee načíst další komponentou. K tomuto účelu využijeme komponentu ABRA FlexiBee – Načíst detail záznamu. Opět vybereme správnou connection, společnost a evidenci. Jako ID předáme ID z webhooku. Integromat teď udělá dotaz do FlexiBee a načte patřičný záznam. Tím získáte všechna pole, která budete nejspíš potřebovat (telefonní číslo, variabilní symbol, celkovou částku atd.)

Mobilní aplikace Integromat pro Android

Teď už zbývá jen poslat SMS upozornění na příslušné telefonní číslo. K tomu potřebujete mobilní telefon s operačním systémem Android a pokud možno co nejnižší cenu za SMS. Do telefonu z Google Play stáhnete aplikaci Integromat. Po instalaci se zobrazí možnost spárovat s Integromatem. To je celkem jednoduché, protože stačí naskenovat QR kód, který vygeneruje Integromat při přidání nového zařízení.

Také je potřeba v nastavení aplikace povolit odesílání SMS.

Android – Poslat SMS

Do scénáře v Integromatu pak přidáte modul Android – Poslat SMS. Zvolíte nebo přidáte nové zařízení. Při přidání nového se zobrazí QR kód, který naskenujete telefonem a potvrdíte.

Modul pro komunikaci s Androidem

Modul pro komunikaci s Androidem

Do pole příjemce zadáte telefonní číslo příjemce, které je v objednávce ve FlexiBee v poli kontaktTel.

Text zprávy seskládáte z dalších informací. Je možné použít velké množství informací, načtené přímo z FlexiBeei. Máte k dispozici variabilní symbol, číslo účtu, celkovou částku, číslo objednávky. Můžete si seskládat adresu, na které může zákazník sledovat stav objednávky atd. Jen musíme dávat pozor na to, že běžná SMS má délku 160 znaků.

Pár slov závěrem

Ve scénáři je použit modul pro Android. Na rozdíl od modulu Apple iOS umí odesílat SMS. Modul pro iPhone umí odesílat „jen“ push notifikace, takže se nehodí pro upozorňování zákazníků.

Pokud tedy váš e-shop neumí odesílat SMS, napojte jej na ABRA FlexiBee a pomocí Integromatu zajistíte upozornění zákazníka.

Jak ve FlexiBee zjistit stav skladu pro e-shop

Napojením vlastního e-shopu na účetnictví ABRA FlexiBee jsme se již zabývali v samostatném článku. Tentokrát si upřesníme, jak z ABRA FlexiBee přenášet do e-shopu aktuální stav skladu. Pokud totiž příjemky a výdejky evidujete pouze v účetnictví a e-shop je neřeší, je to nejlepší způsob, jak získat jasnou informaci o tom, kolik, jakého zboží lze v e-shopu prodat. Jak tedy stav skladu správně načíst?

Možností je hned několik. Většina e-shopů má v ABRA FlexiBee zaveden samostatný sklad. Většinou to bývá sklad hlavní. Pokud má firma i kamenné prodejny, každá z nich má svůj vlastní sklad. Převody zboží na prodejny a z nich se pak řeší převodkami ze skladu e-shopu. Po každém pohybu (příjem i výdej) se tedy e-shop musí dozvědět, že se stav určitého zboží snížil nebo zvýšil.

Stav skladu k datu

První možností je využití evidence stavu skladu k datu. Jedná se sice o přesný, nicméně málo efektivní způsob. Je sice schopen spočítat stav skladu přesně ke konkrétnímu dni, ale to většinou není potřeba. Bohužel je v porovnání s ostatními způsoby pomalý. I když použijete detail custom jen na to, co vás zajímá, získání reálných výsledků trvá velmi dlouho.

http://localhost:5434/c/muj_eshop/stav-skladu-k-datu.json?sklad=4&detail=custom:cenik,stavMJ&limit=0

Tento první pokus o načtení stavu skladu trval v průměru 2 minuty a 20 vteřin na 30 000 záznamech. Ani zdaleka se tedy nejedná o optimální řešení. Vrátil však přesně to, co pro e-shop potřebujete – záznamy obsahující ceník a stav skladu. Celková velikost json souboru, který FlexiBee vygenerovalo, je 6 MB. Je sice možné spustit stránkování, ale tedy moc nepomůže.

Pozor také na to, že s každým dalším měsícem v roce bude počet pohybů růst a celkový čas potřebný na získání dat se bude zhoršovat.

Skladové karty

Další možností, jak získat aktuální stav skladu, jsou skladové karty pro aktuální účetní období. Jedná se tedy o dvojici dotazů. Prvním potřebujete zjistit ID aktuálního účetního období. Tato informace se ale celé účetní období (celý rok) nemění a není tedy potřeba ji načítat při každém dotazu na stav skladu.

Druhý dotaz pak vypadá takto:

http://localhost:5434/c/muj_eshop/skladova-karta/(ucetObdobi = 6 and sklad = 4).json?detail=custom:cenik,stavMJ&limit=0&no-ext-ids=true

Dotaz trvá kolem 35 vteřin a vygeneruje také 6 MB velký json. Opět je možné spustit stránkování, ale spíš jen z důvodu zpracovávání menších souborů.

Pozor. Pokud se nepoužije parametr „no-ext-ids=true“ zvýší se čas až na tři minuty!

Skladové karty se zůstatkem

Počet načítaných skladových karet lze ještě omezit. Není totiž nutné načítat karty s nulovým nebo záporným zůstatkem. Většina e-shopů nemá veškeré produkty skladem a velká část sortimentu je dostupná na objednávku. Takže stačí načíst jen skladové karty, které mají kladný zůstatek. O všech produktech, které se nevyskytují ve výsledku víme, že nejsou skladem a můžeme tedy stav skladu nastavit na 0.

http://localhost:5434/c/muj_eshop/skladova-karta/(ucetObdobi = 6 and sklad = 4 and stavMJ > 0).json?detail=custom:cenik,stavMJ&limit=0&no-ext-ids=true

Výsledný json velký necelý 1 MB je vygenerován za 5 vteřin. To je již celkem zásadní rozdíl oproti původním několika minutám.

Uživatelský dotaz – varianta „všechno“

Pokud je i pět vteřin příliš dlouhá doba, existuje ještě poslední možnost. Vytvořit si ve FlexiBee uživatelský dotaz, který umí být ještě rychlejší.

Dotaz bude vypadat takto:

select c.kod, k.stavMj from skarty k
left join ccenik c on c.idcenik = k.idcenik
where k.iducetobdobi = <<iducetniobdobi>>
and k.idskladu = <<idskladu>>

Tento dotaz je následně možné samozřejmě přes REST-API spustit a získat výsledky.

http://localhost:5434/c/muj_eshop/uzivatelsky-dotaz/35/call.json?iducetniobdobi=6&idskladu=4&limit=0

Jednoduchým uživatelským dotazem jsme schopni za 5 vteřin získat kompletní stav skladu pro všechny záznamy v ceníku, ať je jejich stav jakýkoliv (nulový nebo nenulový). Další výhodou je, že výsledný json má velikost 1,1 MB.

Uživatelský dotaz – varianta „jen nenulové“

Co když ale dotaz lehce modifikujeme a necháme si vrátit jen nenulové stavy?

select c.kod, k.stavMj from skarty k
left join ccenik c on c.idcenik = k.idcenik
where k.iducetobdobi = <<iducetniobdobi>>
and k.idskladu = <<idskladu>>
and stavMJ > 0.0

Volání je stejné jako v předchozím případě.

http://localhost:5434/c/muj_eshop/uzivatelsky-dotaz/35/call.json?iducetniobdobi=6&idskladu=4&limit=0

A čas? Kolem 700ms (0,7 s).

Výsledek obsahuje všechny potřebné informace a vygenerovaný json má velikost 145 kB. Takto malý soubor se celkem snadno a rychle přenáší a zpracovává. Takže i paměťová náročnost na straně e-shopu je minimální.

Resumé

Pokud vlastníte licenci povolující Uživatelské dotazy, nebojte se je využívat. Dokážete tak maximálně zrychlit odezvy hledání i minimalizovat výsledky. Pokud ji nevlastníte, je stále možné dostat se na celkem slušné výsledky s využitím standardní API evidence skladových karet. Zamyslete se však nad tím, zda by Vám uživatelské dotazy nemohly zpříjemnit a zefektivnit práci.

Poznámka:

Všechna měření byla prováděna na localhostu na stále stejné firmě. Do firmy během testování nepřibyl žádný záznam. Ceník obsahoval 30 000 záznamů. Celkový počet skladových karet pro účetní období, které nás zajímalo byl 100 000 (celkem jich bylo 500 000) a zůstatek byl na 5000 kartách.

Jak v ABRA FlexiBee tisknout na pokladní účtenky s rozměry 43, 48 nebo 80 mm?

V systému pro prodejní kasu je standardně k dispozici tisková sestava, která tiskne pokladní účtenku o šířce 60 mm. Využívá ji převážná většina pokladních tiskáren. V současné době se všako bjevují i tiskárny pracující se štítky jiných rozměrů. Mezi jejich nejobvyklejší rozměry patří 43, 48 či 80 mm. Tiskové sestavy těchto rozměrů je možné do ABRA FlexiBee dodatečně importovat formou uživatelských reportů. Celý článek

Jak na rychlé filtrování v ABRA FlexiBee

Věděli jste, že stačí myší kliknout na buňku v tabulce, začít psát hledaný text a FlexiBee začne filtrovat záznamy s tímto textem v příslušném sloupci? Jak můžete vidět v našem krátkém videu, tímto způsobem lze velmi rychle a efektivně vyhledávat jednotlivé záznamy i celé skupiny záznamů. Celý článek

Propojení ABRA FlexiBee s platebním terminálem

Platební terminál pro bezhotovostní platby. To je zařízení, bez něhož se v dnešní době neobejde už žádný maloobchodní prodejce. Snadné napojení platebního terminálu na prodejní kasu a potažmo na účetní systém je klíčové pro bezproblémové a rychlé odbavování zákazníků na prodejně. ABRA FlexiBee rychlé propojení s platebním terminálem umožňuje. Celý článek

ABRA FlexiBee na prodejnách

Software ABRA FlexiBee je plně připraven k nasazení na prodejnách. Obsahuje modul s prodejní kasou, která umožňuje práci se čtečkou čárových kódů, pokladním displejem a terminálem na platby kartou. Samozřejmostí je plná integrace EET. Celý článek

Přenos docházky z primaERP do FlexiBee

Evidujete v ABRA FlexiBee velký počet zaměstnanců s nepravidelným pracovním poměrem a hodinovou mzdou? Rádi byste se při výpočtu mezd vyhnuli ručnímu zadávání odpracovaných hodin? Nechte zaměstnance evidovat svou pracovní dobu v docházkovém systému a data z něj automaticky načítejte do ABRA FlexiBee. K evidenci pracovní doby lze využít například šikovnou cloudovou aplikaci ABRA primaERP. Celý článek

Přenos dat z primaERP do FlexiBee

ABRA primaERP je šikovná cloudová aplikace z rodiny produktů ABRA Software. Jedná se o nástroj na sledování času stráveného na týmových projektech (Timetracking) a jeho následné vyfakturování zákazníkovi (Billing). V primaERPu lze rovněž sledovat docházku pomocí modulu Attendance. PrimaERP stejně jako ABRA FlexiBee má propracované API rozhraní a není tedy problém tyto dva systémy propojit. Celý článek

1 2 3 8