Sprievodca integráciou WooCommerce
Táto príručka prepája obchod WooCommerce s Tajo. Integrácia má dve polovice, ktoré spolupracujú:
- Plugin Tajo for WooCommerce: zachytáva udalosti zapojenia v reálnom čase (objednávky, košíky, vrátenia, recenzie, odoslané formuláre) priamo vo WordPresse a doručuje ich do Tajo cez odolnú, podpísanú výstupnú frontu.
- Prepojenie WooCommerce REST: Tajo číta zákazníkov, objednávky, produkty, kupóny, vrátenia a recenzie Vášho obchodu pre historický import a priebežnú synchronizáciu. Nastavenie len cez REST nájdete v referencii konektora WooCommerce.
Samotná marketingová automatizácia (e-mail, SMS, WhatsApp cez Brevo a ďalších poskytovateľov) sa nastavuje v Tajo, nie v plugine. Úlohou pluginu je dostať z WordPressu dôveryhodné udalosti.
Predpoklady
- WordPress 6.3+ s prístupom správcu
- PHP 7.4+
- WooCommerce 7.0+ (plugin funguje aj na weboch WordPress bez WooCommerce, e-commerce adaptéry jednoducho zostanú neaktívne)
- Účet Tajo s vytvoreným prepojením WordPress
- HTTPS na endpointe Tajo (pri hostovanom Tajo platí vždy)
Krok 1: Nainštalujte plugin Tajo for WooCommerce
Manuálna inštalácia
# Download the plugincd wp-content/pluginswget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip
# Verify and unzipunzip tajo-woocommerce-latest.zipPotom ho aktivujte v administrácii WordPressu:
- Prejdite na Plugins → Installed Plugins
- Nájdite „Tajo for WooCommerce“
- Kliknite na Activate
Zip môžete nahrať aj priamo cez Plugins → Add New → Upload Plugin. Ku každému vydaniu je zverejnený kontrolný súčet SHA-256 na tajo.io/downloads/woocommerce/. Plugin zatiaľ nie je uvedený v adresári WordPress.org; podporovanou cestou je dnes manuálna inštalácia.
Krok 2: Nastavte prepojenie
Prejdite na WooCommerce → Tajo (na weboch bez WooCommerce: Settings → Tajo) a zadajte tri hodnoty z Vášho prepojenia WordPress v Tajo:
| Pole | Hodnota |
|---|---|
| Endpoint Tajo | HTTPS URL webhooku zobrazená v Tajo, napr. https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement |
| Binding ID | Binding ID prepojenia z Tajo |
| Podpisový tajný kľúč | Zdieľaný tajný kľúč (32–256 znakov). Plugin pri aktivácii vygeneruje silný lokálny kľúč; vložte ho do Tajo, alebo sem vložte kľúč z Tajo |
Do wp-config.php netreba pridávať žiadne konštanty s API kľúčom. Udalosti zostávajú bezpečne vo fronte v lokálnej výstupnej fronte, kým neuložíte všetky tri hodnoty.
Potom overte celú cestu od začiatku do konca:
- Kliknite na Queue test event, potom na Process now.
- Tabuľka doručovacej výstupnej fronty by mala udalosť zobraziť ako doručenú.
- V Tajo overte, že udalosť
connection.testdorazila na prepojenie WordPress.
Čo plugin odosiela
Každá udalosť je kompaktná obálka obmedzená na nevyhnutné údaje a podpísaná pomocou HMAC-SHA256. WordPress opúšťajú len identifikačné polia pre zapojenie (e-mail, telefón, lokálne ID) a ohraničené metadáta udalosti, nikdy nie mená, poštové adresy, IP adresy, user agenty, texty komentárov, ľubovoľné polia formulárov, poznámky k objednávkam ani platobné údaje.
Udalosti WooCommerce
| Hook | Udalosť |
|---|---|
woocommerce_created_customer / woocommerce_update_customer | customer.created / customer.updated |
woocommerce_new_product / woocommerce_update_product | product.created / product.updated |
woocommerce_add_to_cart, odstránenie položky, pridanie/odstránenie kupónu | cart.updated (so súhrnom košíka pre toky pri opustení košíka) |
woocommerce_cart_emptied | cart.emptied |
woocommerce_new_order / woocommerce_update_order | order.placed / order.updated |
woocommerce_order_status_changed | order.status_changed (+ order.fulfilled pri dokončení) |
woocommerce_payment_complete | order.paid |
woocommerce_order_refunded | refund.created |
| Zmeny stavu vo WooCommerce Subscriptions | subscription.status_changed |
Udalosti objednávok nesú číslo objednávky, stav, menu, súčty, položky a pripravené URL na recenziu či opakovanú objednávku, čo stačí na automatizácie po nákupe a na znovuzískanie zákazníkov bez ďalšieho volania API.
Udalosti WordPress
contact.created/contact.updated/contact.deletedpre používateľské účtycontent.published/content.updated/content.unpublishedpre verejný obsahcomment.created/comment.status_changedpre komentáre návštevníkov a recenzie produktov (interné poznámky k objednávkam vo WooCommerce, pingbacky ani trackbacky sa nikdy neodosielajú)form.submittedpri úspešnom odoslaní formulárov Contact Form 7, WPForms, Gravity Forms a Fluent Forms: extrahujú sa len typované identifikačné polia e-mailu a telefónu a metadáta formulára; ľubovoľné odoslané polia sa zahadzujú
Spoľahlivosť: doručovacia výstupná fronta
Plugin nikdy neodosiela udalosti do Tajo priamo počas načítania stránky. Každá udalosť sa najprv zapíše do lokálnej tabuľky výstupnej fronty a potom ju doručí WP-Cron s týmito vlastnosťami:
- Ohraničený exponenciálny backoff (až 8 pokusov, rešpektuje
Retry-After) - Neodoručiteľné správy s jedným kliknutím na Replay dead letters v administrácii
- Limity uchovávania, aby nedostupný endpoint nikdy nehromadil osobné údaje (doručené: 7 dní; vo fronte: 30 dní; neodoručiteľné: 30 dní od poslednej aktualizácie)
- Idempotentné ID udalostí, takže opakovania ani prehrania nikdy nevytvoria duplicity na strane príjemcu
Ak Váš hosting vypína WP-Cron (DISABLE_WP_CRON), volajte wp-cron.php zo skutočného plánovača aspoň raz za minútu.
Súhlas sa nikdy neodvodzuje
Vytvorenie účtu, prechod pokladňou, nákup ani bežné odoslanie formulára sa nepovažujú za marketingový súhlas. Vstavané udalosti nesú prázdny zoznam súhlasov. Ak chcete zaznamenať výslovný súhlas (napríklad zo zaškrtnutého políčka pre newsletter), odošlite ho cez rozširujúci hook:
do_action( 'tajo_engagement_emit', 'consent.updated', array( 'email' => $email ), array( 'policyVersion' => '2026-07' ), array( array( 'channel' => 'email', 'status' => 'opt_in', // or 'opt_out' 'purpose' => 'marketing', 'source' => 'newsletter_checkbox', 'evidence' => array( 'formId' => 'newsletter-footer', 'field' => 'marketing_email' ), ), ), gmdate( 'c' ));Ten istý hook umožňuje ľubovoľnému pluginu alebo šablóne odosielať vlastné udalosti; všetko prechádza rovnakým čistením vstupov, výstupnou frontou a podpisom.
Krok 3: Historický import
Udalosti v reálnom čase pokrývajú všetko od inštalácie ďalej. Pre históriu, ktorá plugin predchádza, importuje prepojenie WooCommerce REST v Tajo existujúcich zákazníkov, objednávky, produkty, kupóny, vrátenia a recenzie. Nastavuje sa výhradne na strane Tajo pomocou kľúča WooCommerce REST API (WooCommerce → Settings → Advanced → REST API, oprávnenie na čítanie). Podrobnosti nájdete v referencii konektora WooCommerce.
Súkromie a GDPR
- Plugin sa registruje do nástrojov WordPress Tools → Export Personal Data a Tools → Erase Personal Data; uchované udalosti vo výstupnej fronte pre zodpovedajúci e-mail sa lokálne exportujú alebo vymažú.
- Mazanie a doručovanie zdieľajú mutex, ktorý sa pri chybe uzavrie, takže mazanie nikdy neohlási dokončenie, kým sa práve odosiela payload.
- Lokálne mazanie pokrýva len výstupnú frontu vo WordPresse. Pre nadväzujúce dáta podajte zodpovedajúcu žiadosť v Tajo.
- Deaktivácia pozastaví doručovanie, ale zachová konfiguráciu aj udalosti vo fronte; odstránenie pluginu natrvalo zmaže výstupnú frontu, nastavenia, tajný kľúč aj plánované úlohy.
Kompatibilita
- HPOS: plugin deklaruje kompatibilitu s WooCommerce High-Performance Order Storage a používa výhradne CRUD objekty a verejné hooky.
- WooCommerce Subscriptions: zmeny stavu predplatného sa zachytávajú, keď je rozšírenie aktívne.
- Multisite: odinštalovanie vyčistí každý web v sieti.
Referencia pre prevádzku
Zisťovanie stavu medzi servermi a ovládanie výstupnej fronty sú správcom dostupné cez autentifikáciu Application Password:
| Metóda | Cesta | Účel |
|---|---|---|
GET | /wp-json/tajo/v1/capabilities | Verzia pluginu, zistené adaptéry, inventár udalostí, stav výstupnej fronty |
GET | /wp-json/tajo/v1/outbox | Počty vo výstupnej fronte (payloady sa nikdy nezverejňujú) |
POST | /wp-json/tajo/v1/outbox/process | Okamžite spracovať dávku |
POST | /wp-json/tajo/v1/outbox/replay | Prehrať neodoručiteľné správy |
Riešenie problémov
| Prejav | Príčina a riešenie |
|---|---|
| Udalosti zostávajú v stave „Queued“ | Endpoint, binding ID alebo tajný kľúč zatiaľ nie sú uložené; doručovanie je pozastavené, kým nie sú nastavené všetky tri |
| Udalosti zostávajú v stave „Retrying“ | Endpoint Tajo je z Vášho hostingu nedostupný alebo nebeží WP-Cron; skontrolujte stĺpec s chybou v tabuľke výstupnej fronty a nastavenie cronu |
| Hromadia sa neodoručiteľné správy | Chyba, ktorú nemá zmysel opakovať (zvyčajne nesprávne binding ID alebo tajný kľúč); opravte konfiguráciu a potom použite Replay dead letters |
| „Enter a valid HTTPS Tajo webhook endpoint“ | Endpoint musí byť HTTPS bez vložených prihlasovacích údajov |
| Testovacia udalosť je doručená, ale v Tajo nič nie je | Skontrolujte, či ste vložili binding ID z toho istého pracovného priestoru a prepojenia Tajo, ku ktorému endpoint patrí |
Ďalšie kroky
- Referencia konektora WooCommerce: synchronizácia cez REST, detaily podpisu webhooku, konfiguračné kľúče
- Synchronizácia zákazníkov: mapovanie zákazníkov WooCommerce do Vášho systému záznamov
- Nastavte v Tajo automatizácie pre opustené košíky, obdobie po nákupe a znovuzískanie zákazníkov pomocou udalostí
cart.updated,order.placedaorder.fulfilled