---
title: "Guide til WooCommerce-integration | Tajo"
description: "Forbind din WooCommerce-butik til Tajo med pluginnet Tajo for WooCommerce: engagementhændelser, robust levering og kundedata med minimeret persondata. Under udvikling, endnu ikke verificeret end-to-end."
url: https://tajo.io/dk/docs/ecommerce-platforms/woocommerce/
markdown: https://tajo.io/dk/docs/ecommerce-platforms/woocommerce.md
lang: da-DK
author: "Set Noa"
author_url: https://tajo.io/dk/set-noa/
robots: noindex
---

Bed om tidlig adgang til Tajo

Indtast dit fornavn og din arbejds-e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

# Guide til WooCommerce-integration

[Set Noa](https://tajo.io/dk/set-noa/)

Denne guide forbinder en WooCommerce-butik til Tajo. Integrationen har to halvdele, der arbejder sammen:

- **Pluginnet Tajo for WooCommerce** fanger engagementhændelser (ordrer, kurve, refusioner, anmeldelser, formularindsendelser) inde i WordPress, når de sker, og leverer dem til Tajo gennem en robust, signeret outbox. Den 14. oktober 2026 blev pluginnet testet på et lokalt site; levering ind i Tajo er endnu ikke verificeret.
- **WooCommerce REST-forbindelsen** lader Tajo læse din butiks kunder, ordrer, produkter, rabatkoder, refusioner og anmeldelser til historisk import og løbende synkronisering. Se [referencen for WooCommerce-connectoren](https://tajo.io/dk/docs/connectors/ecommerce/woocommerce/) for opsætningen med REST alene.

Selve marketingautomatiseringen (e-mail, SMS, WhatsApp via Brevo og andre udbydere) sættes op i Tajo, ikke i pluginnet. Pluginnets opgave er at få pålidelige hændelser ud af WordPress.

## Forudsætninger

- **WordPress 6.3+** med admin-adgang
- **PHP 7.4+**
- **WooCommerce 7.0+** (pluginnet virker også på WordPress-sites uden WooCommerce, hvor commerce-adapterne blot forbliver inaktive)
- **Tajo-konto** med en oprettet WordPress-forbindelse
- HTTPS på Tajo-endpointet (altid opfyldt for hostet Tajo)

## Trin 1: Installer pluginnet Tajo for WooCommerce

### Manuel installation

```bash
# Download the plugin
cd wp-content/plugins
wget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip

# Verify and unzip
unzip tajo-woocommerce-latest.zip
```

Aktivér det derefter fra WordPress-administrationen:

1. Gå til **Plugins → Installed Plugins**
2. Find “Tajo for WooCommerce”
3. Klik på **Activate**

Du kan også uploade zip-filen direkte via **Plugins → Add New → Upload Plugin**. Der offentliggøres en SHA-256-kontrolsum sammen med hver udgivelse på [tajo.io/downloads/woocommerce/](https://tajo.io/downloads/woocommerce/tajo-woocommerce-1.0.0.zip.sha256). Pluginnet er endnu ikke opført i kataloget på WordPress.org; manuel installation er den understøttede vej i dag.

## Trin 2: Konfigurer forbindelsen

Gå til **WooCommerce → Tajo** (på sites uden WooCommerce: **Settings → Tajo**), og indtast de tre værdier fra din Tajo-WordPress-forbindelse:

| Felt | Værdi |
| --- | --- |
| **Tajo-endpoint** | Den HTTPS-webhook-URL, der vises i Tajo, f.eks. `https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement` |
| **Binding-ID** | Forbindelsens binding-ID fra Tajo |
| **Signeringsnøgle** | Den delte hemmelighed (32-256 tegn). Pluginnet danner en stærk lokal nøgle ved aktivering; indsæt den i Tajo, eller indsæt Tajos nøgle her |

Der er ingen API-nøglekonstanter, du skal tilføje i `wp-config.php`. Hændelser står trygt i kø i den lokale outbox, indtil alle tre værdier er gemt.

Kontrollér derefter hele kæden fra ende til anden:

1. Klik på **Queue test event** og derefter på **Process now**.
2. Tabellen over leverings-outboxen bør vise hændelsen som leveret.
3. Bekræft i Tajo, at hændelsen `connection.test` er ankommet på WordPress-forbindelsen.

## Hvad pluginnet sender

Hver hændelse er en kompakt konvolut med minimeret persondata, signeret med HMAC-SHA256. Kun identitetsfelter til engagement (e-mail, telefon, lokale ID’er) plus afgrænsede hændelsesmetadata forlader WordPress, aldrig navne, postadresser, IP-adresser, user agents, kommentartekster, vilkårlige formularfelter, ordrenoter eller betalingsoplysninger.

### 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`, fjernelse af vare, tilføjelse/fjernelse af rabatkode | `cart.updated` (med kurvoversigt til flows for forladte kurve) |
| `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 gennemførelse) |
| `woocommerce_payment_complete` | `order.paid` |
| `woocommerce_order_refunded` | `refund.created` |
| Statusopdateringer fra WooCommerce Subscriptions | `subscription.status_changed` |

Ordrehændelser indeholder ordrenummer, status, valuta, totaler, ordrelinjer og klar-til-brug-URL’er til anmeldelse og genbestilling, nok til automatiseringer efter køb og til win-back uden et opfølgende API-kald.

### WordPress-hændelser

- `contact.created` / `contact.updated` / `contact.deleted` for brugerkonti
- `content.published` / `content.updated` / `content.unpublished` for offentligt indhold
- `comment.created` / `comment.status_changed` for besøgendes kommentarer og produktanmeldelser (interne WooCommerce-ordrenoter, pingbacks og trackbacks udsendes aldrig)
- `form.submitted` for gennemførte indsendelser fra **Contact Form 7**, **WPForms**, **Gravity Forms** og **Fluent Forms**, hvor kun typede identitetsfelter med e-mail og telefon samt formularmetadata udtrækkes; vilkårlige indsendte felter kasseres

## Pålidelighed: leverings-outboxen

Pluginnet sender aldrig hændelser til Tajo direkte fra en sideindlæsning. Hver hændelse skrives først til en lokal outbox-tabel og leveres derefter af WP-Cron med:

- Afgrænset eksponentiel backoff (op til 8 forsøg, med respekt for `Retry-After`)
- Dead letters med **Replay dead letters** i administrationen med ét klik
- Opbevaringsgrænser, så et endpoint, der ikke kan nås, aldrig kan hobe persondata op (leveret: 7 dage; i kø: 30 dage; dead letters: 30 dage efter seneste opdatering)
- Idempotente hændelses-ID’er, så nye forsøg og replays aldrig giver dubletter længere nede i kæden

Hvis din hostingudbyder slår WP-Cron fra (`DISABLE_WP_CRON`), skal du kalde `wp-cron.php` fra en rigtig scheduler mindst én gang i minuttet.

## Samtykke udledes aldrig

Oprettelse af konto, checkout, køb og almindelige formularindsendelser behandles **ikke** som marketingsamtykke. Indbyggede hændelser bærer en tom samtykkeliste. Vil du registrere udtrykkeligt samtykke (for eksempel fra et afkrydset felt om nyhedsbrev), skal du sende det via udvidelses-hooket:

```php
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' )
);
```

Det samme hook lader ethvert plugin eller tema udsende egne hændelser; alt passerer gennem den samme sanitizer, den samme outbox og den samme signatur.

## Trin 3: Historisk import

Pluginnets hændelser dækker alt fra installationen og frem. Historikken fra før pluginnet henter Tajos WooCommerce REST-forbindelse ind: eksisterende kunder, ordrer, produkter, rabatkoder, refusioner og anmeldelser, sat op udelukkende på Tajo-siden med en WooCommerce REST API-nøgle (**WooCommerce → Settings → Advanced → REST API**, læserettighed). Se [referencen for WooCommerce-connectoren](https://tajo.io/dk/docs/connectors/ecommerce/woocommerce/) for detaljer.

## Privatliv og GDPR

- Pluginnet registrerer sig i WordPress under **Tools → Export Personal Data** og **Tools → Erase Personal Data**; gemte outbox-hændelser for en matchende e-mail eksporteres eller slettes lokalt.
- Sletning og levering deler en fail-closed-mutex, så en sletning aldrig kan meldes gennemført, mens en payload er undervejs.
- Lokal sletning dækker kun WordPress-outboxen, indsend den tilsvarende anmodning i Tajo for data længere nede i kæden.
- Deaktivering sætter leveringen på pause, men bevarer konfiguration og hændelser i kø; **sletter** du pluginnet, fjernes outbox, indstillinger, nøgle og planlagte kørsler permanent.

## Kompatibilitet

- **HPOS**: pluginnet erklærer kompatibilitet med WooCommerce High-Performance Order Storage og bruger kun CRUD-objekter og offentlige hooks.
- **WooCommerce Subscriptions**: ændringer i abonnementsstatus opfanges, når udvidelsen er aktiv.
- **Multisite**: afinstallation rydder op på alle sites i netværket.

## Driftsreference

Server-til-server-opdagelse og styring af outboxen er tilgængelig for administratorer via godkendelse med Application Password:

| Metode | Rute | Formål |
| --- | --- | --- |
| `GET` | `/wp-json/tajo/v1/capabilities` | Pluginversion, fundne adaptere, hændelsesoversigt, outboxens tilstand |
| `GET` | `/wp-json/tajo/v1/outbox` | Antal i outboxen (payloads eksponeres aldrig) |
| `POST` | `/wp-json/tajo/v1/outbox/process` | Behandl en batch med det samme |
| `POST` | `/wp-json/tajo/v1/outbox/replay` | Afspil dead letters igen |

## Fejlfinding

| Symptom | Årsag og løsning |
| --- | --- |
| Hændelser bliver stående som “Queued” | Endpoint, binding-ID eller nøgle er ikke gemt endnu, leveringen er på pause, indtil alle tre er konfigureret |
| Hændelser bliver stående som “Retrying” | Tajo-endpointet kan ikke nås fra din host, eller WP-Cron kører ikke, tjek fejlkolonnen i outbox-tabellen og din cron-opsætning |
| Dead letters hober sig op | En fejl, der ikke kan prøves igen (typisk et forkert binding-ID eller en forkert nøgle), ret konfigurationen, og vælg derefter **Replay dead letters** |
| ”Enter a valid HTTPS Tajo webhook endpoint” | Endpointet skal være HTTPS uden indlejrede loginoplysninger |
| Testhændelse leveret, men intet i Tajo | Kontrollér, at du har indsat binding-ID’et fra det samme Tajo-workspace og den samme forbindelse, som endpointet hører til |

## Næste trin

- [Reference for WooCommerce-connectoren](https://tajo.io/dk/docs/connectors/ecommerce/woocommerce/), REST-synkronisering, detaljer om webhook-signatur, konfigurationsnøgler
- [Kundesynkronisering](https://tajo.io/dk/docs/skills/data-sync/customer-sync/), sådan mapper du WooCommerce-kunder ind i dit primære datasystem
- Sæt automatiseringer for forladte kurve, efter køb og win-back op i Tajo ud fra hændelserne `cart.updated`, `order.placed` og `order.fulfilled`
