REST API — nejrozšířenější standard
REST (Representational State Transfer) je nejběžnější architektonický styl pro webová API. Komunikace probíhá přes HTTP protokol pomocí standardních metod — GET pro čtení dat, POST pro vytváření, PUT/PATCH pro úpravy a DELETE pro mazání. Každý zdroj (uživatel, produkt, objednávka) má svou URL adresu. REST API jsou jednoduchá, dobře zdokumentovaná a podporovaná prakticky všemi programovacími jazyky a platformami.
GraphQL — flexibilnější alternativa
GraphQL je dotazovací jazyk pro API vyvinutý Facebookem, který řeší některé nedostatky REST. Místo pevně daných endpointů máte jeden, na který posíláte přesnou specifikaci dat, která potřebujete. Pokud potřebujete jen jméno a email uživatele, dostanete přesně jen jméno a email — žádná nadbytečná data. To je zvláště výhodné pro mobilní aplikace, kde záleží na objemu přenesených dat.
Jak API používáme v praxi
V Appitect API používáme neustále. Naše Next.js projekty komunikují přes API s CRM systémy, emailovými službami, platebními bránami a analytickými nástroji. Například kontaktní formulář na webu odešle data přes naše API, které je zvaliduje, uloží do Google Sheets CRM a odešle notifikační email. Pro klienty vytváříme i vlastní API, například pro propojení e-shopu s ERP systémem nebo pro mobilní aplikaci, která potřebuje přístup k datům z webu.
Bezpečnost API
Zabezpečení API je kriticky důležité, protože jde o vstupní bod do vašeho systému. Základní opatření zahrnují autentizaci (API klíče, JWT tokeny, OAuth), rate limiting (omezení počtu požadavků za časové období), validaci vstupních dat a HTTPS šifrování. V Appitect implementujeme tyto bezpečnostní vrstvy standardně u každého projektu, protože nezabezpečené API může vést k úniku dat nebo zneužití systému.
Praktický příklad
Když si na e-shopu prohlížíte produkty, váš prohlížeč volá API: GET /api/products?category=electronics&sort=price. Server vrátí seznam produktů ve formátu JSON. Když přidáte produkt do košíku, prohlížeč pošle POST /api/cart s ID produktu. Když platíte, API komunikuje s platební bránou (Stripe, GoPay). Celý e-shop je vlastně sada API volání propojených hezkou obálkou uživatelského rozhraní.