System4U
facebook LinkedIN LinkedIN - follow

Svěřte faktury, skladové pohyby nebo účetnictví kvalitnímu ERPu a plně se věnujte své unikátní aplikaci, třeba v e-commerce

ABRAFunk­ční roz­hra­ní API pří­mo v in­for­mač­ním sys­té­mu umož­ňu­je vel­mi snad­né na­po­je­ní na ex­ter­ní ap­li­ka­ce, we­bo­vé por­tá­ly, e-sho­py či za­ří­ze­ní, bez ohle­du na do­da­va­te­le. Na ERP na­po­jí­te i va­ši vlast­ní ap­li­ka­ci, kte­rá je pro byz­nys fir­my klí­čo­vá. S kva­lit­ním API se pro­gra­má­tor ne­mu­sí nic slo­ži­té­ho učit a mů­že se sou­s­tře­dit na roz­voj své uni­kát­ní ap­li­ka­ce. O všech­ny eko­no­mic­ké vě­ci se po­s­ta­rá ERP sys­tém.


Bez API ani ránu

API (Application Programming Interface) je programátorské rozhraní umožňující vzájemnou komunikaci různých aplikací a jednoduchou správu všech dostupných dat. Je-li API rozhraní integrované přímo v informačním systému, jeho propojení s externími aplikacemi je jednodušší, rychlejší a méně náročné na datové přenosy.

Nezáleží pak na tom, že e-shop, CRM, výrobu nebo docházku spravujete v jiném externím systému, který vám vyhovuje. Se všemi daty nakonec vždy pracujete tam, kde potřebujete (například docházka je k dispozici ve mzdovém účetnictví). Prostřednictvím API může vše fungovat v jednom all-in-one systému bez chyb, ručního přepisování, dohledávání, odlišných uživatelských prostředí, mnoha školení, náročných exportů a importů dat.

ABRA Software integrovala rozhraní API do obou svých produktů – do ABRA Flexi, softwaru pro menší byznys, i do ABRA Gen, ERP pro řízení a provoz velké nebo střední úspěšné firmy. Jak obě rozhraní fungují a jaké jsou jejich výhody?

ABRA Flexi API

Když před deseti lety vznikalo API informačního systému, tehdy pod názvem FlexiBee, byla to doslova revoluce. Dodnes z něj v produktu stále vycházíme. Bylo to v době, kdy ještě neexistovaly standardy typu Swagger a mít REST API u ERP aplikace bylo něco nového, co otevíralo brány jinak běžně uzavřených krabic, do kterých museli lidé data pořizovat ručně.

Genialita by design

Zasvěcení do API technologií vědí, že propojení dvou systémů je fajn, ale je potřeba mezi nimi udržovat vazby, na což většinou ani jedna strana není připravená. Situaci běžně řeší různé vazební tabulky – v jednom ze systémů udržujete informaci, jak konkrétní záznam dohledáte v tom druhém. Protože se to týká každé položky (včetně toho nejméně významného návazného číselníku), časem z toho nutně vznikne neskutečný spletenec.

S ABRA Flexi API tohle nepotřebujete, a to hned z několika důvodů. Prvním je podpora externích identifikátorů, kdy má každý pořízený záznam kromě interního ID možnost evidovat ID z jiných databází. Tato podpora je nativní a podle externí identifikace je možné záznam rychle vyhledat a provést aktualizaci. Další výhodou pro vývojáře je shodná struktura JSON nebo XML požadavku pro vkládání či aktualizace. Pokud záznam obsahuje identifikaci, Flexi API samo rozhodne, zda udělat update nebo insert, aniž si ve zdrojovém systému musíte pamatovat, zda je tento záznam přenesen či nikoliv. To zní dobře, ne? A tím to nekončí, API vám dokonce v odpovědi sdělí, zda došlo k vytvoření záznamu nebo k aktualizaci. A umí toho ještě více.

ID je mrtvé, ať žije KÓD!

Pokud nechcete, není třeba při práci s Flexi API používat strojovou identifikaci záznamu (třeba, že záznam s ID 32 je v číselníku států Česká republika). Flexi totiž na rozdíl od jiných API umožňuje záznam identifikovat nejen skrz ID, ale také pomocí unikátního přirozeného kódu, který znají běžní uživatelé (např. „code:FAKTURA“). Dobře to ilustruje následující obrázek. Pro vývojáře je snazší nalézt chybu, kterou právě hlásí účetní, když přitom nemusí dohledávat, co se skrývá pod konkrétním ID. Stačí jen udržovat stejný kód, což snadno všem vysvětlíte. Synchronizace je pak hračka.

Identifikace záznamu vlevo pomocí ID, vpravo pomocí unikátního přirozeného kódu ve Flexi
Identifikace záznamu vlevo pomocí ID, vpravo pomocí unikátního přirozeného kódu ve Flexi

Při zakládání záznamů s mnoha vazbami bývá v běžných API nutné nejprve pořídit číselníkové záznamy a teprve poté doklady. Musíte ve správném pořadí poslat mnoho požadavků na různé zdroje, což je často úmorná, nevděčná práce. Ve Flexi API můžete více much zabít jednou ranou – v rámci jednoho požadavku je možné požádat o založení více záznamů, které jsou mezi sebou navíc provázané. Představte si třeba, že pořizujete fakturu na zakázku, která ještě není převedena do systému. Není nic snazšího než v rámci jednoho POST požadavku poslat nejen zakázku, ale třeba také firmu a středisko a nakonec fakturu, která se na tyto jednotně poslané číselníkové záznamy odkazuje. Zároveň si můžete nastavit, že v případě existence těchto záznamů nedojde k jejich aktualizaci. Tak co, už vás svrbí prsty a chcete se na Flexi API napojit?

Let’s code

ABRA Flexi obsahuje vestavěný popis API objektů i strukturu databáze. Jak se k těmto informacím dostat? Stačí otevřít adresu vašeho Flexi nebo veřejného dema demo.flexibee.eu/flexi/demo/evidence-list, kde se dozvíte o každém zdroji, který je v API k dispozici včetně jeho vazeb, tiskových sestav a dalších užitečných informací. Pokročilé možnosti API zjistíte také z webu www.flexibee.eu/api. A když se přes www.flexibee.eu/api/dokumentace/ref/dry-run podíváte na režim dry-run, který provádí změny nanečisto a vrací případné chyby, můžete zkontrolovat, zda máte správně vyplněná všechna potřebná data.

A jeden tip navíc: Povinná pole velmi často není nutné posílat, protože jejich hodnoty vám vyplní silná business logika, která funguje stejně jako v uživatelském rozhraní. Na dokladech je tak potřeba předat jen pole typu dokladu a odvodí se z něj vše potřebné. A co na Flexi napojíte? E-shop, interní systém pro zpracování objednávek, nebo B2B portál pro vaše klienty, aby si měli kde stáhnout faktury. Máte ještě lepší nápad? Nebo už jste dokonce postavili něco, co by se hodilo i ostatním? Dejte nám vědět a my vás přidáme mezi oficiální rozšíření do sekce doplňků na www.flexibee.eu/doplnky.

WebAPI ABRA Gen

WebAPI je otevřené rozhraní nad informačním systémem ABRA Gen. API server je postaven na REST architektuře, pro komunikaci tedy využívá protokol HTTP. To umožňuje snadný přístup k datům a komunikaci s ABRA Gen z libovolného programovacího jazyka a operačního systému.

Úplná integrita záznamů

WebAPI ABRA Gen je unikátní také díky tomu, že nestojí samostatně mimo systém, ale je v něm plně integrováno. WebAPI respektuje business logiku (pravidla) systému a zajišťuje jednotný přístup k datům a úplnou integritu jak při čtení, tak i při zápisu. Je jedno, zda uživatel záznam založí přímo v systému, nebo skrze API, záznam bude vždy úplný a správný. Samozřejmostí je přehledná a úplná dokumentace, a to včetně kompletního popisu objektového modelu. Zkušení správci systému si navíc mohou WebAPI rozšířit o své vlastní zdroje či metody a výrazně tak usnadnit integraci externích aplikací.

Součástí řešení Web API systému ABRA Gen je implementace standardu Swagger (OpenAPI). Aplikace, weby a další IT nástroje tak vzájemně rozpoznají své možnosti, aniž by bylo potřeba vstupovat do zdrojového kódu. Data jsou díky API dostupná ve formátu JSON – aktuálně nejpoužívanějším formátu pro výměnu dat.

HTTP protokol funguje na principu požadavku a odpovědi. Klient (například webový prohlížeč) pošle požadavek webovému serveru (tedy API serveru), ten ho zpracuje a podle zátěže si vybere jeden z dostupných tzv. worker procesů. Worker obstará vykonání požadavku a výsledek ve formátu JSON vrátí zpátky serveru, který pak odpověď odešle klientovi. Díky možnosti rozložení zátěže na více serverů přináší toto řešení širokou škálovatelnost a vysokou dostupnost.

Cyklus zpracování dotazu
Cyklus zpracování dotazu

Safety 1st

Přístup k API je v případě WebAPI ABRA Gen dovolen pouze uživatelům, kteří mají v ABRA Gen nastavené odpovídající oprávnění. V API také fungují standardní oprávnění pro přístup k řadám dokladů, střediskům atd. Při zpřístupnění API do internetu lze použít zabezpečený protokol HTTPS, díky kterému je potom veškerá komunikace s API šifrovaná.


 
Sophos