Slovník pojmů

API: co to je a jak funguje

API není jen HTTP endpoint. Je to dohoda mezi programy o dostupných operacích, datech, zabezpečení i chybových stavech.

Stručná definice

API je smlouva mezi dvěma částmi softwaru.

API znamená Application Programming Interface. Může jít o rozhraní knihovny, operačního systému, hardwarové služby nebo aplikace dostupné po síti. Webové API je jen jeden z těchto případů; endpoint je pak konkrétní vstupní adresa webového API, nikoli celé API.

U webového API klient — například e-shop, mobilní aplikace nebo integrační služba — odešle požadavek a poskytovatel vrátí odpověď. Aby spolu mohli dlouhodobě spolupracovat, musí se shodnout na kontraktu: parametrech, datovém formátu, oprávněních, významu chyb i pravidlech změn.

Použití

K čemu API slouží

API odděluje interní fungování systému od způsobu, jakým jeho data nebo funkce používají jiné programy.

  • napojení e-shopu na dopravce, platební bránu, účetnictví nebo marketplace
  • backend pro webovou či mobilní aplikaci
  • propojení skladu, ERP, zákaznického portálu a dalších interních systémů
  • opakovatelné importy, exporty a automatizované datové toky
  • volání funkcí knihoven nebo služeb operačního systému v rámci programu

Praktický příklad

E-shop a dopravce

Po zaplacení objednávky odešle e-shop dopravci údaje pro zásilku: interní číslo objednávky, adresu příjemce, službu dopravy a případně výdejní místo. Dopravce vrátí identifikátor zásilky a odkaz na štítek, které e-shop uloží k objednávce.

Když po odeslání nastane timeout, e-shop neví, zda dopravce zásilku vytvořil. Bezpečný kontrakt proto používá jednoznačný identifikátor odesílatele nebo idempotency key. Chybu adresy zobrazí obsluze, dočasnou chybu monitoruje a limitovaný požadavek opakuje až podle pokynu služby.

Jak funguje

Od požadavku k odpovědi

Jednoduchá výměna dat přes webové API obvykle probíhá v těchto krocích:

  1. Kontrakt Klient zná operaci, adresu, parametry, bezpečnostní pravidla a očekávané odpovědi.
  2. Požadavek Odešle HTTP metodu, URL, hlavičky, přihlašovací údaj a podle potřeby tělo.
  3. Zpracování Služba ověří identitu, oprávnění a vstupy, potom provede vlastní logiku.
  4. Odpověď Vrátí status, hlavičky a data nebo strojově čitelný popis chyby.
  5. Provozní reakce Klient uloží výsledek, případně bezpečně řeší dočasnou chybu nebo limit.

Důležité vlastnosti

Co musí být v API jasné

Samotný JSON nestačí. Bez významu polí a pravidel chování není rozhraní spolehlivým kontraktem.

Data a dokumentace

JSON je běžný datový formát, XML přetrvává hlavně ve starších B2B, ERP a logistických integracích. OpenAPI může přesně popsat HTTP operace, vstupy, odpovědi i zabezpečení.

Autentizace a autorizace

Autentizace říká, kdo volá; autorizace, co smí udělat. API klíč, podpis nebo access token musí mít omezený rozsah, životnost, bezpečné uložení a možnost rotace.

Chyby a limity

HTTP status má odpovídat výsledku. Stabilní typ chyby a korelační ID jsou pro klienta užitečnější než obecný text. Rate limiting musí říkat, co se počítá a kdy lze požadavek opakovat.

Změny a verzování

Přidání nepovinného pole bývá kompatibilnější než jeho odstranění nebo změna významu. Důležitější než místo verze je přechodné období a předvídatelný konec podpory.

Rozhraní v praxi

Kdo v API hraje jakou roli

Pojmy se často zaměňují, přitom každý řeší jinou část komunikace.

Klient
Program, který API volá: e-shop, mobilní aplikace, worker nebo jiný systém.
Poskytovatel
Služba, která kontrakt implementuje a rozhoduje o přijetí požadavku.
Endpoint
Konkrétní vstupní URL či adresa jedné operace webového API.
Uživatelské rozhraní
Rozhraní pro člověka; API naopak potřebuje programově přesný a stabilní kontrakt.

Výhody a omezení

Co dobře navržené API přináší — a co nevyřeší

Přínosy

  • odděluje interní implementaci od smlouvy, na které závisejí jiné systémy
  • umožňuje automatizovat datové toky bez ručních exportů
  • dává různým klientům jeden definovaný vstup do služby
  • usnadňuje logování, měření a dohledání konkrétního požadavku

Časté chyby

  • nezdokumentované změny polí nebo významu hodnot
  • vracení HTTP 200 i při chybě a rozhodování podle volného textu
  • klíče v URL či repozitáři, záměna autentizace za autorizaci
  • opakování mutace po timeoutu bez ochrany proti duplicitě

Hranice použití

API samo o sobě neznamená hotovou integraci.

Síť může selhat i ve chvíli, kdy vzdálená strana požadavek úspěšně dokončila. U vytvoření objednávky nebo zásilky proto nestačí bezmyšlenkovitý retry: je nutný jednoznačný business identifikátor, idempotency key nebo dohledání aktuálního stavu.

Rozhraní také není automaticky bezpečnou hranicí systému. Validace, oprávnění, audit, stránkování velkých seznamů a reakce na výpadek externí služby jsou samostatná návrhová rozhodnutí.

Na co myslet

Pravidla pro provozně použitelné API

Kontrakt má pokrýt i situace, které nenastanou při prvním úspěšném volání.

  • konzistentní formát dat, časů, měn a chybových odpovědí
  • HTTPS, omezená oprávnění, rotace a bezpečné ukládání přístupů
  • stránkování, filtry a maximální limit pro velké seznamy
  • měřitelné limity, korelační ID, logování a monitoring
  • bezpečné opakování mutací podle jasně popsaných pravidel

Časté otázky

Co se o API často plete

Je API totéž co endpoint?

Ne. Endpoint je konkrétní vstupní adresa webového API. API zahrnuje i kontrakt, datové modely, zabezpečení, chyby a pravidla kompatibility.

Je API vždy přes HTTP a JSON?

Ne. API může být rozhraní knihovny, operačního systému i síťová služba. Webová API často používají HTTP a JSON, ale také XML, jiné protokoly nebo asynchronní zprávy.

Jaký je rozdíl mezi API a uživatelským rozhraním?

Uživatelské rozhraní je určené člověku. API je určené jinému programu, proto potřebuje přesnou smlouvu místo ovládacích prvků.

Musí být každé webové API REST?

Nemusí. REST je konkrétní architektonický styl. Pro některé případy je vhodnější jiné HTTP API, RPC nebo asynchronní zpracování.

Jak API používám v praxi

Integrace nejsou jen několik endpointů.

V praxi řeším napojení e-shopů a interních systémů na externí služby, importy, synchronizace i chybové stavy provozu.

Zavolejte mi

Zavolám vám následující pracovní den mezi 9:00 a 17:00.

Můžete mi také zavolat rovnou.

+420 605 181 728

Nechte mi telefonní číslo a pošlete žádost o zpětné zavolání.

Odesláním souhlasíte se zpracováním údajů pro vyřízení žádosti.