API – Rozhraní pro programování aplikací

API (zkratka z anglického Application Programming Interface) představuje soubor definovaných pravidel, protokolů a nástrojů, které umožňují vzájemnou komunikaci a výměnu dat mezi různými softwarovými aplikacemi.

V praxi API funguje jako prostředník (poslíček), který přijímá požadavek od klienta, doručí jej systému, a následně vrátí odpověď zpět uživateli. Díky tomu vývojáři nemusí vědět, jak je cílový systém vnitřně naprogramován; stačí jim znát rozhraní, které jim systém poskytuje.

1. Jak API funguje?

Princip API lze přirovnat k menu v restauraci:

Zákazník (Uživatel/Aplikace): Vybírá si z nabídky dostupných funkcí.

Menu (API): Seznam operací, které lze provést, a formát, v jakém musí být požadovány.

Kuchyně (Server/Systém): Vykoná požadovanou logiku a připraví data.

2. Hlavní typy API

Podle způsobu přístupu a účelu dělíme rozhraní do několika kategorií:

Webová API (Nejrozšířenější)

Umožňují komunikaci mezi webovým prohlížečem a serverem, nebo mezi dvěma servery přes internet (protokol HTTP).

REST (Representational State Transfer): Dnes nejpopulárnější standard. Využívá HTTP metody (GET, POST, PUT, DELETE) a data přenáší nejčastěji ve formátu JSON.

SOAP (Simple Object Access Protocol): Starší, robustnější protokol založený na XML. Často využíván v bankovnictví pro vysokou úroveň zabezpečení.

GraphQL: Moderní dotazovací jazyk od Meta (Facebooku), který umožňuje klientovi přesně definovat, jaká data chce dostat (řeší problém over-fetchingu).

Knihovní a OS API

Umožňují programům komunikovat s operačním systémem nebo využívat funkce specifických knihoven.

Win32 API: Pro aplikace v systému Windows.

POSIX: Standard pro unixové systémy (Linux, macOS).

3. Formáty přenosu dat

Aby si dvě aplikace rozuměly, musí data posílat v dohodnutém formátu. Nejčastěji se setkáváme s:

Formát	Charakteristika
JSON	JavaScript Object Notation. Lehký, čitelný pro lidi i stroje. Standard pro REST.
XML	Extensible Markup Language. Hierarchický, přísně strukturovaný, ale datově objemnější.
YAML	Často využíván pro konfigurační API (např. Kubernetes, Docker).

4. Proč je API důležité?

Abstrakce: Vývojář nemusí znát složitost backendu (např. složité SQL dotazy), stačí mu zavolat funkci get_users().

Integrace: Umožňuje propojit nesourodé systémy (např. platební brána Stripe na vašem e-shopu).

Škálovatelnost: Mobilní aplikace i webová stránka mohou používat stejné API pro přístup k datům.

Automatizace: API umožňuje programům ovládat jiné programy bez lidského zásahu.

5. Bezpečnost a autentizace

Vzhledem k tomu, že API otevírá přístup k datům, musí být chráněno:

API Key: Unikátní řetězec identifikující volající aplikaci.

OAuth 2.0: Standard pro delegovanou autorizaci (např. „Přihlásit se přes Google“).

Rate Limiting: Omezení počtu požadavků za minutu, aby nedošlo k přetížení serveru (ochrana proti DoS útokům).

Závěr

API je „lepidlem“ moderního internetu. Bez něj by neexistovaly mapy v aplikacích pro rozvoz jídla, sdílení příspěvků mezi sociálními sítěmi ani propojení cloudových služeb. Výběr správného typu rozhraní (REST vs. GraphQL) je klíčovým rozhodnutím při návrhu jakéhokoli softwarového systému.