Vodič za integraciju sa WooCommerce platformom
Ovaj vodič povezuje WooCommerce prodavnicu sa Tajom. Integracija ima dve polovine koje rade zajedno:
- Plugin Tajo for WooCommerce: hvata događaje angažovanja u realnom vremenu (porudžbine, korpe, povraćaji sredstava, recenzije, poslati formulari) unutar WordPress-a i isporučuje ih Tajou kroz trajan, potpisan outbox red.
- WooCommerce REST veza: Tajo čita kupce, porudžbine, proizvode, kupone, povraćaje sredstava i recenzije iz vaše prodavnice radi istorijskog uvoza i stalne sinhronizacije. Za podešavanje samo preko REST-a pogledajte referencu za WooCommerce konektor.
Sama marketinška automatizacija (imejl, SMS, WhatsApp preko Brevo platforme i drugih provajdera) podešava se u platformi Tajo, ne u pluginu. Posao plugina je da iz WordPress-a izvuče događaje kojima se može verovati.
Preduslovi
- WordPress 6.3+ sa administratorskim pristupom
- PHP 7.4+
- WooCommerce 7.0+ (plugin radi i na WordPress sajtovima bez WooCommerce platforme, pri čemu adapteri za prodaju jednostavno ostaju neaktivni)
- Tajo nalog sa kreiranom WordPress vezom
- HTTPS na Tajo krajnjoj tački (uvek je tako kod hostovanog Taja)
Korak 1: Instalirajte plugin 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:
- Idite na Plugins → Installed Plugins
- Pronađite „Tajo for WooCommerce”
- Kliknite na Activate
Zip možete otpremiti i direktno preko Plugins → Add New → Upload Plugin. Uz svako izdanje objavljuje se SHA-256 kontrolni zbir na adresi tajo.io/downloads/woocommerce/. Plugin još nije naveden u WordPress.org direktorijumu, pa je ručna instalacija danas podržani put.
Korak 2: Podesite vezu
Idite na WooCommerce → Tajo (na sajtovima bez WooCommerce platforme: Settings → Tajo) i unesite tri vrednosti iz svoje Tajo WordPress veze:
| Polje | Vrednost |
|---|---|
| Tajo krajnja tačka | HTTPS webhook adresa prikazana u platformi Tajo, na primer https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement |
| Binding ID | Binding ID vaše veze iz platforme Tajo |
| Tajni ključ za potpisivanje | Deljeni tajni ključ (32 do 256 znakova). Plugin pri aktivaciji generiše jak lokalni ključ; nalepite ga u Tajo ili ovde nalepite ključ iz Taja |
Nema API ključeva koje treba dodavati kao konstante u wp-config.php. Događaji bezbedno čekaju u lokalnom outbox redu dok sve tri vrednosti ne budu sačuvane.
Zatim proverite ceo put od kraja do kraja:
- Kliknite na Queue test event, pa na Process now.
- Tabela outbox reda za isporuku treba da prikaže događaj kao isporučen.
- U platformi Tajo potvrdite da je događaj
connection.teststigao na WordPress vezu.
Šta plugin šalje
Svaki događaj je kompaktna koverta sa minimumom ličnih podataka, potpisana pomoću HMAC-SHA256. WordPress napuštaju samo polja identiteta za angažovanje (imejl, telefon, lokalni ID-jevi) i ograničeni metapodaci o događaju, nikada imena, poštanske adrese, IP adrese, korisnički agenti, tekstovi komentara, proizvoljna polja formulara, napomene uz porudžbinu ili 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, dodavanje ili uklanjanje kupona | cart.updated (sa pregledom korpe za tokove za napuštene korpe) |
woocommerce_cart_emptied | cart.emptied |
woocommerce_new_order / woocommerce_update_order | order.placed / order.updated |
woocommerce_order_status_changed | order.status_changed (+ order.fulfilled po završetku) |
woocommerce_payment_complete | order.paid |
woocommerce_order_refunded | refund.created |
| Promene statusa u WooCommerce Subscriptions | subscription.status_changed |
Događaji o porudžbinama nose broj porudžbine, status, valutu, iznose, stavke i gotove adrese za recenziju i ponovnu porudžbinu, dovoljno za automatizacije posle kupovine i za vraćanje kupaca bez dodatnog API poziva.
WordPress događaji
contact.created/contact.updated/contact.deletedza korisničke nalogecontent.published/content.updated/content.unpublishedza javni sadržajcomment.created/comment.status_changedza komentare posetilaca i recenzije proizvoda (interne WooCommerce napomene uz porudžbinu, pingback-ovi i trackback-ovi se nikada ne šalju)form.submittedza uspešno poslate formulare Contact Form 7, WPForms, Gravity Forms i Fluent Forms, pri čemu se izdvajaju samo tipizovana polja identiteta sa imejlom i telefonom i metapodaci formulara; proizvoljno poslata polja se odbacuju
Pouzdanost: outbox red za isporuku
Plugin nikada ne šalje događaje Tajou direktno iz učitavanja stranice. Svaki događaj se prvo upisuje u lokalnu outbox tabelu, a zatim ga isporučuje WP-Cron uz:
- Ograničeno eksponencijalno odlaganje (do 8 pokušaja, uz poštovanje zaglavlja
Retry-After) - Neisporučene poruke sa opcijom Replay dead letters na jedan klik u administraciji
- Ograničenja čuvanja, tako da nedostupna krajnja tačka nikada ne može da gomila lične podatke (isporučeno: 7 dana; u redu: 30 dana; neisporučeno: 30 dana od poslednje izmene)
- Idempotentne ID-jeve događaja, pa ponovni pokušaji i ponovna slanja nikada ne prave duplikate nizvodno
Ako vaš host onemogući WP-Cron (DISABLE_WP_CRON), pozivajte wp-cron.php iz pravog rasporeda poslova bar jednom u minutu.
Saglasnost se nikada ne pretpostavlja
Kreiranje naloga, naplata, kupovina i slanje običnih formulara ne smatraju se marketinškom saglasnošću. Ugrađeni događaji nose praznu listu saglasnosti. Da biste zabeležili izričitu saglasnost (na primer iz čekiranog polja za newsletter), pošaljite je kroz hook 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 omogućava bilo kom pluginu ili temi da šalje sopstvene događaje; sve prolazi kroz isti mehanizam za čišćenje, isti outbox red i isti potpis.
Korak 3: Istorijski uvoz
Događaji u realnom vremenu pokrivaju sve od instalacije nadalje. Za istoriju koja prethodi pluginu, Tajo WooCommerce REST veza uvozi postojeće kupce, porudžbine, proizvode, kupone, povraćaje sredstava i recenzije, a podešava se u potpunosti na strani Taja pomoću WooCommerce REST API ključa (WooCommerce → Settings → Advanced → REST API, dozvola za čitanje). Detalje pogledajte u referenci za WooCommerce konektor.
Privatnost i GDPR
- Plugin se registruje u WordPress alatima Tools → Export Personal Data i Tools → Erase Personal Data; sačuvani događaji u outbox redu za odgovarajuću imejl adresu izvoze se ili brišu lokalno.
- Brisanje i isporuka dele isti mehanizam zaključavanja koji se zatvara u slučaju greške, pa brisanje nikada ne može da prijavi uspeh dok je paket u toku slanja.
- Lokalno brisanje pokriva samo WordPress outbox red, pa za podatke nizvodno pošaljite odgovarajući zahtev u platformi Tajo.
- Deaktivacija pauzira isporuku, ali čuva konfiguraciju i događaje u redu; brisanje plugina trajno uklanja outbox red, podešavanja, tajni ključ i rasporede poslova.
Kompatibilnost
- HPOS: plugin prijavljuje kompatibilnost sa WooCommerce High-Performance Order Storage i koristi isključivo CRUD objekte i javne hook-ove.
- WooCommerce Subscriptions: promene statusa pretplate se hvataju kada je ekstenzija aktivna.
- Multisite: deinstalacija čisti svaki sajt u mreži.
Referenca za rad sa sistemom
Otkrivanje mogućnosti sa servera na server i upravljanje outbox redom dostupni su administratorima uz autentifikaciju preko Application Password:
| Metoda | Ruta | Namena |
|---|---|---|
GET | /wp-json/tajo/v1/capabilities | Verzija plugina, otkriveni adapteri, spisak događaja, stanje outbox reda |
GET | /wp-json/tajo/v1/outbox | Brojači outbox reda (paketi se nikada ne prikazuju) |
POST | /wp-json/tajo/v1/outbox/process | Odmah obradi grupu |
POST | /wp-json/tajo/v1/outbox/replay | Ponovo pošalji neisporučene poruke |
Rešavanje problema
| Simptom | Uzrok i rešenje |
|---|---|
| Događaji ostaju u statusu „Queued” | Krajnja tačka, binding ID ili tajni ključ još nisu sačuvani, pa je isporuka pauzirana dok sve tri vrednosti ne budu podešene |
| Događaji ostaju u statusu „Retrying” | Tajo krajnja tačka nije dostupna sa vašeg hosta ili WP-Cron ne radi, pa proverite kolonu sa greškama u outbox tabeli i svoje podešavanje rasporeda poslova |
| Gomilaju se neisporučene poruke | Greška koja se ne ponavlja (obično pogrešan binding ID ili tajni ključ), pa ispravite konfiguraciju, a zatim upotrebite Replay dead letters |
| „Enter a valid HTTPS Tajo webhook endpoint” | Krajnja tačka mora biti HTTPS bez ugrađenih akreditiva |
| Testni događaj je isporučen, ali u platformi Tajo nema ničega | Proverite da li ste nalepili binding ID iz istog Tajo radnog prostora i iste veze kojoj krajnja tačka pripada |
Sledeći koraci
- Referenca za WooCommerce konektor: REST sinhronizacija, detalji o potpisu webhook-a, ključevi konfiguracije
- Sinhronizacija kupaca: mapiranje WooCommerce kupaca u vaš sistem evidencije
- Podesite automatizacije za napuštene korpe, poruke posle kupovine i vraćanje kupaca u platformi Tajo pomoću događaja
cart.updated,order.placediorder.fulfilled