Propojení systémů pomocí API

Pokud narazíte na potřebu propojit dva informační systémy tak, aby spolu komunikovaly, určitě přijdete do styku s pojmem Application Programming Interface zkráceně API …

Propojení systémů pomocí API

Co je to API?

API je rozhraní pro komunikaci dvou nebo více systémů. Celým názvem Application Programming Interface nebo jen rozhraní se v kontextu propojování informačních systémů používá pro standardizovanou komunikaci mezi dvěma systémy. Zpravidla se v jednom ze systémů implementuje API, které nabízí potřebné funkce. Tyto funkce API se přesně zdokumentují a popíšou v technické dokumentaci rozhraní a na základě dokumentace se pak v druhém systému implementuje používání těchto funkcí. Pomocí takto implementovaného rozhraní můžou pak dva systémy spolu komunikovat automaticky a bez zásahu člověka a aniž by byly napsané v tom samém programovacím jazyce nebo používaly kompatibilní technologie.

Jak můžete API využít v praxi?

Dnes již existuje řada online služeb a většina z nich nabízí API pro propojení. Můžete tak mít jednu službu pro fakturaci, jinou pro vedení účetnictví, e-shop, online platby, správu zákazníků, newsletter a tak dále a všechny můžou navzájem komunikovat a posílat si data.

Pak, když zákazník nakoupí, Váš e-shop vytvoří fakturu v online fakturační službě, přidá vytvořenou fakturu do účetnictví, vytvoří objednávku ve Vašem ERP systému, přidá zákazníka do Vašeho CRM a zařadí ho do spamlistu ve službě pro newsletter. To vše přes API, automaticky a bez Vašeho dalšího zásahu.

API lze také použít pro automatické objednávání přepravy zásilek jak píšu zde, nebo pro automatizovaný sběr objednávek od obchodních partnerů jak popisuji zde.

Jaké technologie mohou být použity?

V oblasti webových aplikací se pro implementaci API často používá HTTP protokol. Rozhraní se pak používá vzdáleně, prováděním standardních HTTP dotazů na jednotlivé URL adresy (endpointy / funkce) rozhraní. Vstupní data pro danou funkci rozhraní se odešlou v HTTP dotazu na daný URL endpoint. Výsledek zpracování pak odešle HTTP server zpátky klientovi v HTTP odpovědi na provedený HTTP dotaz. Pro výměnu dat se při tom nejčastěji používá formát XML nebo JSON.

Obecně můžeme ale o rozhraní mluvit například také při spouštění programů přes příkazovou řádku, kdy spustíme program s nějakými vstupnými parametry a program jako odpověď vypíše výstup do příkazového řádku. Rozhraní ale také nabízí například softwarová knihovna případně framework, kdy v daném programovacím jazyku používáme a voláme se vstupními parametry jednotlivé funkce dané knihovny. Na webu pak jakákoliv webová stránka používá rozhraní webového serveru, kdy frontend (internetový prohlížeč) komunikuje s backendem (webovým serverem) pomocí standardního HTTP protokolu a server odpovídá daty ve formátu HTML - tedy XML.

Nabídněte také svým zákazníkům API

Vyvíjím informační systémy, které umí používat nebo poskytovat API. Pokud chcete dát svým zákazníkům k dispozici informační systém s vlastním rozhraním, nebo se napojit na API jiného systému, kontaktujte mě, rád s Vámi proberu, jak Vám mohu pomoci …

Michal Strelec, 9. února 2021

Další podobné články

NDA před první schůzkou?

NDA před první schůzkou?

Někteří zákazníci vyžadují ještě před první schůzkou podpis smlouvy o mlčenlivosti. Pokud se domluvíme na spolupráci na projektu, kde budu ve styku s utajovanými materiály, tak se můžeme domluvit na podpisu smlouvy o mlčenlivosti, ale …

Jaké výhody nabízí použití webové aplikace?

Jaké výhody nabízí použití webové aplikace?

Pro implementaci každého informačního systému se může lépe hodit jiný typ aplikace. Porovnejme proto z různých pohledů použití webové aplikace a její náhradu v podobě desktopového řešení …

Je možné propojit Excel s ERP systémem přes API?

Je možné propojit Excel s ERP systémem přes API?

Technicky to určitě možné je. Pokud ale řešíte tuhle otázku, nejspíš bude dobré když ještě jednou zvážíte návrh architektury celého systému …

Je možné z webové aplikace tisknout štítky nebo vstupenky?

Je možné z webové aplikace tisknout štítky nebo vstupenky?

Webová aplikace může tisknout také nestandardní tiskové sestavy jako různé etikety, štítky, či vstupenky a není důvod ji kvůli požadavkům na tisk nahrazovat desktopovým řešením a připravit se tak o další výhody při jejím použití …