Jak propojit Zásilkovnu s WooCommerce
WooCommerce je nejpoužívanější e-shopová platforma na světě — pohání víc než 30 % všech online obchodů — a díky oficiálnímu pluginu Zásilkovny ji propojíte s českou přepravní sítí během jedné kávy. V tomto návodu vás provedeme celým procesem od instalace pluginu, přes konfiguraci přepravních metod, integraci widgetu výdejních míst, hromadné odesílání zásilek a tisk štítků, až po pokročilé tipy s WooCommerce hooks a webhooks pro real-time tracking.
Co budete potřebovat
Než se pustíte do instalace, ověřte, že máte připravené:
- WordPress 6.0+ s aktivním WooCommerce (minimálně verze 5.0, doporučujeme 8.0+ kvůli kompatibilitě s HPOS — High Performance Order Storage).
- PHP 8.0+ na serveru. Plugin Zásilkovny už PHP 7.x oficiálně nepodporuje a v některých scénářích selže s tichou chybou.
- Aktivní účet u Zásilkovny se schválenou smlouvou. Bez aktivace API přístupu plugin nemá s čím komunikovat.
- API klíč a API heslo odesílatele z klientské sekce Zásilkovny (cesta: Nastavení → API → Zobrazit API údaje).
- FTP / SFTP / SSH přístup k serveru — hodí se pro debugging, kdyby instalace přes admin selhala kvůli upload limitu nebo právům.
- Backup před instalací: jakýkoli plugin ovlivňující checkout zaslouží snapshot databáze a souborů. UpdraftPlus nebo BackWPup zvládnou backup za pár minut.
Pokud teprve spouštíte e-shop a porovnáváte přepravce, projděte si i návod na nastavení Balíkovny a [PPL doručení ve WooCommerce](/articles/jak-nastavit-ppl-doruceni-woocommerce) — multi-carrier setup je pro většinu Czech B2C e-shopů standardem.
Postup krok za krokem
Krok 1: Instalace pluginu
V administraci WordPressu přejděte do Pluginy → Přidat nový a do vyhledávání zadejte „Packeta" — autorem oficiálního pluginu je Packeta s.r.o. (mateřská společnost Zásilkovny v zahraničí). Nainstalujte a aktivujte plugin Packeta — Czech & Slovak Republic Shipping.
Alternativně, pokud máte na hostingu omezený upload limit nebo plugin z WP repozitáře nejde nainstalovat:
- Stáhněte si plugin přímo z GitHubu Packety nebo z klientské sekce Zásilkovny.
- Přes FTP nahrajte archiv do
/wp-content/plugins/packeta/(název složky musí přesně odpovídat). - V administraci WP přejděte na Pluginy → Instalované a aktivujte ho ručně.
Pokud používáte multisite, plugin aktivujte na úrovni jednotlivého e-shopu, ne network-wide — některé funkce by jinak kolidovaly s nastavením jiných e-shopů ve stejné instalaci.
Krok 2: Konfigurace API přístupu
Po aktivaci pluginu se v levém menu objeví položka Packeta. Přejděte na ni a vyplňte:
- API klíč — 32znakový hexadecimální řetězec.
- API heslo odesílatele — kratší alfanumerický řetězec, slouží pro identifikaci konkrétního odesílatele uvnitř vašeho účtu (užitečné, pokud máte víc e-shopů pod jedním účtem).
- Výchozí odesílací adresa — Packeta ji vyplní do Štítků a Tracking notifikací.
- Měna a jazyk e-shopu — pro správný formát štítků a notifikací.
Klikněte na Uložit — plugin spustí testovací volání API. Pokud uvidíte zelenou hlášku „Připojení úspěšné", máte hotovo. Pokud červenou „Neplatné přihlašovací údaje", v 80 % případů jde o překlep v API klíči nebo o pokus o použití API klíče sandbox prostředí v produkci. API klíče Zásilkovny jsou case-sensitive.
Po úspěšném ověření plugin sám stáhne aktuální seznam výdejních míst (~9 000 záznamů pro ČR + SK), to může trvat 15–30 sekund. Pak je hotovo a můžete pokračovat.
Krok 3: Nastavení přepravních metod
Přejděte do WooCommerce → Nastavení → Doprava → Přepravní zóny a buď upravte stávající zónu pro Českou republiku, nebo vytvořte novou:
- Přepravní zóna: Česká republika (případně přidejte i Slovensko).
- Klikněte na Přidat přepravní metodu a vyberte Packeta.
- V detailu přepravní metody nastavte:
- Druh dopravy — Výdejní místo (Z-Box / Z-Point), Doručení na adresu (Home), nebo zahraniční doručení.
- Cena pro zákazníka — pevná částka, nebo podle hmotnosti / počtu kusů.
- Doprava zdarma od — typicky 1 500–2 500 Kč podle marže.
- Hmotnostní limity — Z-Box má limit 5 kg / 70×36×50 cm; nad limit nabídněte automaticky Home variantu.
- Daňové třídy — přiřaďte správnou DPH třídu pro dopravu (v ČR je DPH 21 %).
Doporučujeme vytvořit dvě samostatné přepravní metody (Z-Box i Home) a nechat zákazníka vybrat — A/B testy ukazují, že nabídka výběru zvyšuje konverzi proti default-only o 4–7 %.
Krok 4: Nastavení widgetu pro výběr výdejních míst
Plugin automaticky vloží widget Zásilkovny do stránky pokladny — zákazník po výběru přepravní metody Packeta uvidí mapu a vybere si výdejní místo kliknutím. Widget zobrazuje otevírací dobu, fotku pobočky, dostupnost (Z-Box vs. Z-Point) a vzdálenost od zadané adresy.
Pokud máte vlastní šablonu nebo používáte Block Checkout (Gutenberg), widget se nemusí načíst automaticky. V takovém případě:
- Pro Classic Checkout přidejte do
functions.phpvašeho child themu hookwoocommerce_after_shipping_ratea zavolejte funkciPacketa\WidgetButton::render(). - Pro Block Checkout otevřete editaci stránky Pokladna, najděte blok Doprava a v inspektoru bloku zaškrtněte Zobrazit Packeta widget. Pokud volba chybí, plugin ještě neumí Block Checkout — držte se Classic.
Po každé úpravě šablony pokladnu otestujte v inkognito okně mobilním i desktopovým zařízením. Mobilní mapa je nejčastější breakpoint — má-li problém, otevřete vývojářské nástroje (F12) a v Console hledejte chyby z domény widget.packeta.com.
Krok 5: Odesílání zásilek a tisk štítků
V administraci WooCommerce Objednávky se po instalaci pluginu objeví nový sloupec Stav zásilky Packeta. Workflow je:
- Objednávka přejde do stavu Zpracovává se nebo Připraveno k odeslání (záleží na vašem nastavení).
- U objednávky kliknete na Odeslat do Packeta (nebo použijete Hromadné akce pro víc objednávek najednou).
- Plugin pošle data do API Zásilkovny, dostane zpět trackingové číslo a propíše ho do objednávky.
- Štítek si stáhnete jako PDF (formát A6 pro termo tiskárnu, nebo A4 4× pro běžnou tiskárnu).
- Po nalepení štítku balík předáte řidiči nebo doručíte na nejbližší podací místo.
Pro provozy s víc než 30 zásilkami denně doporučujeme aktivovat automatické odesílání přes plugin: jakmile objednávka přejde do stavu „Připraveno k odeslání", plugin sám zavolá API a vygeneruje štítek. Vy už jen tisknete a balíte.
Pro hromadný workflow zkombinujte plugin s Make — Make může spustit hromadné odeslání + tisk + e-mail zákazníkovi v jediném scénáři.
Časté problémy a jejich řešení
Plugin koliduje s jiným pluginem
Nejčastější konflikty jsou s cache pluginy (WP Rocket, W3 Total Cache, LiteSpeed Cache) — ty cachují stránku pokladny a widget se zákazníkovi nezobrazí, dokud sám nevyvolá refresh. Řešení: do nastavení cache pluginu přidejte stránku pokladny do whitelistu (Don't cache) a vyloučte cookies woocommerce_cart_hash a woocommerce_items_in_cart.
Druhá častá kolize je s jinými přepravními pluginy (DPD, PPL, GLS), které přepisují stejné WooCommerce hooks. Deaktivujte je jeden po druhém a kontrolujte, kdy widget znovu funguje.
Widget se nezobrazuje na checkout stránce
Ověřte, že vaše šablona používá standardní WooCommerce hooks — do_action( 'woocommerce_after_shipping_rate' ). Pokud máte Astra/GeneratePress/Hello Elementor, mělo by být OK. Pokud používáte custom téma od freelancera, může chybět hook nebo být přepsaný — řešení je doplnit ho do child-theme/woocommerce/cart/cart-shipping.php.
Druhá příčina: aktivovaný Block Checkout (od WC 8.3+) místo Classic. Nový Block Checkout zatím nemá oficiální Packeta block; přepněte zpět na Classic v WooCommerce → Nastavení → Pokročilé → Page Setup.
Chybí výdejní místa v některém městě
Plugin synchronizuje seznam míst každých 24 hodin. Pokud někde místo chybí, ručně spusťte aktualizaci přes Packeta → Nástroje → Aktualizovat výdejní místa. Pokud i pak chybí, zkontrolujte v aplikaci Zásilkovny, zda je dané místo aktivní (mohlo být dočasně zavřené pro renovaci).
Štítek se vygeneruje, ale tracking nefunguje
Tracking číslo se v Zásilkovně aktivuje až po fyzickém naskenování balíku v depu. Pokud balík ještě neopustil váš sklad, tracking ukáže „Připraveno k vyzvednutí přepravcem" a posune se až po naskenování. Při dlouhém prodlení (2+ dny) zavolejte na podporu Zásilkovny — občas se balík v depu „ztratí" mezi police.
HPOS (High Performance Order Storage) chyby
WooCommerce 8.0+ defaultně používá HPOS místo klasické tabulky wp_posts. Starší verze pluginu Packeta to neuměly. Aktualizujte plugin na verzi 1.7+ a přepněte se na HPOS přes WooCommerce → Nastavení → Pokročilé → Funkce. Migrace existujících objednávek běží na pozadí; necheckujte změnu během vrcholu objednávek.
Tipy pro pokročilé
-
Customizace přes hooks: použijte
packetery_after_order_shipping_metaboxvfunctions.php, abyste přidali vlastní pole do administrace objednávky — typicky pro interní poznámky balení nebo custom data potřebná pro logistiku. -
Webhooks pro real-time stav: Zásilkovna umí posílat webhooks při každé změně stavu zásilky. Aktivujte je v klientské sekci, endpoint nasměrujte na Make a tam si naplánujte vlastní notifikace, automatické post-purchase e-maily nebo aktualizaci CRM.
-
Vlastní e-mail šablony s tracking informacemi: WooCommerce template e-mailu objednávky
emails/customer-completed-order.phpumí vykreslit$order->get_meta('_packeta_tracking_number'). Přidejte do template odkazhttps://tracking.packeta.com/cs/?id={tracking}— zákazník nepotřebuje hledat e-mail od Zásilkovny. -
REST API pro vlastní integrace: pokud máte vlastní ERP/sklad, můžete místo pluginu volat Packeta API přímo. Endpoint
packeta.com/api/rest/v6/createPacketpřijme JSON s objednávkou a vrátí tracking. Plugin použijte jen jako referenci pro mapování polí. -
Multistore přes Bedrock nebo Composer: pro vyspělé WP setupy s víc e-shopy v jedné repo doporučujeme plugin instalovat přes Composer (
wpackagist-plugin/packeta) a verze řídit přescomposer.json— výrazně lepší než ruční update na produkci. -
A/B test sazby dopravy: vyzkoušejte 79 Kč proti 89 Kč pro Z-Box. Většina e-shopů zjistí, že 10 Kč rozdíl konverzi nesnižuje, ale marži zlepší o 5–8 %.
Často kladené otázky
Je oficiální plugin Packeta zdarma?
Ano, plugin je 100% zdarma a otevřený zdrojový kód je na GitHubu. Platíte jen za reálně odeslané zásilky podle ceníku Zásilkovny — žádný měsíční fee, žádné transaction poplatky.
Funguje plugin i s WooCommerce Subscriptions nebo Bookings?
S WooCommerce Subscriptions je kompatibilní — opakované zásilky se zpracují jako samostatné objednávky a každá dostane svůj tracking. S Bookings (rezervace) přepravní metody nehrají roli, plugin tedy ovlivňuje jen, pokud máte i fyzické zboží v jedné objednávce s rezervací.
Co když mám e-shop ve vícero jazycích (Polylang, WPML)?
Plugin podporuje WPML i Polylang — výdejní místa se zobrazují v jazyce zákazníka. Pro perfektní funkci doporučujeme nainstalovat oficiální WPML String Translation a přeložit i texty z pluginu (notifikace o objednávce, popisky doprav).
Jak moc plugin zatíží stránku pokladny?
Widget Zásilkovny načítá přibližně 80 KB JavaScriptu a inicializuje se asynchronně. Na běžně rychlém hostingu přidá 100–200 ms k LCP (Largest Contentful Paint), což je akceptovatelné. Pokud měříte Core Web Vitals a chcete být úzkostliví, zvažte lazy-load widgetu až po kliknutí na přepravní metodu Packeta — vyžaduje to ale custom úpravu pluginu.
Můžu používat plugin v sandboxu / testovacím prostředí?
Ano, Zásilkovna nabízí sandbox API (testovací prostředí) s vlastními přihlašovacími údaji. Získáte je v klientské sekci po žádosti přes podporu. Sandbox negeneruje reálné štítky ani neúčtuje za zásilky — perfektní pro testování customizací před deployem na produkci.
Závěr
Integrace Zásilkovny do WooCommerce přes oficiální plugin je přímočará, plně podporovaná a zdarma. Po nastavení dostanete widget výdejních míst, automatický export zásilek, tisk štítků a real-time tracking přímo z administrace WordPressu. Pro pokročilé scénáře využijte WooCommerce hooks, Packeta REST API a propojení s Make nebo Zapier pro plně automatizovaný workflow od objednávky přes balení po fakturaci. A pokud expanduje na vícero přepravců, není problém Zásilkovnu kombinovat například s PPL nebo DPD.