+420 728 089 029EN

Jak funguje doplněk Sestav si vlastní balíček

6 min čtení

Nabídnout zákazníkovi „vyberte si libovolné tři kávy a máte je o 15 % levněji" zní jako triviální akce. Na Shoptetu to ale znamená předem vyrobit každou možnou kombinaci jako samostatnou sadu — a při dvanácti kávách jich jsou dvě stovky. Doplněk Sestav si vlastní balíček (interně Multipack) tuhle práci odstraňuje: kombinaci vyrobí až ve chvíli, kdy si ji konkrétní zákazník opravdu složí.

Tenhle text je úvod do mechaniky doplňku. Je psaný tak, aby dával smysl majiteli e-shopu i vývojáři, který zvažuje integraci. Praktické zapojení řeší navazující návod o nasazení, technický kontrakt pak dokumentace API.

Co doplněk řeší

Na stránce e-shopu se zákazníkovi vykreslí konfigurátor: tolik výběrových míst, kolik má balíček obsahovat. Do každého si vybere jeden produkt z nabídky, kterou předem určil obchodník. U položek vidí fotku, cenu, hodnocení i skladovou dostupnost a při každé změně se přepočítá cena i úspora.

Když zákazník klikne na „Vložit do košíku", vznikne v Shoptetu skutečná produktová sada — reálný produkt s vlastním kódem, se zvýhodněnou cenou a s položkami odpovídajícími výběru. Do košíku pak putuje jako jakékoli jiné zboží.

To je celý trik. Sleva není kupón ani cenová hladina, takže se nepere s ostatními akcemi a nevyžaduje žádné výjimky. Košík, doprava, platba, objednávka, faktura, odpisy ze skladu i export do ERP pracují se sadou úplně stejně jako s produktem, který obchodník založil ručně.

Příklad, který se drží celé dokumentace

Prodejce kávy má konfiguraci Kávový balíček: 3 sloty, sleva 15 % a nabídku zrnkových káv a doplňků. Zákazník vybere Brazílii (289 Kč), Etiopii (329 Kč) a Kolumbii (299 Kč). Součet je 917 Kč, po slevě 779,45 Kč. Vznikne sada s kódem WT-SET-00042 za 779,45 Kč a ta jde do košíku jako jedna položka.

Čím se liší od nativních Sad produktů

Shoptet umí sady sám, ale jinak. Rozdíl je v okamžiku vzniku:

Nativní sady v Shoptetu Sestav si vlastní balíček
Kdo určuje složení obchodník předem zákazník při nákupu
Kdy sada vzniká při zakládání v administraci v okamžiku vložení do košíku
Počet položek v katalogu jedna na každou kombinaci jedna konfigurace pro všechny kombinace
Údržba při změně sortimentu ruční úprava každé sady úprava jedné nabídky produktů

Nativní sady dávají smysl na pevné nabídky typu „startovní set". Jakmile ale chcete nechat výběr na zákazníkovi, počet kombinací roste rychleji, než se dá spravovat, a katalog se zaplní položkami, které si nikdo nikdy neobjedná. Doplněk pracuje obráceně: v katalogu drží jen to, co někdo skutečně sestavil, a i to jen dočasně (viz životní cyklus níž).

Podstatné je, že výsledek je v obou případech tentýž typ produktu. Nekupujete si tedy paralelní svět, který by bylo potřeba ošetřovat ve skladu nebo v účetnictví.

Pojmy, které se vám budou hodit

  • Konfigurace — jedno nastavení balíčku v administraci doplňku: název, počet slotů (2 až 5), sleva v procentech, režim seznamů a nabízené produkty. E-shop jich může mít víc vedle sebe (Kávový balíček, Dárkové trio…).
  • Slot — jedno místo v balíčku, do kterého zákazník vybírá právě jeden produkt. Počet slotů určuje, kolik produktů musí vybrat.
  • Kategorie — pojmenovaná skupina produktů uvnitř nabídky (Jednodruhová káva, Sirupy). Slouží jen k přehlednosti konfigurátoru, s kategoriemi v katalogu e-shopu nemá nic společného.
  • Shortcode — veřejný identifikátor konfigurace ve tvaru w-multipack-ABC12. V administraci se zobrazuje v hranatých závorkách a v té podobě se vkládá do obsahu stránky: [w-multipack-ABC12].
  • Sada — produkt typu product set, který vznikne v Shoptetu při vložení balíčku do košíku. Má vlastní kód, cenu po slevě a položky odpovídající výběru.
  • Režim seznamůsame_lists znamená, že všechny sloty nabízejí tutéž nabídku („vyberte si libovolné 3 kávy"). separate_lists dává každému slotu vlastní nabídku („1× káva + 1× čokoláda + 1× sirup").

Cesta od kliknutí po objednávku

  1. Načtení stránky. Skript na stránce najde v obsahu shortcode a vykreslí do jeho místa konfigurátor.
  2. Načtení konfigurace. Jedním požadavkem na naše API si stáhne počet slotů, výši slevy, režim seznamů a všechny nabízené produkty včetně cen ve všech měnách e-shopu, skladu, hodnocení a obrázků.
  3. Výběr zákazníka. Skládání balíčku probíhá čistě v prohlížeči nad daty z prvního požadavku. Žádná další komunikace se serverem neprobíhá, takže je výběr okamžitý.
  4. Potvrzení. Po kliknutí na „Vložit do košíku" odejde na náš backend seznam vybraných produktů.
  5. Založení sady. Backend spočítá závaznou cenu, přes Shoptet API založí produkt typu sada ve skryté kategorii, doplní obrázek a položky a vrátí zpět kód a cenu. Pokud tutéž kombinaci už někdo sestavil, vrátí existující sadu místo zakládání nové.
  6. Košík. Frontend předá vrácený kód nativní funkci košíku Shoptetu. Od té chvíle je balíček běžná položka objednávky.

Krok 5 je synchronní a stojí několik volání Shoptet API, takže trvá řádově stovky milisekund až jednotky sekund. Konfigurátor proto musí mít viditelný stav načítání a pojistku proti dvojímu odeslání — na to se v praxi zapomíná nejčastěji.

Kdo za co odpovídá

Doplněk je headless. Naše strana drží konfigurace, synchronizuje produktová data ze Shoptetu, počítá závaznou cenu, zakládá sady a stará se o jejich úklid. Frontend — tedy vzhled konfigurátoru, chování, texty, responzivita a vložení do košíku — je celý na straně e-shopu, respektive agentury, která ho spravuje.

Má to praktický důvod: agentura nemusí do klientovy šablony pouštět cizí kód a může widget vyladit přesně podle designu e-shopu. Kdo nechce začínat od nuly, může si vzít náš hotový starter a upravit ho.

Jedno pravidlo je přitom závazné: cena, kterou zákazník zaplatí, je vždy ta, kterou vrátí backend při zakládání sady. Přepočet v konfigurátoru je náhled pro zákazníka, ne obchodní slib. Obě čísla vznikají z trochu jiných vstupů — ceny v nabídce zohledňují měnu a případný ceník zákazníka, zatímco cena sady se skládá ze základních cen v základní měně e-shopu. U e-shopu s jednou měnou a bez ceníků obě čísla sedí; jinde se mohou lišit.

Životní cyklus sady

Sady vznikají ve skryté kategorii, takže je zákazník nepotká v katalogu ani ve vyhledávání. Sada, ze které vznikla objednávka, v e-shopu zůstává kvůli historii. Sady, které skončily jen v košíku a nikdo je neobjednal, uklízí každou noc automatický proces — katalog se tedy nezanáší.

Pro obchodníka je to neviditelné. Pro vývojáře z toho plyne jedno pravidlo: kód sady je dočasný, takže se neukládá do localStorage, nepoužívá ve sdílených odkazech ani se z něj nepředvyplňuje košík při další návštěvě. Uložit si jde bez problémů to, co si zákazník vybral, a při jeho návratu sadu jednoduše založit znovu.

Co k tomu potřebujete

  • Shoptet Premium — doplněk pracuje se Shoptet API a s nativním košíkovým rozhraním šablony, na nižších tarifech nefunguje.
  • Aktivní licenci doplňku od nás. Součástí je přístup do administrace balíčků a shortcode konfigurace.
  • Vývojáře nebo agenturu pro frontend, případně převzatý starter.

Kompletní technická dokumentace doplňku je veřejně dostupná na GitHubu v repozitáři shoptet-premium-multipack — včetně popisu architektury, API reference a funkčního ukázkového widgetu. Můžete si ji projít dřív, než se rozhodnete.

Kam dál

Nejste si jistí, jestli dává balíček pro váš sortiment smysl? Napište nám na jsme@webotvurci.cz, projdeme to s vámi nezávazně.