Integrationsguide för WooCommerce
Den här guiden kopplar en WooCommerce-butik till Tajo. Integrationen består av två halvor som samverkar:
- Plugin-programmet Tajo for WooCommerce: fångar engagemangshändelser i realtid (ordrar, varukorgar, återbetalningar, recensioner, formulärinlämningar) inuti WordPress och levererar dem till Tajo via en beständig, signerad utkorg.
- WooCommerce REST-koppling: Tajo läser butikens kunder, ordrar, produkter, rabattkoder, återbetalningar och recensioner för historisk import och löpande synkronisering. Se referensen för WooCommerce-konnektorn för uppsättning med enbart REST.
Själva marknadsautomatiseringen (e-post, SMS, WhatsApp via Brevo och andra leverantörer) konfigureras i Tajo, inte i plugin-programmet. Plugin-programmets uppgift är att få ut tillförlitliga händelser ur WordPress.
Förutsättningar
- WordPress 6.3+ med administratörsbehörighet
- PHP 7.4+
- WooCommerce 7.0+ (plugin-programmet fungerar även på WordPress-webbplatser utan WooCommerce, då ligger handelsadaptrarna helt enkelt inaktiva)
- Tajo-konto med en skapad WordPress-koppling
- HTTPS på Tajo-endpointen (alltid sant för Tajo som molntjänst)
Steg 1: Installera plugin-programmet Tajo for WooCommerce
Manuell installation
# Download the plugincd wp-content/pluginswget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip
# Verify and unzipunzip tajo-woocommerce-latest.zipAktivera det sedan i WordPress-adminet:
- Gå till Plugins → Installed Plugins
- Leta upp “Tajo for WooCommerce”
- Klicka på Activate
Du kan också ladda upp zip-filen direkt via Plugins → Add New → Upload Plugin. En SHA-256-kontrollsumma publiceras tillsammans med varje release på tajo.io/downloads/woocommerce/. Plugin-programmet finns ännu inte i WordPress.org-katalogen; manuell installation är den väg som stöds i dag.
Steg 2: Konfigurera kopplingen
Gå till WooCommerce → Tajo (på webbplatser utan WooCommerce: Settings → Tajo) och ange de tre värdena från din WordPress-koppling i Tajo:
| Fält | Värde |
|---|---|
| Tajo-endpoint | Den HTTPS-webhook-URL som visas i Tajo, till exempel https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement |
| Binding ID | Kopplingens binding ID från Tajo |
| Signeringsnyckel | Den delade hemligheten (32–256 tecken). Plugin-programmet genererar en stark lokal hemlighet vid aktivering; klistra in den i Tajo, eller klistra in Tajos hemlighet här |
Det finns inga API-nyckelkonstanter att lägga till i wp-config.php. Händelser ligger tryggt kvar i den lokala utkorgen tills alla tre värdena är sparade.
Verifiera sedan hela kedjan:
- Klicka på Queue test event och sedan Process now.
- Tabellen för leveransutkorgen ska visa händelsen som levererad.
- Bekräfta i Tajo att händelsen
connection.testkom in på WordPress-kopplingen.
Vad plugin-programmet skickar
Varje händelse är ett kompakt, integritetsminimerat kuvert signerat med HMAC-SHA256. Bara identitetsfält för engagemang (e-post, telefon, lokala ID:n) plus avgränsade händelsemetadata lämnar WordPress, aldrig namn, postadresser, IP-adresser, user agents, kommentarstexter, godtyckliga formulärfält, ordernoteringar eller betalningsuppgifter.
WooCommerce-händelser
| Hook | Händelse |
|---|---|
woocommerce_created_customer / woocommerce_update_customer | customer.created / customer.updated |
woocommerce_new_product / woocommerce_update_product | product.created / product.updated |
woocommerce_add_to_cart, borttagning av rad, tillämpning och borttagning av rabattkod | cart.updated (med varukorgssammanfattning för flöden vid övergivna varukorgar) |
woocommerce_cart_emptied | cart.emptied |
woocommerce_new_order / woocommerce_update_order | order.placed / order.updated |
woocommerce_order_status_changed | order.status_changed (+ order.fulfilled vid slutförande) |
woocommerce_payment_complete | order.paid |
woocommerce_order_refunded | refund.created |
| Statusuppdateringar i WooCommerce Subscriptions | subscription.status_changed |
Orderhändelser bär ordernummer, status, valuta, summor, orderrader och färdiga URL:er för recension och omköp, vilket räcker för automatiseringar efter köp och för återaktivering utan ytterligare API-anrop.
WordPress-händelser
contact.created/contact.updated/contact.deletedför användarkontoncontent.published/content.updated/content.unpublishedför publikt innehållcomment.created/comment.status_changedför besökarkommentarer och produktrecensioner (interna ordernoteringar i WooCommerce, pingbacks och trackbacks skickas aldrig)form.submittedför lyckade inlämningar från Contact Form 7, WPForms, Gravity Forms och Fluent Forms: bara typade identitetsfält för e-post och telefon samt formulärmetadata plockas ut, godtyckliga inskickade fält kastas
Tillförlitlighet: leveransutkorgen
Plugin-programmet skickar aldrig händelser direkt till Tajo från en sidladdning. Varje händelse skrivs först till en lokal utkorgstabell och levereras sedan av WP-Cron med:
- Begränsad exponentiell backoff (upp till 8 försök, med hänsyn till
Retry-After) - Döda brev som du kan skicka om med ett klick via Replay dead letters i adminet
- Lagringsgränser så att en onåbar endpoint aldrig kan samla på sig persondata (levererade: 7 dagar; köade: 30 dagar; döda brev: 30 dagar efter senaste uppdatering)
- Idempotenta händelse-ID:n, så att omförsök och omsändningar aldrig dubblerar något nedströms
Om ditt webbhotell stänger av WP-Cron (DISABLE_WP_CRON) ska du anropa wp-cron.php från en riktig schemaläggare minst en gång i minuten.
Samtycke härleds aldrig
Kontoskapande, kassagång, köp och vanliga formulärinlämningar räknas inte som marknadsföringssamtycke. Inbyggda händelser bär en tom samtyckeslista. För att registrera uttryckligt samtycke (till exempel från en ikryssad nyhetsbrevsruta) skickar du det via tilläggshooken:
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' ));Samma hook låter vilket plugin eller tema som helst skicka egna händelser; allt passerar samma sanering, utkorg och signatur.
Steg 3: Historisk import
Realtidshändelser täcker allt från installationen och framåt. För historiken som ligger före plugin-programmet importerar Tajos WooCommerce REST-koppling befintliga kunder, ordrar, produkter, rabattkoder, återbetalningar och recensioner, konfigurerat helt på Tajo-sidan med en WooCommerce REST API-nyckel (WooCommerce → Settings → Advanced → REST API, läsbehörighet). Se referensen för WooCommerce-konnektorn för detaljer.
Integritet och GDPR
- Plugin-programmet registrerar sig hos WordPress Tools → Export Personal Data och Tools → Erase Personal Data; sparade utkorgshändelser för en matchande e-postadress exporteras eller raderas lokalt.
- Radering och leverans delar ett fail-closed-mutex, så en radering kan aldrig rapportera att den är klar medan en payload är mitt i en sändning.
- Lokal radering omfattar bara WordPress-utkorgen, skicka motsvarande begäran i Tajo för data nedströms.
- Inaktivering pausar leveransen men behåller konfiguration och köade händelser; att ta bort plugin-programmet raderar utkorgen, inställningarna, hemligheten och schemana permanent.
Kompatibilitet
- HPOS: plugin-programmet deklarerar kompatibilitet med WooCommerce High-Performance Order Storage och använder bara CRUD-objekt och publika hooks.
- WooCommerce Subscriptions: statusändringar för prenumerationer fångas när tillägget är aktivt.
- Multisite: avinstallationen städar upp på varje webbplats i nätverket.
Driftreferens
Upptäckt server till server och kontroll av utkorgen är tillgängliga för administratörer via autentisering med Application Password:
| Metod | Route | Syfte |
|---|---|---|
GET | /wp-json/tajo/v1/capabilities | Pluginversion, upptäckta adaptrar, händelseinventering, utkorgens hälsa |
GET | /wp-json/tajo/v1/outbox | Antal i utkorgen (payloads exponeras aldrig) |
POST | /wp-json/tajo/v1/outbox/process | Bearbeta en batch direkt |
POST | /wp-json/tajo/v1/outbox/replay | Skicka om döda brev |
Felsökning
| Symptom | Orsak och åtgärd |
|---|---|
| Händelser står kvar som “Queued” | Endpoint, binding ID eller hemlighet är inte sparade än, leveransen är pausad tills alla tre är konfigurerade |
| Händelser står kvar som “Retrying” | Tajo-endpointen är onåbar från ditt webbhotell, eller så körs inte WP-Cron. Kontrollera felkolumnen i utkorgstabellen och din cron-uppsättning |
| Döda brev samlas på hög | Ett fel som inte går att göra om (oftast fel binding ID eller hemlighet). Åtgärda konfigurationen och klicka sedan på Replay dead letters |
| ”Enter a valid HTTPS Tajo webhook endpoint” | Endpointen måste vara HTTPS utan inbäddade inloggningsuppgifter |
| Testhändelsen levererades men inget syns i Tajo | Kontrollera att du klistrade in binding ID från samma Tajo-arbetsyta och koppling som endpointen tillhör |
Nästa steg
- Referens för WooCommerce-konnektorn: REST-synkronisering, detaljer om webhook-signatur, konfigurationsnycklar
- Kundsynkronisering: mappa WooCommerce-kunder till din huvudkälla för kunddata
- Konfigurera automatiseringar för övergivna varukorgar, efter köp och återaktivering i Tajo med händelserna
cart.updated,order.placedochorder.fulfilled