Dokumentace pluginu Toret Synchronizace skladu

Nacházíte se na stránkách dokumentace pluginu Synchronizace skladu, který umožňuje synchronizovat sklad produktů mezi WooCommerce e-shopy. Plugin Synchronizace skladu zakoupíte zde: Toret Synchronizace skladu

Co plugin dělá

Toret Synchronizace skladu udržuje skladové zásoby synchronizované mezi více WooCommerce e-shopy. Jakákoli změna skladu na kterémkoli z propojených e-shopů — prodej, storno, vrácení, naskladnění, ruční úprava i hromadný import — se během několika sekund promítne do všech ostatních.

Plugin pracuje v topologii Master / Spoke:

  • Master — jeden „hlavní“ e-shop, který drží závazný (kanonický) stav skladu a rozesílá změny všem ostatním.
  • Spoke — každý další e-shop. Své změny hlásí Masterovi a od něj přijímá aktuální hodnoty.

Produkty se mezi e-shopy párují podle SKU (katalogového čísla), volitelně podle EAN/GTIN nebo vlastního meta klíče. Produkt bez párovací hodnoty se nesynchronizuje.

Požadavky

SoučástMinimální verze
WordPress6.0
WooCommerce6.7
PHP8.1
MySQL5.0

Všechny e-shopy musí běžet na HTTPS — komunikace přes nezabezpečené HTTP je odmítnuta.

Instalace pluginu

Po zakoupení pluginu obdržíte emailem licenční klíč a odkaz na stažení zip souboru s pluginem. Detailní návod, jak do WordPress nainstalovat plugin z počítače, najdete zde.

Pozor! Plugin je třeba nainstalovat, aktivovat a nastavit na všech e-shopech, u kterých chcete synchronizovat sklady.

Aktivace pluginu

Po instalaci pluginu si otevřete plugin Synchronizace skladu, do příslušného pole vložte licenční klíč a tlačítkem ověřte licenci.

Toret Synchronizace skladu - aktivace pluginu

Nastavení (záložka Obecné)

(Toret plugins > Synchronizace skladu > Obecné)

Toret Synchronizace skladu - obecné nastavení

Role

Vyberte roli e-shopu:

  • Master – drží závazný sklad, rozesílá změny. V celé síti smí být jeden Master.
  • Spoke – připojuje se k Masterovi. Počet e-shopů s rolí Spoke není omezený.

Párování produktů

Produkty se párují podle zvoleného párovacího klíče. Na všech e-shopech je třeba tuto hodnotu nastavit stejně. Párují se vždy pouze sklady u produktů se stejnou hodnotou (např. se stejným SKU)

Primární párovací klíč — hlavní klíč, podle kterého se produkty mezi e-shopy párují:

  • SKU (výchozí)
  • EAN / GTIN — nativní WooCommerce pole „GTIN, UPC, EAN nebo ISBN“ (WC 9.2+)
  • Vlastní meta klíč — libovolný vlastní meta klíč produktu

Vlastní meta klíč — název meta klíče pro volbu výše. Může sloužit zároveň jako záložní klíč, pokud je primárním klíčem SKU nebo EAN/GTIN.

Striktní párování — pokud je zapnuto, používá se pouze primární klíč. Pokud je vypnuto, zkouší se při chybějící/nenalezené hodnotě i ostatní klíče jako záloha.

Důležité: Nastavte párování stejně na všech e-shopech, jinak se produkty nemusí spárovat.

Log synchronizace skladu

Retence logu (dny) — kolik dní ukládá záznamy v logu synchronizace (výchozí 14). Starší záznamy se jednou denně automaticky mažou.

Propojení e-shopů (záložka Připojení)

(Toret plugins > Synchronizace skladu > Připojení)

Na e-shopu s rolí Master

  1. Otevřete záložku Připojení.
  2. Klikněte na Vygenerovat párovací token (a). Vygeneruje se jednorázový párovací token s platností 1 hodina (b),
  3. Token spolu s URL adresou Masteru je třeba zadat na e-shopu/eshopech s rolí Spoke (viz níže) do 1 hodiny.

Na téže záložce vidíte tabulku Připojené e-shopy (c) — všechny připojené e-shopy s frontou čekajících změn, časem posledního odeslání a tlačítky Test (ověření spojení) a Odebrat (odpojení e-shopu).

Toret Synchronizace skladu - připojení e-shopů

TIP: Pro každý Spoke e-shop je třeba vygenerovat vlastní token.

Na e-shopu s rolí Spoke

  1. Otevřete záložku Připojení.
  2. Vyplňte URL Masteru (např. https://hlavni-eshop.cz) a vložte Párovací token z Masteru.
  3. Klikněte na Spárovat s Masterem.

Po spárování se zobrazí stav spojení a tlačítka Otestovat spojení a Odpojit. Token je jednorázový — po úspěšném spárování přestane platit; pro další e-shop vygenerujte na Masterovi nový.

První naplnění skladu na novém Spoke (záložka Nástroje)

(Toret plugins > Synchronizace skladu > Nástroje)

Po připojení nového Spoke e-shopu si stáhněte kompletní sklad z Masteru:

Na Spoke otevřete Nástroje → Stáhnout kompletní sklad z Masteru.

TIP: Pokud nejdřív kliknete na Náhled rozdílů (dry-run), zobrazí se tabulka produktů, u kterých se místní sklad liší od Masteru (co by se přepsalo). Nic se přitom nemění.

Stažení běží na pozadí po dávkách, takže ani velký katalog nezpůsobí timeout. Průběh (zpracováno / celkem / aktualizováno) vidíte po obnovení stránky. Pokud se stažení přeruší kvůli nedostupnému Masterovi, stránka to oznámí — zkontrolujte spojení a spusťte stažení znovu.

Běžný provoz

Po nastavení funguje synchronizace automaticky:

  • Prodej, storno, vrácení, naskladnění, ruční úprava, rychlá/hromadná úprava i CSV import se zachytí a rozešlou. Změny se typicky projeví do několika sekund, nejpozději do minuty (pojistný interval fronty).
  • Změny se frontují — pokud je protistrana dočasně nedostupná, nic se neztratí; fronta se opakovaně pokouší o doručení s prodlužujícím se odstupem (souhrnně zhruba dva dny).
  • Spoke navíc každých ~5 minut provádí rekonciliaci — porovná se s Masterem a dorovná případný rozdíl.
  • U produktů bez řízení skladu se synchronizuje stav skladem / není skladem / na objednávku.
  • Desetinné skladové množství je podporováno.

Upozornění „Master nedostupný“

Pokud Master neodpovídá, zobrazí se na Spoke v administraci trvalé varování s časem výpadku. Změny skladu se mezitím frontují a po obnovení spojení se doručí.

Ruční akce v detailu produktu

V detailu produktu najdete metabox Historie synchronizace skladu:

  • Historie změn — posledních 10 synchronizovaných změn: kdy, z kolika na kolik, důvod (prodej / vrácení / ruční úprava / storno / rekonciliace…), zdroj (tento e-shop vč. objednávky či uživatele, název Spoke, nebo Master) a verze.
  • Na Masterovi: tlačítko Rozeslat aktuální stav do všech e-shopů — rozešle aktuální sklad produktu jako novou závaznou hodnotu do všech e-shopů.
  • Na Spoke: tlačítka Náhled rozdílů (porovnání s Masterem, nic nemění) a Načíst stav z Masteru (stáhne a aplikuje aktuální hodnotu z Masteru).

U variabilního produktu akce zahrnují i všechny jeho variace.

Nástroje

(Toret plugins > Synchronizace skladu > Nástroje)

Na e-shopu s rolí Master

Toret Synchronizace skladu - nástroje - master

Plná synchronizace — znovu rozešle celý závazný sklad všem připojeným e-shopům. Použijte např. po delším výpadku. Aktuální e-shopy zastaralé hodnoty samy zahodí, zaostávající se dorovnají.

Master obnoven ze zálohy / re-inicializovat — pouze po obnově Masteru ze zálohy. Zvýší tzv. epochu a rozešle obnovený stav jako nový závazný. ⚠ Pozor, tato funkce je destruktivní: přepíše na Spoke e-shopech i prodeje novější než záloha. Pokud je potřebujete, poznamenejte si aktuální stavy na Spoke předem.

Na e-shopu s rolí Spoke

Náhled rozdílů (dry-run) a Stáhnout kompletní sklad z Masteru — viz kapitola o prvním naplnění skladu.

Stav a log

(Toret Plugins > Synchronizace skladu > Stav a log)

Na záložce Stav a log můžete kontrolovat, jak plugin pracuje.

V boxu Stav najdete:

  • Sledovaná SKU — počet sledovaných položek.
  • Hloubka fronty — počet změn čekajících ve frontě na odeslání.
  • Poslední úspěšné odeslání — čas posledního úspěšného odeslání.
  • Trvalá selhání (vyčerpané pokusy) — počet změn, u kterých se vyčerpaly všechny pokusy o doručení.
    Pokud je pole Trvalá selhání nenulové, zobrazí se varování: Dotčené položky byly automaticky označeny k opětovnému srovnání s Masterem, ale nedoručený úbytek mohl zaniknout — hrozí přeprodání. Projděte log a stavy položek ručně ověřte. Počítadlo lze vynulovat tlačítkem Reset.

Níže je náhled posledních 20 záznamů logu a odkaz na celý log (Box Poslední záznamy).

Toret Synchronizace skladu - Stav a log

Úplný log

(Toret plugins → Log Synchronizace Skladu)

Kompletní historie všech synchronizovaných změn s filtrem podle SKU nebo ID produktu, stránkováním a rozbalovacím detailem každého záznamu (kliknutím na řádek).

Barevné odlišení: zelená = úspěch, modrá = informace/přeskočeno, červená = chyba.

Tlačítko Smazat všechny logy celý log nevratně smaže.

Toret Synchronizace skladu - Kompletní log

Diagnostika

(Toret plugins > Synchronizace skladu > Diagnostika)

V záložce Diagnostika můžete zkontrolovat, zda na e-shopu nejsou problematické položky:

Produkty bez párovací hodnoty — nesynchronizují se; doplňte jim SKU/EAN/meta hodnotu.

Duplicitní párovací hodnoty — stejnou hodnotu sdílí více produktů, párování je nejednoznačné; duplicity odstraňte.

Toret Synchronizace skladu - Diagnostika

Řešení potíží

ProblémŘešení
Párování selhalo (Pairing failed)Zkontrolujte URL Masteru (HTTPS!), platnost tokenu (1 hodina, jednorázový) a že Master má roli Master.
Produkt se nesynchronizujeZkontrolujte, že má produkt párovací hodnotu (záložka Diagnostika) a že existuje se stejnou hodnotou i na protistraně.
Sklad „skáče“ / neodpovídáPodívejte se do logu na detail změn — u každé je vidět odkud přišla a proč.
Varování o nedostupném MasteroviOvěřte dostupnost Masteru (tlačítko Otestovat spojení). Fronta změny doručí po obnovení spojení.
Trvalá selhání > 0Projděte log, ověřte sklad dotčených SKU ručně (riziko přeprodání) a vynulujte počítadlo.
Testovací prostředí bez HTTPSHTTPS lze pro vývoj povolit jen zásahem vývojáře (filtr toret_sync_allow_insecure).

WP-CLI

wp tsync status      # role, počet SKU, hloubka fronty, poslední odeslání, peery
wp tsync sync        # Master: plné rozeslání; Spoke: rekonciliace
wp tsync pull        # Spoke: synchronní stažení celého skladu z Masteru
wp tsync reconcile   # Spoke: jedna rekonciliace
wp tsync reinit      # Master: reinicializace po obnově ze zálohy

Přejít nahoru