BizKitHub

Varianty produktů

Naposledy aktualizováno 1. srpna 2026

Varianty umožňují obchodníkovi prodávat více verzí stejného základního produktu, aniž by musel udržovat samostatný záznam produktu pro každou kombinaci. Klasické příklady: trička v několika velikostech a barvách, telefony nabízené s různými kapacitami úložiště, předplatné kávy s různými hrubostmi mletí. Každá varianta je považována za samostatnou skladovou jednotku s vlastním identifikátorem, vlastní cenou a vlastním skladem, ale sdílí marketingové texty, galerii, kategorie a daňovou sazbu nadřazeného produktu.

Tento článek dokumentuje datový model variant tak, jak je vystaven prostřednictvím veřejného API — jak jsou varianty formovány v odpovědích, jak fungují ceny a jak odkazovat na konkrétní variantu při vytváření objednávky. Pro pohled z administrace — vytváření variant, úpravu cen, označení kombinace jako neaktivní — viz článek Produkty.

Prostor variant


Variantní produkt může být definován ve vícerozměrném prostoru: velikost × barva, velikost × barva × materiál a tak dále. Každá platná kombinace se stává jedním záznamem varianty. Produkt dostupný ve třech barvách a třech velikostech má tedy devět variant; přidáte-li třetí dimenzi se dvěma hodnotami, počet naroste na osmnáct.

Kombinace, které se nevyrábějí (barva, která se nevyrábí v určité velikosti), jsou označeny jako neaktivní namísto smazané. Historické objednávky, které odkazují na neaktivní variantu, se stále správně vyřeší a žádná data se neztratí, když obchodník vyřadí část sortimentu.

Kde se varianty objevují v odpovědích API


Ve feedu produktů


Feed zpřístupňuje pouze dostatek informací pro zobrazení položky v seznamu. Podrobnosti na úrovni varianty nejsou ve feedech vráceny — e-shop by měl buď zobrazit nadřazený produkt s obecnou možností "vybrat variantu" a výběr odložit na stránku detailu, nebo explicitně načíst detail, když potřebuje data pro jednotlivé varianty.

V detailu produktu


Odpověď detailu obsahuje nadřazený produkt plus pole variantItems s jednou položkou pro každou aktivní variantu. Také nastaví příznak isVariantProduct nadřazeného produktu na true, pokud existuje alespoň jedna aktivní varianta. Pokud je tento příznak nastaven, e-shop musí vyžadovat, aby zákazník vybral variantu před přidáním do košíku.

Každá položka varianty má tvar:

ts<br>export type PublicProductDetailVariantItem = {<br> id: ProductVariantId;<br> code: string;<br> name: string;<br> ean?: string;<br> price: number;<br> warehouseAllQuantity?: number;<br>};<br>

Pole


| Vlastnost | Typ | Význam |
|----------|------|---------|
| id | ProductVariantId | Identifikátor varianty (relační hash). |
| code | string | Kód varianty definovaný obchodníkem, unikátní v rámci nadřazeného produktu. Používá se při zadávání objednávky. |
| name | string | Lidsky čitelný název varianty (např. Červená · Velká). |
| ean | string | EAN čárový kód varianty, je-li k dispozici. |
| price | number | Konečná cena varianty ve výchozí měně obchodníka (včetně DPH). |
| warehouseAllQuantity | number | Celkový skladový stav varianty napříč všemi sklady. |

Ceny


Ceny variant jsou vždy konečné — včetně DPH. Sazba DPH nadřazeného produktu platí pro každou variantu; varianta nemůže přepsat daňovou sazbu.

Interně může obchodník zadat cenu varianty buď jako absolutní hodnotu (která plně nahradí cenu nadřazeného produktu), nebo jako příplatek k ceně nadřazeného produktu (užitečné pro "stejné tričko, ale XXL stojí o 2 € více"). Veřejné API vždy vrací vyřešenou konečnou cenu bez ohledu na to, jak ji obchodník nakonfiguroval — na straně volajícího nemusíte tyto dvě hodnoty kombinovat.

Objednání konkrétní varianty


Při vytváření objednávky na variantní produkt prostřednictvím API pro vytváření objednávek musí položka objednávky odkazovat jak na nadřazený produkt, tak na konkrétní variantu:

json<br>{<br> "productCode": "T-SHIRT-BASIC",<br> "variantCode": "T-SHIRT-BASIC-RED-L",<br> "count": 1<br>}<br>

Platforma ověřuje, že:

- productCode odkazuje na existující produkt,
- variantCode odkazuje na aktivní variantu tohoto produktu,
- oba odkazy jsou konzistentní.

Pokud má nadřazený produkt varianty (isVariantProduct: true v detailní odpovědi) a řádek objednávky vynechá variantCode, volání pro vytvoření objednávky je zamítnuto. Jedná se o designové rozhodnutí – tiché nastavení výchozí varianty by umožnilo chybě v e-shopu odeslat kupujícímu špatnou SKU.

Související články


- Produkty — průvodce administrací pokrývající tvorbu a úpravu variant.
- Product feed API — seznamy více položek.
- Product detail API — koncový bod, který zobrazuje variantItems.
- Order create API — jak vytvořit objednávku, která odkazuje na variantu.