GraphQL
Aktualizováno 22. 9. 2026
GraphQL je dotazovací jazyk a běhové prostředí pro API. Klient v jednom dotazu popíše, jaká data chce, a server vrátí přesně je. V ecommerce ho používají hlavně Shopify, Adobe Commerce (Magento) a headless frontendy.
Rychlá fakta
- Typ
- dotazovací jazyk pro API, otevřená specifikace (Facebook 2012, open source od 2015, dnes GraphQL Foundation pod Linux Foundation)
- Cena
- zdarma — jde o otevřený standard; náklady jsou ve vývoji a provozu integrace
- Kde ho potkáte
- Shopify GraphQL Admin API a Storefront API, Adobe Commerce / Magento GraphQL, headless frontendy
- Časová náročnost integrace
- řádově dny (jednoduchý dotaz nad hotovým API) až týdny (headless frontend, přechod integrace z REST)
- Náročnost integrace
- střední až vysoká — méně požadavků a přesnější data, ale nové myšlení, cenové limity dotazů a náročnější cachování
- Vhodné pro
- headless e-shopy, mobilní aplikace, integrace nad Shopify a Magentem
Co to je
GraphQL vznikl ve Facebooku v roce 2012 pro mobilní aplikace, které potřebovaly stahovat hodně propojených dat přes pomalé připojení. V roce 2015 ho Facebook uvolnil jako open source. Od roku 2018 se o specifikaci stará GraphQL Foundation pod Linux Foundation, mezi zakládajícími členy byl i Shopify.
Hlavní rozdíl proti REST API: REST má mnoho adres (jednu pro produkty, jinou pro objednávky) a každá vrací pevně danou strukturu. GraphQL má obvykle jednu adresu (například /graphql) a strukturu odpovědi určuje klient v dotazu.
Jak to funguje
Základem je schéma — popis všech typů dat a vztahů mezi nimi (produkt má varianty, varianta má cenu a sklad). Klient pak posílá tři druhy operací:
- Query — čtení dat. Například: dej mi název, cenu a sklad prvních 50 produktů z kategorie, u každého jen první obrázek.
- Mutation — změna dat. Například: nastav sklad varianty na 12 kusů.
- Subscription — odběr změn v reálném čase (podpora se liší podle serveru).
Co to znamená v praxi:
| Situace | REST | GraphQL |
|---|---|---|
| Objednávka s položkami a zákazníkem | často několik požadavků | jeden dotaz |
| Potřebuji jen 3 pole z 80 | přijde všech 80 | přijdou 3 |
| Nové pole v API | nová verze nebo nový endpoint | přidá se do schématu, staré dotazy fungují dál |
| Cachování na úrovni HTTP | jednoduché | složitější, dotazy jdou obvykle přes POST |
Schéma je zároveň dokumentace. Vývojář si v nástroji typu GraphiQL rovnou vidí, co API umí.
GraphQL v ecommerce
- Shopify je dnes na GraphQL postavený. REST Admin API je od 1. 10. 2024 legacy a od 1. 4. 2025 musí nové veřejné aplikace v Shopify App Store používat výhradně GraphQL Admin API. Limity se počítají v bodech podle „ceny" dotazu: standardně 100 bodů za sekundu, na Shopify Plus 1 000 bodů za sekundu (k 9/2026, aktuální limity ověřte v dokumentaci Shopify). Víc v hesle Shopify.
- Adobe Commerce a Magento Open Source mají GraphQL na adrese
/graphql, určené hlavně pro storefront. Stojí na něm headless frontendy včetně PWA Studio. Viz Magento. - Headless commerce obecně: frontend (Next.js, mobilní aplikace) si přes GraphQL bere z backendu přesně to, co stránka potřebuje. Víc v hesle Headless commerce.
Výhody a limity
Výhody
- Méně požadavků a menší přenos dat. Znát je to hlavně na mobilu a u složitých stránek.
- Silné typování a schéma, které slouží jako dokumentace.
- API se dá rozšiřovat bez rozbití starých dotazů.
Limity
- Učící křivka. Tým zvyklý na REST potřebuje čas na schéma, fragmenty a stránkování.
- Cena dotazu. Jeden velký dotaz může server zatížit víc než deset malých. Proto platformy jako Shopify počítají limity podle složitosti dotazu, ne podle počtu požadavků.
- Cachování a monitoring jsou složitější než u REST.
- Hromadné operace. Na export celého katalogu se hodí speciální bulk operace nebo feed, ne běžný dotaz.
Kdy volit které rozhraní, rozebíráme v článku REST vs. GraphQL API pro ecommerce integrace.
Jak to řešíme v Převeďshopu
GraphQL nasazujeme tam, kde přináší měřitelný rozdíl, ne jako módní volbu. Konkrétně:
- Integrace nad Shopify — napojení ERP, skladu a marketplace přes GraphQL Admin API, včetně přechodu starších REST integrací a hlídání limitů podle ceny dotazu.
- Headless frontendy nad Magentem, Shopify nebo vlastním backendem — návrh dotazů tak, aby stránky načítaly jen potřebná data. Kdy headless dává smysl, píšeme v článku Headless commerce: kdy dává smysl.
- Vlastní GraphQL vrstva nad více systémy (e-shop, PIM, ERP), aby frontend nebo partner měl jedno rozhraní. Detail na stránce API a microservices.
Cenu připravíme po konzultaci podle rozsahu. Nejste si jistí, jestli GraphQL potřebujete? Probereme to na konzultaci.