ABRA Flexi API. V čem je výjimečné?

6. 5. 2021

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 těží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žnuje 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.

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, 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. A když se 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 na závěr: 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? Eshop, 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ů.

HAPPY CODING přeje tým ABRA Flexi