Chystáte se na ABRA Flexi napojit nějakou jinou externí aplikaci? V návodu se Vám pokusíme přiblížit agendy (evidence), které se v těchto případech nejčastěji používají.
Před začátkem práce vždy doporučujeme nastudovat API dokumentaci (příp. jak začít s API), kde naleznete veškeré popsané procesy, které lze v API realizovat.
Kompletní přehled evidencí naleznete v tzv. evidence-listu v naší webové aplikaci. Strojový název (resp. API název) je to, co uvedete do příslušné URL adresy.
O tom, jak takovou URL adresu poskládat, pojednává jiný návod. Vědět byste měli také o podporovaných formátech. Pokud můžeme vypíchnout několik dalších užitečných funkcí při skládání URL adresy, bude Vám nápomocna filtrace, či úroveň detailu, nicméně přijde Vám vhod celá API příručka a příklady XML souborů.
K dispozici máme rovněž obecný návod pro migraci dat z jiného systému. Návod je však spíše pojat ve smyslu změny účetního systému a s tím spojenými převody dat.
Za zmínku rovněž stojí, že pro autentizace jednotlivých requestů z Vaší externí aplikace, je zapotřebí vlastnit tzv. API uživatele. Více informací naleznete v ceníku, příp. kontaktujte naše obchodní oddělení.
Přenos dat
Zřejmě nejčastějším propojením aplikací je propojení účetního systému ABRA Flexi s e-shopem. Najde se ale celá řada jiných propojení, např. se skladovým systémem, expedičními softwary, CRM systémy apod. S tím je spojená práce s daty, které mezi systémy můžete přesouvat.
Některá data přesouváte z externí aplikace, některá naopak do. Pokud se v externí aplikaci potřebujete dozvědět o změně určitých dat ve Flexi, slouží k tomuto tzv. WebHooks.
Objednávky
Přenos objednávek z e-shopu do Flexi můžeme zřejmě považovat za nejběžnější řešení z realizovaných napojení. Nejčastěji se rovněž přesouvají automaticky (buďto vždy po jedné, nebo dávkově).
Endpoint
/objednavka-prijata
Příklad URL
Příklad requestu
<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP0080/2021</id>
<datVyst>2021-06-16</datVyst>
<sumCelkem>1000.0</sumCelkem>
<sumCelkemMen>0.0</sumCelkemMen>
<mena>code:CZK</mena>
<firma>code:2776</firma>
<popis></popis>
<polozkyDokladu>
<objednavka-prijata-polozka>
<nazev>testovaci_polozka</nazev>
<cenik>code:TEST</cenik>
<sklad>code:PLZEŇ</sklad>
<mnozMj>1.0</mnozMj>
<cenaMj>300</cenaMj>
<mena>code:CZK</mena>
</objednavka-prijata-polozka>
</polozkyDokladu>
</objednavka-prijata>
</winstrom>
S přenosem objednávky lze objednávku rovnou realizovat, nebo položky objednávky objednat u dodavatele.
Faktury
Přenos faktur z e-shopu je zřejmě druhým nejčastějším procesem. Pokud přenášíte pouze faktury, pravděpodobně vynecháváte přenos objednávek.
Endpoint
/faktura-vydana
Příklad URL
Faktura ve výchozím stavu generuje skladový doklad, tedy výdejku. Nastavení je možné změnit v typu faktury.
Adresář
S objednávkou či fakturou (resp. dokladem obecně) se nesou i informace o zákazníkovi. Ty se ukládají do adresáře. Rovněž tak jsou do adresáře ukládány všichni ostatní obchodní partneři, např. dodavatelé.
Endpoint
/adresar
Příklad URL
Příklad requestu
<winstrom version="1.0">
<adresar>
<id>code:ABRA</id>
<nazev>ABRA Software a.s.</nazev>
<ic>25097563</ic>
<dic>CZ25097563</dic>
<ulice>Jeremiášova 1422/7B</ulice>
<mesto>Praha</mesto>
<psc>155 00</psc>
<stat>code:CZ</stat>
</adresar>
</winstrom>
Adresář je možné zakládat společně s dokladu (objednávkou, fakturou) v jednom requestu.
Ceník
Potřebujete synchronizovat ceník (resp. produktový list) z nebo do Flexi? Pak hledáte evidenci ceník.
Endpoint
/cenik
Příklad URL
Příklad requestu
<winstrom version="1.0">
<cenik>
<kod>TEST</kod>
<nazev>testovaci_polozka</nazev>
<cenaZakl>263.5</cenaZakl>
<typCenyDphK>typCeny.bezDph</typCenyDphK>
<typZasobyK>typZasoby.zbozi</typZasobyK>
<typSzbDphK>typSzbDph.dphZakl</typSzbDphK>
<skladove>true</skladove>
</cenik>
</winstrom>
Na ceník se u skladových položek vážou skladové karty. Na nich je evidován stav skladu příslušných položek.
Individuální ceník
Do Flexi lze rovněž nahrát ceník individuální. Ten může být vázán na různé firmy, skupiny firem či měny. Nahrávat můžeme individuální ceny nákupní a individuální ceny prodejní.
Endpoint prodejních cen
/odberatel
Příklad URL
Příklad requestu
<winstrom version="1.0">
<odberatel>
<prodejCena>0.5</prodejCena>
<cenik>code:TEST</cenik>
<firma>ABRA</firma>
<mena>code:EUR</mena>
</odberatel>
</winstrom>
Endpoint nákupních cen
/dodavatel
Příklad URL
Příklad requestu
<winstrom version="1.0">
<dodavatel>
<cenik>code:TEST</cenik>
<firma>code:DODAVATEL</firma>
<nakupCena>200</nakupCena>
<mena>code:CZK</mena>
</dodavatel>
</winstrom>
Individuální ceník lze nastavit i přímo v aplikaci, k dispozici máme rovněž návod.
Skladové karty
U skladových karet (zejména v případě e-shopů) je poměrně častým řešením získávání stavu skladu z Flexi. Ten zjistíte pomocí skladových karet.
Endpoint
/skladova-karta
Příklad URL
Do skladových karet import obvykle neprobíhá, naopak se z nich stav skladu získává. Skladové karty ve Flexi neovlivňují stav skladu, ten ovlivňují pouze skladové pohyby. Pokud potřebujete importem ovlivnit stav skladu, importujte skladové pohyby.
Skladové pohyby
Příjemka nebo výdejka. Doklad, který ovlivňuje stav skladu. Využitelné při napojení skladových a expedičních systémů.
Endpoint
/skladovy-pohyb
Příklad URL
Příklad requestu
<winstrom version="1.0">
<skladovy-pohyb>
<id>code:S-0093/2021</id>
<datVyst>2021-08-09</datVyst>
<sumCelkem>10000.0</sumCelkem>
<mena>code:CZK</mena>
<firma>code:ABRA</firma>
<polozkyDokladu>
<skladovy-pohyb-polozka>
<nazev>testovaci_polozka</nazev>
<cenik>code:TEST</cenik>
<sklad>code:PLZEŇ</sklad>
<mnozMj>1.0</mnozMj>
<cenaMj>300</cenaMj>
<mena>code:CZK</mena>
</skladovy-pohyb-polozka>
</polozkyDokladu>
</skladovy-pohyb>
</winstrom>
Skladové pohyby jsou zřejmě obvykle generovány přímo ve Flexi. Expediční a skladové systémy je však potřebují zakládat, či získávat informace o nich.
To bylo vše ze základních evidencí, které využijete při napojení externí aplikace. Dostupných evidencí přes API je daleko více, všechny z nich naleznete zde.
Před začátkem práce vždy doporučujeme nastudovat API dokumentaci (příp. jak začít s API), kde naleznete veškeré popsané procesy, které lze v API realizovat.