Veiledning for WooCommerce-integrasjon
Denne veiledningen kobler en WooCommerce-butikk til Tajo. Integrasjonen består av to halvdeler som jobber sammen:
- Tillegget Tajo for WooCommerce: fanger opp engasjementshendelser i sanntid (ordrer, handlekurver, refusjoner, anmeldelser, skjemainnsendinger) inne i WordPress og leverer dem til Tajo gjennom en holdbar, signert utboks.
- WooCommerce REST-tilkobling: Tajo leser butikkens kunder, ordrer, produkter, rabattkoder, refusjoner og anmeldelser for historisk import og løpende synkronisering. Se referansen for WooCommerce-koblingen for oppsett med kun REST.
Selve markedsautomatiseringen (e-post, SMS, WhatsApp via Brevo og andre leverandører) settes opp i Tajo, ikke i tillegget. Tilleggets oppgave er å få troverdige hendelser ut av WordPress.
Forutsetninger
- WordPress 6.3+ med administratortilgang
- PHP 7.4+
- WooCommerce 7.0+ (tillegget fungerer også på WordPress-nettsteder uten WooCommerce; handelsadapterne holder seg da bare inaktive)
- Tajo-konto med en opprettet WordPress-tilkobling
- HTTPS på Tajo-endepunktet (alltid tilfellet for Tajo som vi drifter)
Trinn 1: Installer tillegget Tajo for WooCommerce
Manuell installasjon
# Download the plugincd wp-content/pluginswget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip
# Verify and unzipunzip tajo-woocommerce-latest.zipAktiver deretter fra WordPress-administrasjonen:
- Gå til Plugins → Installed Plugins
- Finn «Tajo for WooCommerce»
- Klikk Activate
Du kan også laste opp zip-filen direkte via Plugins → Add New → Upload Plugin. En SHA-256-kontrollsum publiseres sammen med hver utgivelse på tajo.io/downloads/woocommerce/. Tillegget er ennå ikke oppført i katalogen på WordPress.org; manuell installasjon er den støttede veien i dag.
Trinn 2: Konfigurer tilkoblingen
Gå til WooCommerce → Tajo (på nettsteder uten WooCommerce: Settings → Tajo) og fyll inn de tre verdiene fra WordPress-tilkoblingen din i Tajo:
| Felt | Verdi |
|---|---|
| Tajo-endepunkt | HTTPS-webhook-URL-en som vises i Tajo, for eksempel https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement |
| Binding-ID | Tilkoblingens binding-ID fra Tajo |
| Signeringshemmelighet | Den delte hemmeligheten (32 til 256 tegn). Tillegget genererer en sterk lokal hemmelighet ved aktivering; lim den inn i Tajo, eller lim inn hemmeligheten fra Tajo her |
Det finnes ingen API-nøkkelkonstanter å legge til i wp-config.php. Hendelsene ligger trygt i kø i den lokale utboksen til alle tre verdiene er lagret.
Verifiser deretter hele røret fra ende til ende:
- Klikk Queue test event, og deretter Process now.
- Leveringstabellen for utboksen skal vise hendelsen som levert.
- I Tajo bekrefter du at hendelsen
connection.testkom frem på WordPress-tilkoblingen.
Hva tillegget sender
Hver hendelse er en kompakt, personvernminimert konvolutt signert med HMAC-SHA256. Bare identitetsfelter for engasjement (e-post, telefon, lokale ID-er) pluss avgrensede hendelsesmetadata forlater WordPress, aldri navn, postadresser, IP-adresser, user agents, kommentartekster, vilkårlige skjemafelter, ordrenotater eller betalingsdetaljer.
WooCommerce-hendelser
| Hook | Hendelse |
|---|---|
woocommerce_created_customer / woocommerce_update_customer | customer.created / customer.updated |
woocommerce_new_product / woocommerce_update_product | product.created / product.updated |
woocommerce_add_to_cart, fjerning av vare, bruk eller fjerning av rabattkode | cart.updated (med sammendrag av handlekurven for flyter mot forlatte kurver) |
woocommerce_cart_emptied | cart.emptied |
woocommerce_new_order / woocommerce_update_order | order.placed / order.updated |
woocommerce_order_status_changed | order.status_changed (+ order.fulfilled ved fullføring) |
woocommerce_payment_complete | order.paid |
woocommerce_order_refunded | refund.created |
| Statusoppdateringer i WooCommerce Subscriptions | subscription.status_changed |
Ordrehendelser bærer ordrenummer, status, valuta, totaler, ordrelinjer og ferdige URL-er for anmeldelse og gjenbestilling, nok til automatiseringer etter kjøp og win-back uten et oppfølgende API-kall.
WordPress-hendelser
contact.created/contact.updated/contact.deletedfor brukerkontoercontent.published/content.updated/content.unpublishedfor offentlig innholdcomment.created/comment.status_changedfor kommentarer fra besøkende og produktanmeldelser (interne ordrenotater i WooCommerce, pingbacks og trackbacks sendes aldri)form.submittedfor vellykkede innsendinger fra Contact Form 7, WPForms, Gravity Forms og Fluent Forms: bare typede identitetsfelter for e-post og telefon samt skjemametadata hentes ut; vilkårlige innsendte felter forkastes
Pålitelighet: leveringsutboksen
Tillegget fyrer aldri hendelser mot Tajo direkte fra en sidevisning. Hver hendelse skrives først til en lokal utbokstabell, og leveres deretter av WP-Cron med:
- Avgrenset eksponentiell backoff (opptil 8 forsøk, med respekt for
Retry-After) - Dead letters med ett klikk på Replay dead letters i administrasjonen
- Oppbevaringsgrenser, slik at et utilgjengelig endepunkt aldri kan hamstre persondata (levert: 7 dager; i kø: 30 dager; dead letters: 30 dager etter siste oppdatering)
- Idempotente hendelses-ID-er, slik at nye forsøk og replays aldri dupliserer nedstrøms
Hvis leverandøren din slår av WP-Cron (DISABLE_WP_CRON), må du kalle wp-cron.php fra en ekte planlegger minst én gang i minuttet.
Samtykke utledes aldri
Kontoopprettelse, checkout, kjøp og vanlige skjemainnsendinger regnes ikke som markedsføringssamtykke. Innebygde hendelser bærer en tom samtykkeliste. For å registrere uttrykkelig samtykke (for eksempel fra en avkrysset nyhetsbrevboks) sender du det gjennom utvidelseshooken:
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' ));Den samme hooken lar hvilket som helst tillegg eller tema sende egendefinerte hendelser; alt går gjennom den samme saneringen, den samme utboksen og den samme signaturen.
Trinn 3: Historisk import
Sanntidshendelser dekker alt fra installasjonen og fremover. For historikken som ligger før tillegget, importerer Tajos WooCommerce REST-tilkobling eksisterende kunder, ordrer, produkter, rabattkoder, refusjoner og anmeldelser, konfigurert utelukkende på Tajo-siden med en WooCommerce REST API-nøkkel (WooCommerce → Settings → Advanced → REST API, lesetillatelse). Se referansen for WooCommerce-koblingen for detaljer.
Personvern og GDPR
- Tillegget registrerer seg hos WordPress under Tools → Export Personal Data og Tools → Erase Personal Data; lagrede utbokshendelser for en e-postadresse som treffer, eksporteres eller slettes lokalt.
- Sletting og levering deler en fail-closed mutex, slik at en sletting aldri kan melde seg ferdig mens en payload er midt i sendingen.
- Lokal sletting dekker bare utboksen i WordPress: send den tilsvarende forespørselen i Tajo for data nedstrøms.
- Deaktivering setter leveringen på pause, men beholder konfigurasjon og hendelser i kø; å slette tillegget fjerner utboksen, innstillingene, hemmeligheten og planleggingene permanent.
Kompatibilitet
- HPOS: tillegget erklærer kompatibilitet med WooCommerce High-Performance Order Storage og bruker bare CRUD-objekter og offentlige hooks.
- WooCommerce Subscriptions: statusendringer på abonnementer fanges opp når utvidelsen er aktiv.
- Multisite: avinstallering rydder opp på hvert eneste nettsted i nettverket.
Operasjonsreferanse
Oppdagelse fra server til server og styring av utboksen er tilgjengelig for administratorer via autentisering med Application Password:
| Metode | Rute | Formål |
|---|---|---|
GET | /wp-json/tajo/v1/capabilities | Tilleggets versjon, oppdagede adaptere, hendelsesoversikt, helsen til utboksen |
GET | /wp-json/tajo/v1/outbox | Antall i utboksen (payloads eksponeres aldri) |
POST | /wp-json/tajo/v1/outbox/process | Behandle en batch umiddelbart |
POST | /wp-json/tajo/v1/outbox/replay | Spill av dead letters på nytt |
Feilsøking
| Symptom | Årsak og løsning |
|---|---|
| Hendelser blir stående som «Queued» | Endepunkt, binding-ID eller hemmelighet er ikke lagret ennå: leveringen står på pause til alle tre er konfigurert |
| Hendelser blir stående som «Retrying» | Tajo-endepunktet er ikke tilgjengelig fra serveren din, eller WP-Cron kjører ikke: sjekk feilkolonnen i utbokstabellen og cron-oppsettet ditt |
| Dead letters hoper seg opp | En feil som ikke kan prøves på nytt (som regel feil binding-ID eller hemmelighet): rett konfigurasjonen, og velg deretter Replay dead letters |
| «Enter a valid HTTPS Tajo webhook endpoint» | Endepunktet må være HTTPS uten innebygde påloggingsdetaljer |
| Testhendelsen ble levert, men ingenting dukker opp i Tajo | Sjekk at du limte inn binding-ID-en fra det samme Tajo-arbeidsområdet og den samme tilkoblingen som endepunktet hører til |
Neste steg
- Referanse for WooCommerce-koblingen: REST-synkronisering, detaljer om webhook-signatur, konfigurasjonsnøkler
- Kundesynkronisering: hvordan WooCommerce-kunder kartlegges inn i kildesystemet ditt
- Sett opp automatiseringer for forlatte handlekurver, etter kjøp og win-back i Tajo ved hjelp av hendelsene
cart.updated,order.placedogorder.fulfilled