Vodič za integraciju s WooCommerceom
Ovaj vodič povezuje WooCommerce trgovinu s Tajom. Integracija ima dvije polovice koje rade zajedno:
- Dodatak Tajo for WooCommerce: unutar WordPressa bilježi događaje angažmana u stvarnom vremenu (narudžbe, košarice, povrati, recenzije, poslani obrasci) i isporučuje ih Taju putem trajnog, potpisanog izlaznog spremnika.
- WooCommerce REST veza: Tajo čita kupce, narudžbe, proizvode, kupone, povrate i recenzije vaše trgovine za povijesni uvoz i trajnu sinkronizaciju. Za postavljanje samo putem REST-a pogledajte referencu WooCommerce konektora.
Sama marketinška automatizacija (e-pošta, SMS, WhatsApp putem platforme Brevo i drugih pružatelja) konfigurira se u Taju, a ne u dodatku. Zadaća dodatka jest iz WordPressa iznijeti pouzdane događaje.
Preduvjeti
- WordPress 6.3+ s administratorskim pristupom
- PHP 7.4+
- WooCommerce 7.0+ (dodatak radi i na WordPress web-mjestima bez WooCommercea, adapteri za trgovinu jednostavno ostaju neaktivni)
- Tajo račun s izrađenom WordPress vezom
- HTTPS na Tajo krajnjoj točki (uvijek vrijedi za Tajo u oblaku)
Korak 1: instalirajte dodatak Tajo for WooCommerce
Ručna instalacija
# Download the plugincd wp-content/pluginswget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip
# Verify and unzipunzip tajo-woocommerce-latest.zipZatim ga aktivirajte iz WordPress administracije:
- Otvorite Plugins → Installed Plugins
- Pronađite „Tajo for WooCommerce”
- Kliknite Activate
Zip datoteku možete prenijeti i izravno putem Plugins → Add New → Upload Plugin. Uz svako izdanje objavljuje se SHA-256 kontrolni zbroj na tajo.io/downloads/woocommerce/. Dodatak još nije naveden u WordPress.org direktoriju, ručna instalacija danas je podržani put.
Korak 2: konfigurirajte vezu
Otvorite WooCommerce → Tajo (na web-mjestima bez WooCommercea: Settings → Tajo) i unesite tri vrijednosti iz svoje Tajo WordPress veze:
| Polje | Vrijednost |
|---|---|
| Tajo krajnja točka | HTTPS webhook URL prikazan u Taju, npr. https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement |
| Binding ID | ID povezivanja te veze iz Taja |
| Tajna za potpisivanje | Zajednička tajna (32–256 znakova). Dodatak pri aktivaciji stvara snažnu lokalnu tajnu, zalijepite je u Tajo ili ovdje zalijepite tajnu iz Taja |
Nema API konstanti koje bi trebalo dodati u wp-config.php. Događaji ostaju sigurno u redu čekanja u lokalnom izlaznom spremniku dok sve tri vrijednosti ne budu spremljene.
Zatim provjerite cijeli put od početka do kraja:
- Kliknite Queue test event, zatim Process now.
- U tablici izlaznog spremnika događaj bi se trebao prikazati kao isporučen.
- U Taju potvrdite da je događaj
connection.teststigao na WordPress vezu.
Što dodatak šalje
Svaki je događaj sažeta omotnica sa što manje osobnih podataka, potpisana s HMAC-SHA256. Iz WordPressa izlaze samo identifikacijska polja za angažman (adresa e-pošte, telefon, lokalni ID) te ograničeni metapodaci događaja, nikad imena, poštanske adrese, IP adrese, korisnički agenti, sadržaj komentara, proizvoljna polja obrazaca, bilješke uz narudžbe ni podaci o plaćanju.
WooCommerce događaji
| Hook | Događaj |
|---|---|
woocommerce_created_customer / woocommerce_update_customer | customer.created / customer.updated |
woocommerce_new_product / woocommerce_update_product | product.created / product.updated |
woocommerce_add_to_cart, uklanjanje stavke, primjena/uklanjanje kupona | cart.updated (sa sažetkom košarice za tijekove za napuštene košarice) |
woocommerce_cart_emptied | cart.emptied |
woocommerce_new_order / woocommerce_update_order | order.placed / order.updated |
woocommerce_order_status_changed | order.status_changed (uz order.fulfilled po dovršetku) |
woocommerce_payment_complete | order.paid |
woocommerce_order_refunded | refund.created |
| Promjene statusa u dodatku WooCommerce Subscriptions | subscription.status_changed |
Događaji narudžbi nose broj narudžbe, status, valutu, iznose, stavke te gotove URL-ove za recenziju i ponovnu narudžbu, dovoljno za automatizacije nakon kupnje i za povrat kupaca bez dodatnog API poziva.
WordPress događaji
contact.created/contact.updated/contact.deletedza korisničke računecontent.published/content.updated/content.unpublishedza javni sadržajcomment.created/comment.status_changedza komentare posjetitelja i recenzije proizvoda (interne WooCommerce bilješke uz narudžbe, pingbackovi i trackbackovi nikad se ne emitiraju)form.submittedza uspješno poslane obrasce Contact Form 7, WPForms, Gravity Forms i Fluent Forms, izdvajaju se samo tipizirana identifikacijska polja s adresom e-pošte ili telefonom te metapodaci obrasca, a proizvoljna poslana polja se odbacuju
Pouzdanost: izlazni spremnik
Dodatak nikad ne šalje događaje Taju izravno iz učitavanja stranice. Svaki se događaj najprije zapisuje u lokalnu tablicu izlaznog spremnika, a zatim ga WP-Cron isporučuje uz:
- Ograničeno eksponencijalno odgađanje (do 8 pokušaja, uz poštivanje zaglavlja
Retry-After) - Neisporučive poruke i gumb Replay dead letters u administraciji za ponovno slanje jednim klikom
- Ograničenja čuvanja, tako da nedostupna krajnja točka nikad ne može gomilati osobne podatke (isporučeno: 7 dana, u redu čekanja: 30 dana, neisporučivo: 30 dana od zadnje izmjene)
- Idempotentne ID-ove događaja, pa ponovni pokušaji i ponovna slanja nikad ne stvaraju duplikate nizvodno
Ako vaš poslužitelj onemogućuje WP-Cron (DISABLE_WP_CRON), pozivajte wp-cron.php iz pravog rasporeditelja barem jednom u minuti.
Privola se nikad ne pretpostavlja
Izrada računa, plaćanje, kupnja i opći poslani obrasci ne smatraju se marketinškom privolom. Ugrađeni događaji nose prazan popis privola. Za bilježenje izričite privole (primjerice iz označenog polja za newsletter) pošaljite je putem hooka za proširenje:
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' ));Isti hook svakom dodatku ili temi omogućuje slanje vlastitih događaja, sve prolazi kroz isti čistač podataka, izlazni spremnik i potpis.
Korak 3: povijesni uvoz
Događaji u stvarnom vremenu pokrivaju sve od instalacije nadalje. Za povijest koja prethodi dodatku, Tajova WooCommerce REST veza uvozi postojeće kupce, narudžbe, proizvode, kupone, povrate i recenzije, a konfigurira se u cijelosti na strani Taja pomoću WooCommerce REST API ključa (WooCommerce → Settings → Advanced → REST API, pravo čitanja). Pojedinosti potražite u referenci WooCommerce konektora.
Privatnost i GDPR
- Dodatak se registrira u WordPress alate Tools → Export Personal Data i Tools → Erase Personal Data, zadržani događaji izlaznog spremnika za podudarnu adresu e-pošte lokalno se izvoze ili brišu.
- Brisanje i isporuka dijele mutex koji se zatvara pri pogrešci, pa brisanje nikad ne može javiti dovršetak dok je neki paket podataka na putu.
- Lokalno brisanje pokriva samo WordPress izlazni spremnik, za nizvodne podatke pošaljite odgovarajući zahtjev u Taju.
- Deaktivacija zaustavlja isporuku, ali čuva konfiguraciju i događaje u redu čekanja, brisanje dodatka trajno uklanja izlazni spremnik, postavke, tajnu i rasporede.
Kompatibilnost
- HPOS: dodatak izjavljuje kompatibilnost s WooCommerce High-Performance Order Storage i koristi samo CRUD objekte i javne hookove.
- WooCommerce Subscriptions: promjene statusa pretplate bilježe se kad je to proširenje aktivno.
- Multisite: deinstalacija čisti svako web-mjesto u mreži.
Referenca za operativni rad
Otkrivanje između poslužitelja i upravljanje izlaznim spremnikom administratorima su dostupni uz autentifikaciju lozinkom aplikacije:
| Metoda | Ruta | Svrha |
|---|---|---|
GET | /wp-json/tajo/v1/capabilities | Verzija dodatka, prepoznati adapteri, popis događaja, stanje izlaznog spremnika |
GET | /wp-json/tajo/v1/outbox | Brojevi u izlaznom spremniku (paketi podataka nikad se ne izlažu) |
POST | /wp-json/tajo/v1/outbox/process | Odmah obradi jednu seriju |
POST | /wp-json/tajo/v1/outbox/replay | Ponovno pošalji neisporučive poruke |
Rješavanje problema
| Simptom | Uzrok i rješenje |
|---|---|
| Događaji ostaju u stanju „Queued” | Krajnja točka, ID povezivanja ili tajna još nisu spremljeni, isporuka je zaustavljena dok sve troje nije konfigurirano |
| Događaji ostaju u stanju „Retrying” | Tajo krajnja točka nije dostupna s vašeg poslužitelja ili WP-Cron ne radi. Provjerite stupac s pogreškom u tablici izlaznog spremnika i svoje postavke cron-a |
| Gomilaju se neisporučive poruke | Pogreška kod koje se ne pokušava ponovno (obično pogrešan ID povezivanja ili tajna). Ispravite konfiguraciju, zatim pokrenite Replay dead letters |
| „Enter a valid HTTPS Tajo webhook endpoint” | Krajnja točka mora biti HTTPS i bez ugrađenih vjerodajnica |
| Testni je događaj isporučen, ali u Taju nema ničega | Provjerite jeste li zalijepili ID povezivanja iz istog Tajo radnog prostora i veze kojoj krajnja točka pripada |
Sljedeći koraci
- Referenca WooCommerce konektora: REST sinkronizacija, pojedinosti o potpisu webhooka, konfiguracijski ključevi
- Sinkronizacija kupaca: mapiranje WooCommerce kupaca u vaš sustav zapisa
- Konfigurirajte automatizacije za napuštene košarice, poruke nakon kupnje i povrat kupaca u Taju pomoću događaja
cart.updated,order.placediorder.fulfilled