Číšník

Co to je API a kde se s ním setkáme

15.01.2025 • Doba čtení: 6 minut
  • #Web
  • #Co to je API
  • #Může se hodit
S API se setkáváme každý den i když o tom třeba vůbec netušíme. Co to je API? jak API funguje a jak umožňuje aplikacím komunikaci napříč internetem?

Stále více firem používá k automatizaci procesů a k digitalizaci podnikání různé systémy. Jestliže firma používá jeden jediný tak němá jakýkoliv problém. Stačí ale o jednu aplikaci navíc (čtěte dvě a více) a problém je na světě. Stejně jako u lidí, bychom ideálně chtěli, aby si spolu dvě aplikace mohli „povídat“ a vyměňovat různé informace.

Pro případ užití nestačí jít daleko a každý z nás se s ním určitě alespoň jednou za život setkal. Stačí otevřít svůj oblíbený e-shop, koupit si svojí oblíbenou značku bot projít procesem k platební bráně jsme tam. Platební brány e-shopů většinou nebývají programovány majiteli eshopu či poskytovateli technologií na kterých eshop jede. e-shopy pro platební brány v naprosté většině případů používají software třetích stran.

Jako příklad si můžeme vzít platební bránu stripe. Stripe se stará o vše, co se platby týče od zabezpečení údajů o platebních kartách přes strhnutí požadované částky z účtu nakupujícího až po vyplácení tržeb eshopům. K provedení platby na e-shopu ale stripe jakožto software třetí strany, který nemá přístup k datům vašeho eshopu před platbou potřebuje znát minimálně dvě informace:

  1. Kolik bude zákazník platit
  2. K jaké objednávce platba patří - aby platební brána mohla eshopu „říct“ že daná objednávka byla zaplacena a může být expedována.

Jak má ale náš e-shop tyto informace platební bráně předat? Posílat tyto informace Českou Poštou není zrovna moudrý nápad a komunikovat každou platbu se Stripem pomocí emailové komunikace by také nebylo zrovna efektivní.

Na scénu přichází API integrace

Žijeme v moderní době, tudíž dává největší smysl posílat data Stripu jak jinak než po internetu. Ideálně chceme, aby spolu e-shop a stripe komunikovali automaticky bez nutného zásahu člověka. Stripe (a spousta dalších integrovatelných nástrojů) má pro tyto situace, potřebující komunikaci mezi vícero systémy, naprogramované tzv API (Aplication Programming Interface) technicky můžeme API popsat jako rozhraní, které umožňuje různým aplikacím vzájemně komunikovat a sdílet data nebo funkce. Funguje jako most, který vývojářům umožňuje připojit jejich software k jiným službám nebo systémům, aniž by museli znát detaily jejich fungování.

Pro technicky méně zdatné můžeme API popsat jako číšníka v restauraci, který přenáší objednávky mezi zákazníkem a kuchyní, aniž bychom museli vědět, jak kuchyně funguje.

Je to jednoduché: podle pravidel ( pravidel komunikace s číšníkem – dám si toto, nechci na to toto a k pití si dám toto) nadiktujeme číšníkovi celou objednávku číšník pak objednávku doručí do kuchyně a my se o ní dále nestaráme až do té doby než nám ten lahodnej burger přistane na stole.

A přesně tak funguje i API, aplikace třetí strany většinou na svých stránkách poskytuje dokumentaci, to jsou zjednodušeně pravidla toho co číšníkovi říkáme (víme že mu máme říct co a kolik toho chceme) a zároveň pravidla toho co nám pak na stole přistane (v tomto případě ne konkrétní položka jako např burger, ale téměř jistě víme že to co nám číšník přinese bude kromě účtenky něco co se dá pít a jíst)

Zpátky k eshopu, eshop platební bráně v moment kliknutí na „přejít k platbě“ zašle stripu v strojově čitelné podobě informace které potřebuje k provedení k platbě. Přenos dat většinou probíhá ve formátu JSON (Javascript Object Notation). Data mohou vypadat například následovně

{
    “orderId“ : “CZ129898135“,
    “price“: 2439
}

Díky těmto datům pak platební brána přesně ví kolik bude uživatel platit a ke které objednávce se platba vztahuje. Stripe poté instanci platby zpracuje a našemu e-shopu pošle nazpět platební link. e-shop vás poté na tento platební link přesměruje.

API diagramAPI diagram

A takto zjednodušeně funguje API, dva systémy mezi sebou komunikují a výměnou dat tak umožňují automatizovanou interakci, která šetří čas a minimalizuje riziko chyb, které by mohli vzniknout v případě, že by mezi systémy data přepisoval zaměstnanec manálně.

Z praktického hlediska pak API integrace znamená snížení administrativní zátěže, nemusí se jednat zrovna o platební bránu ale například komunikaci mezi HR systémem a mzdovým systémem. Namísto toho, aby nového zaměstnance musel někdo ručně do obou systému zadávat zvlášť, může stačit zadat zaměstnance pouze do HR systému a HR systém následně pomocí API integrace přepošle automaticky data o novém zaměstnanci i do mzdového systému.

Příklady užití API

Množství služeb které dnes podporují integraci pomocí API je enormní, pro představu uvádím pár možných případů užití

ARES API

Odvažím si říct že většina z vás během vašeho života přišlo do styku s ARESem i přes to že možná tento pojem neznáte. ARES je informační systém Ministerstva financí, umožňuje veřejnosti vyhledávání o ekonomických subjektech registrovaných v tuzemsku. A naštěstí pro nás má ARES veřejně přístupné API které nám v mnoha situacích usnadňuje práci.

A kde jsme tedy s ARESem mohli přijít do styku? Jestliže za vás někdy formulář v aplikaci či na webových stránkách automaticky vyplnil údaje o firmě po zadání IČO pak za to můžete v 99% připadu poděkovat právě ARESU. Po zadání vašho "IČA" se odešle na ARES požadavek o poskytnutí informacích o subjektu (sídlo firmy, DIČ, ....), ARES následně vrátí informace aplikaci kterou právě používáte, a ta pak potřebná pole automaticky předvyplní.

ChatGPT a další jazykové modely

V dnešní AI době se každá druhá aplikace chlubí tím, že vám usnadní život pomocí umělé inteligence. Je zřejmé že v týmu vývojářu každé z těchto často pofideních aplikacích nesedí Odborník s doktorátem ze strojového učení. Namísto toho tyto aplikace opět používají zmíněné API. Ať už vám aplikace naplánuje den od začátku do konce či automaticky srovnává emailovou schránku, téměř vždy se za tímto kouzlem schovává strukturovaný požadavek s dotazem na API jazykového modelu

Vlastní API

V textu zmiňuji pouze API aplikací třetích stran, nicméně mnohonásobně více požadavků na API probíhá na privátních interních systémech firem. Firmy používají privátní API pro automatizaci interních procesů a pro zajištění efektivní komunikace mezi nástroji. Jako příklad se nabízí ERP, CRM, skladové, nebo HR systémy. Takové propojení skladu a logistického systému pak umožňuje automaticky rozeslat objednávky dopravci. HR systémy zase sdílí pomocí API informace o zaměstnancích s mzdovým softwarem.

Ať už hledáte poradenství, efektivní řešení pro integraci systémů, automatizaci procesů nebo návrh vlastního API tak mě neváhejte konaktovat pomocí formuláře níže. Mám bohaté zkušenosti s implementací a API integracemi pro různé oblasti podnikání. Pomohu vám ušetřit čas, snížit chybovost a vytvořit infrastrukturu, která poroste spolu s vaším podnikáním.

Pojdmě se spojit ☎️

Úvodní konzultace zdarma!