====== API (Application Programming Interface) ====== **API** (rozhraní pro programování aplikací) je soubor definovaných pravidel, protokolů a nástrojů, které umožňují jedné softwarové aplikaci komunikovat s druhou. Funguje jako prostředník, který přijímá požadavky, předává je systému a vrací odpověď zpět uživateli (nebo jiné aplikaci). Nejjednodušší přirovnání je **číšník v restauraci**: Vy (uživatel) si vyberete z menu (API definice), číšník (API) odnese objednávku do kuchyně (systém/databáze) a přinese vám hotové jídlo (data). ===== 1. Jak API funguje v praxi? ===== Když používáte aplikaci v telefonu (např. předpověď počasí), proces probíhá následovně: 1. Aplikace odešle **požadavek (Request)** přes internet na server poskytovatele dat. 2. API na straně serveru požadavek ověří a zpracuje. 3. Server vyhledá data v databázi. 4. API odešle **odpověď (Response)** zpět do vaší aplikace (obvykle ve formátu [[it_encyklopedie:json|JSON]]). 5. Aplikace data interpretuje a zobrazí vám sluníčko nebo déšť. ===== 2. Typy rozhraní API podle přístupu ===== ^ Typ ^ Popis ^ | **Soukromá (Private)** | Používaná pouze uvnitř jedné firmy (např. propojení HR systému s účetnictvím). | | **Partnerská (Partner)** | Přístupná pouze vybraným obchodním partnerům se speciálním oprávněním. | | **Veřejná (Public)** | Dostupná pro jakéhokoli vývojáře (např. Google Maps API, Twitter API). | ===== 3. Nejběžnější technologie API ===== ==== REST (Representational State Transfer) ==== Dnes nejrozšířenější standard pro webová API. Využívá protokol HTTP a standardní metody: * **GET:** Získání dat (čtení). * **POST:** Vytvoření nových dat. * **PUT / PATCH:** Aktualizace stávajících dat. * **DELETE:** Smazání dat. ==== Další standardy: ==== * **GraphQL:** Moderní alternativa k REST, která umožňuje klientovi přesně si říct, jaká data chce (minimalizuje přenos zbytečných informací). * **SOAP:** Starší, robustní protokol založený na XML, využívaný hlavně v bankovnictví a korporátní sféře pro vysokou bezpečnost. * **gRPC:** Vysoce výkonné rozhraní od Googlu, vhodné pro komunikaci mezi mikroslužbami v reálném čase. ===== 4. Proč je API klíčové pro byznys? ===== * **Ekosystém:** Firmy jako Uber nebo Airbnb by nevznikly bez API (využívají Google Maps pro polohu a Stripe pro platby). * **Automatizace:** API umožňuje propojit různé nástroje (např. automatické odeslání faktury z e-shopu do účetního programu). * **Bezpečnost:** API funguje jako filtr. Programátorovi nedáváte přístup k celé databázi, ale pouze k úzce definovaným funkcím. ===== 5. Bezpečnost a autentizace ===== Aby API nebylo zneužito, používají se mechanismy ověření identity: * **API Key:** Unikátní řetězec znaků (heslo) přidělený vývojáři. * **OAuth 2.0:** Standard pro autorizaci (např. tlačítko "Přihlásit se přes Google"). > **Zajímavost:** Existují tzv. "Public API", která jsou zdarma pro každého. Můžete si tak do své aplikace snadno přidat seznam citátů, aktuální polohu Mezinárodní vesmírné stanice (ISS) nebo náhodné fotky koček. [[it_encyklopedie:programovani_rozcestnik|Zpět na Programování]]