Průvodce integrací WooCommerce
Tento průvodce propojuje obchod na WooCommerce s Tajo. Integrace má dvě poloviny, které fungují společně:
- Plugin Tajo for WooCommerce: zachycuje uvnitř WordPressu události zapojení v reálném čase (objednávky, košíky, vratky, recenze, odeslané formuláře) a doručuje je do Tajo přes odolnou podepsanou frontu outbox.
- Připojení WooCommerce REST: Tajo čte zákazníky, objednávky, produkty, kupóny, vratky a recenze z Vašeho obchodu pro import historie a průběžnou synchronizaci. Nastavení pouze přes REST popisuje reference konektoru WooCommerce.
Samotná marketingová automatizace (e-mail, SMS, WhatsApp přes Brevo a další poskytovatele) se nastavuje v Tajo, nikoli v pluginu. Úkolem pluginu je dostat z WordPressu důvěryhodné události.
Předpoklady
- WordPress 6.3+ s přístupem správce
- PHP 7.4+
- WooCommerce 7.0+ (plugin funguje i na webech na WordPressu bez WooCommerce, adaptéry pro e-commerce pak jednoduše zůstanou neaktivní)
- Účet Tajo s vytvořeným připojením WordPress
- HTTPS na endpointu Tajo (u hostovaného Tajo platí vždy)
Krok 1: Nainstalujte plugin Tajo for WooCommerce
Ruční instalace
# Download the plugincd wp-content/pluginswget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip
# Verify and unzipunzip tajo-woocommerce-latest.zipPoté jej aktivujte v administraci WordPressu:
- Přejděte na Plugins → Installed Plugins
- Najděte „Tajo for WooCommerce“
- Klikněte na Activate
Zip můžete také nahrát přímo přes Plugins → Add New → Upload Plugin. Ke každému vydání je zveřejněn kontrolní součet SHA-256 na tajo.io/downloads/woocommerce/. Plugin zatím není uveden v adresáři WordPress.org; podporovanou cestou je dnes ruční instalace.
Krok 2: Nastavte připojení
Přejděte na WooCommerce → Tajo (na webech bez WooCommerce: Settings → Tajo) a zadejte tři hodnoty ze svého připojení WordPress v Tajo:
| Pole | Hodnota |
|---|---|
| Endpoint Tajo | HTTPS webhooková URL zobrazená v Tajo, například https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement |
| Binding ID | Binding ID daného připojení z Tajo |
| Podpisový tajný klíč | Sdílený tajný klíč (32–256 znaků). Plugin při aktivaci vygeneruje silný lokální klíč; vložte jej do Tajo, nebo sem vložte klíč z Tajo |
Do wp-config.php se nepřidávají žádné konstanty s API klíčem. Události zůstávají bezpečně ve frontě v lokálním outboxu, dokud neuložíte všechny tři hodnoty.
Poté ověřte celou trasu od začátku do konce:
- Klikněte na Queue test event a poté na Process now.
- Tabulka doručovacího outboxu by měla událost zobrazit jako doručenou.
- V Tajo ověřte, že událost
connection.testdorazila na připojení WordPress.
Co plugin odesílá
Každá událost je kompaktní obálka s minimem osobních údajů podepsaná pomocí HMAC-SHA256. WordPress opouštějí pouze identifikační pole pro zapojení (e-mail, telefon, lokální ID) a omezená metadata události, nikdy jména, poštovní adresy, IP adresy, user agenty, texty komentářů, libovolná pole formulářů, poznámky k objednávce ani platební údaje.
Události WooCommerce
| Hook | Událost |
|---|---|
woocommerce_created_customer / woocommerce_update_customer | customer.created / customer.updated |
woocommerce_new_product / woocommerce_update_product | product.created / product.updated |
woocommerce_add_to_cart, odebrání položky, uplatnění nebo zrušení kupónu | cart.updated (se souhrnem košíku pro toky opuštěných košíků) |
woocommerce_cart_emptied | cart.emptied |
woocommerce_new_order / woocommerce_update_order | order.placed / order.updated |
woocommerce_order_status_changed | order.status_changed (+ order.fulfilled při dokončení) |
woocommerce_payment_complete | order.paid |
woocommerce_order_refunded | refund.created |
| Aktualizace stavu ve WooCommerce Subscriptions | subscription.status_changed |
Události objednávek nesou číslo objednávky, stav, měnu, celkové částky, položky objednávky a připravené URL pro recenzi a opakovanou objednávku, což stačí pro automatizace po nákupu a pro získání zákazníka zpět bez dalšího volání API.
Události WordPressu
contact.created/contact.updated/contact.deletedpro uživatelské účtycontent.published/content.updated/content.unpublishedpro veřejný obsahcomment.created/comment.status_changedpro komentáře návštěvníků a recenze produktů (interní poznámky k objednávkám ve WooCommerce, pingbacky a trackbacky se nikdy neodesílají)form.submittedpro úspěšná odeslání formulářů Contact Form 7, WPForms, Gravity Forms a Fluent Forms, extrahují se pouze typovaná identifikační pole s e-mailem či telefonem a metadata formuláře; libovolná odeslaná pole se zahazují
Spolehlivost: doručovací outbox
Plugin nikdy neodesílá události do Tajo přímo při načtení stránky. Každá událost se nejprve zapíše do lokální tabulky outboxu a poté ji doručí WP-Cron s těmito vlastnostmi:
- Omezené exponenciální odkládání pokusů (až 8 pokusů, s respektováním
Retry-After) - Nedoručitelné zprávy s tlačítkem Replay dead letters v administraci
- Limity uchování, aby nedostupný endpoint nikdy nehromadil osobní údaje (doručené: 7 dní; ve frontě: 30 dní; nedoručitelné: 30 dní od poslední aktualizace)
- Idempotentní ID událostí, takže opakované pokusy ani přehrání nikdy nevytvoří duplicity dále v řetězci
Pokud Váš hosting vypíná WP-Cron (DISABLE_WP_CRON), volejte wp-cron.php ze skutečného plánovače alespoň jednou za minutu.
Souhlas se nikdy neodvozuje
Vytvoření účtu, průchod pokladnou, nákup ani obecná odeslání formulářů se nepovažují za marketingový souhlas. Vestavěné události nesou prázdný seznam souhlasů. Explicitní souhlas (například ze zaškrtnutého políčka pro newsletter) zaznamenáte tak, že jej odešlete přes rozšiřující 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' ));Stejný hook umožňuje libovolnému pluginu nebo šabloně odesílat vlastní události; vše prochází stejným sanitizérem, outboxem a podpisem.
Krok 3: Import historie
Události v reálném čase pokrývají vše od instalace dále. Historii, která pluginu předchází, naimportuje připojení WooCommerce REST v Tajo: existující zákazníky, objednávky, produkty, kupóny, vratky a recenze. Nastavuje se celé na straně Tajo pomocí klíče WooCommerce REST API (WooCommerce → Settings → Advanced → REST API, oprávnění pro čtení). Podrobnosti najdete v referenci konektoru WooCommerce.
Soukromí a GDPR
- Plugin se registruje u WordPressu v Tools → Export Personal Data a Tools → Erase Personal Data; uchované události outboxu pro odpovídající e-mail se lokálně exportují nebo vymažou.
- Výmaz a doručování sdílejí mutex se selháním do uzavřeného stavu, takže výmaz nikdy nemůže ohlásit dokončení, zatímco se právě odesílá payload.
- Lokální výmaz pokrývá pouze outbox ve WordPressu, pro data dále v řetězci podejte odpovídající žádost v Tajo.
- Deaktivace pozastaví doručování, ale zachová konfiguraci a události ve frontě; smazání pluginu trvale odstraní outbox, nastavení, tajný klíč a plánované úlohy.
Kompatibilita
- HPOS: plugin deklaruje kompatibilitu s WooCommerce High-Performance Order Storage a používá pouze objekty CRUD a veřejné hooky.
- WooCommerce Subscriptions: změny stavu předplatného se zachycují, když je toto rozšíření aktivní.
- Multisite: odinstalace uklidí každý web v síti.
Reference pro provoz
Zjišťování možností mezi servery a řízení outboxu jsou správcům dostupné přes ověření pomocí Application Password:
| Metoda | Trasa | Účel |
|---|---|---|
GET | /wp-json/tajo/v1/capabilities | Verze pluginu, zjištěné adaptéry, inventář událostí, stav outboxu |
GET | /wp-json/tajo/v1/outbox | Počty v outboxu (payloady se nikdy nezveřejňují) |
POST | /wp-json/tajo/v1/outbox/process | Okamžité zpracování dávky |
POST | /wp-json/tajo/v1/outbox/replay | Přehrání nedoručitelných zpráv |
Řešení potíží
| Příznak | Příčina a náprava |
|---|---|
| Události zůstávají ve stavu „Queued“ | Endpoint, binding ID nebo tajný klíč zatím nejsou uloženy, doručování je pozastaveno, dokud nenastavíte všechny tři |
| Události zůstávají ve stavu „Retrying“ | Endpoint Tajo je z Vašeho hostingu nedostupný, nebo neběží WP-Cron, zkontrolujte sloupec s chybou v tabulce outboxu a nastavení cronu |
| Hromadí se nedoručitelné zprávy | Neopakovatelná chyba (obvykle chybné binding ID nebo tajný klíč), opravte konfiguraci a poté zvolte Replay dead letters |
| „Enter a valid HTTPS Tajo webhook endpoint“ | Endpoint musí být HTTPS bez vložených přihlašovacích údajů |
| Testovací událost byla doručena, ale v Tajo nic není | Zkontrolujte, že jste binding ID vložili ze stejného workspace nebo připojení Tajo, kam endpoint patří |
Další kroky
- Reference konektoru WooCommerce: synchronizace přes REST, podrobnosti k podpisu webhooků, konfigurační klíče
- Synchronizace zákazníků: mapování zákazníků z WooCommerce do Vašeho systému záznamů
- Nastavte v Tajo automatizace pro opuštěné košíky, po nákupu a pro získání zákazníka zpět s využitím událostí
cart.updated,order.placedaorder.fulfilled