Web Developmentpokročilý

Čo je API (Application Programming Interface)?

API je rozhranie, ktoré umožňuje rôznym programom a systémom vzájomne komunikovať a vymieňať si dáta. Funguje ako „prostredník" — napríklad keď e-shop zobrazuje stav doručenia z kuriérskej služby, komunikujú spolu cez API.

Definícia API (Application

Čo je API

API (z anglického Application Programming Interface, po slovensky rozhranie pre programovanie aplikácií) je prepojenie medzi počítačmi alebo počítačovými programami. Podľa Wikipedie je to typ softvérového rozhrania, ktoré ponúka služby iným častiam softvéru.

Na rozdiel od používateľského rozhrania, ktoré prepája počítač s človekom, API prepája počítače alebo softvérové systémy navzájom. Volania, z ktorých sa API skladá, sa označujú aj ako metódy, požiadavky alebo endpointy.

Ako API funguje

Jedným z hlavných účelov API je skryť vnútorné detaily fungovania systému a sprístupniť len tie časti, ktoré sú pre programátora užitočné. API môže byť vytvorené na mieru pre konkrétnu dvojicu systémov, alebo môže byť zdieľaný štandard umožňujúci vzájomnú spoluprácu mnohých systémov.

Pojem API sa dnes najčastejšie používa v súvislosti s webovými API, ktoré umožňujú komunikáciu medzi počítačmi prepojenými cez internet. API však existujú aj pre programovacie jazyky, softvérové knižnice a operačné systémy.

Príklady použitia API v praxi

  • Platobné brány — e-shop komunikuje s bankou cez API na spracovanie platby kartou
  • Mapy — webstránka zobrazuje Google mapu vďaka Google Maps API
  • Sociálne siete — tlačidlo „Prihlásiť sa cez Facebook" funguje cez Facebook API
  • Kuriérske služby — e-shop automaticky získava stav doručenia z API prepravcu
  • Počasie — webstránka zobrazuje aktuálne počasie z API meteorologickej služby

Dokumentácia API

API dokumentácia popisuje, aké služby API ponúka a ako ich používať. Pokrýva všetko, čo vývojár potrebuje vedieť — dostupné funkcie, parametre, formát dát a obmedzenia. Kvalitná dokumentácia je kľúčová pre úspešné využívanie API.

Praktický príklad

Príklad: E-shop s elektronikou.

Zákazník si objedná televízor. E-shop pri tom komunikuje s niekoľkými externými systémami cez API:

  1. Platobná brána (Stripe API) — overí platobnú kartu a stiahne platbu
  2. Skladový systém (interné API) — overí dostupnosť produktu a odpočíta kus zo skladu
  3. Kuriérska služba (GLS API) — vytvorí prepravný štítok a naplánuje vyzdvihnutie
  4. E-mailová služba (API) — odošle potvrdenie objednávky zákazníkovi

Všetky tieto systémy sú od rôznych firiem, ale vďaka API dokážu spolupracovať automaticky — bez toho, aby niekto musel ručne kopírovať údaje medzi systémami.

Často kladené otázky

Čo je API jednoducho vysvetlené?

API je rozhranie, cez ktoré dva programy komunikujú. Predstavte si ho ako čašníka v reštaurácii — preberá vašu objednávku (požiadavku), odnesie ju do kuchyne (server) a prinesie vám jedlo (odpoveď). Vy nemusíte vedieť, ako kuchyňa funguje.

Prečo je API dôležité pre webstránky?

API umožňuje webstránkam komunikovať s externými službami — platiť kartou, zobrazovať mapy, prihlasovať cez sociálne siete alebo sledovať zásielky. Bez API by každý web musel všetko riešiť sám.

Čo je REST API?

REST API je najrozšírenejší typ webového API. Funguje cez štandardné <a href="https://en.wikipedia.org/wiki/HTTP" target="_blank" rel="noopener noreferrer">HTTP</a> požiadavky (GET, POST, PUT, DELETE) a dáta posiela zvyčajne vo formáte JSON. Je jednoduchý, flexibilný a podporuje ho takmer každý programovací jazyk.

Koľko stojí používanie API?

Mnohé API sú zadarmo do určitého limitu (napr. Google Maps API, Stripe API). Po prekročení limitu sa platí podľa počtu požiadaviek. Niektoré profesionálne API sú platené od začiatku.

Môže moja webstránka fungovať bez API?

Jednoduchá informačná stránka API nepotrebuje. Akonáhle však chcete platby kartou, mapy, prihlasovanie cez Google, notifikácie alebo integráciu s externým systémom, API je nevyhnutné.

Súvisiace pojmy

Súvisiace odkazy

Potrebujete pomôcť s webom?

Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.