---
title: "WooCommerce Connector"
description: "Komplet guide til WooCommerce-integration til synkronisering af kunder, ordrer, produkter og kurvhændelser med Brevo via Tajo."
url: https://tajo.io/dk/docs/connectors/ecommerce/woocommerce/
markdown: https://tajo.io/dk/docs/connectors/ecommerce/woocommerce.md
lang: da-DK
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.

# WooCommerce Connector

Connectorstatus: Under udvikling Under opbygning. Endnu ikke verificeret.

| Kildefelt | Destinationsfelt | Eksempelværdi |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Forbind din WooCommerce-butik til Brevo via Tajo for komplet e-handelsdatasynkronisering. Udnyt WooCommerce REST API til at synkronisere kunder, ordrer, produkter og rabatkodedata til målrettede marketingkampagner og automatiserede workflows.

## Oversigt

| Egenskab | Værdi |
| --- | --- |
| **Platform** | WooCommerce (WordPress) |
| **Kategori** | E-handel |
| **Opsætningskompleksitet** | Mellem |
| **Officiel integration** | Nej |
| **Synkroniserede data** | Kunder, ordrer, produkter, rabatkoder |
| **Tilgængelige skills** | 10 |

## Funktioner

- **Kundesynkronisering** - Realtidssynkronisering af kundedata til Brevo-kontakter
- **Ordresporing** - Sporing af hele ordrelivscyklushændelser til flows efter køb
- **Produktkatalogsynkronisering** - Synkronisér produkter og variationer til e-mailanbefalinger
- **Rabatkodehåndtering** - Synkronisér rabatkoder til kampagner
- **Webhook-understøttelse** - Realtidsopdateringer via WooCommerce-webhooks
- **Kurvforladelse** - Spor og genopret forladte kurve
- **Multi-site-understøttelse** - Forbind WordPress multisite WooCommerce-installationer
- **Brugerdefinerede meta-felter** - Knyt WooCommerce-brugerdefinerede meta til Brevo-attributter

## Forudsætninger

Før du begynder, skal du sikre dig, at du har:

1. Et WordPress-site med WooCommerce-plugin installeret og aktiveret
2. WooCommerce REST API aktiveret (Settings > Advanced > REST API)
3. API Consumer Key og Consumer Secret genereret
4. Dit site skal bruge HTTPS til API-autentifikation
5. En Brevo-konto med API-adgang
6. En Tajo-konto med API-legitimationsoplysninger

## Autentifikation

### REST API-nøgler

WooCommerce bruger par af Consumer Key og Consumer Secret til autentifikation. Generér disse i WooCommerce > Settings > Advanced > REST API.

#### OAuth 1.0a (HTTPS-sites)

```bash
curl https://yourstore.com/wp-json/wc/v3/orders \
  -u "consumer_key:consumer_secret"
```

#### Query String-autentifikation (HTTPS)

```bash
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"
```

### Rettighedsniveauer

| Rettighed | Adgang |
| --- | --- |
| **Read** | Se ressourcer kun |
| **Write** | Opret og redigér ressourcer |
| **Read/Write** | Fuld CRUD-adgang |

## Konfiguration

### Grundlæggende opsætning

```yaml
connectors:
  woocommerce:
    enabled: true
    store_url: "https://yourstore.com"
    consumer_key: "ck_your_consumer_key"
    consumer_secret: "cs_your_consumer_secret"
    api_version: "wc/v3"
    verify_ssl: true

    # Data sync options
    sync:
      customers: true
      orders: true
      products: true
      coupons: true

    # Brevo list assignment
    lists:
      all_customers: 50
      buyers: 51
      abandoned_cart: 52
```

### Kundefeltmapping

Knyt WooCommerce-kundefelter til Brevo-attributter:

```yaml
customer_mapping:
  email: email
  first_name: FIRSTNAME
  last_name: LASTNAME
  billing.phone: SMS
  billing.company: COMPANY
  billing.city: CITY
  billing.state: STATE
  billing.country: COUNTRY
  billing.postcode: ZIP

  # E-commerce metrics (computed)
  orders_count: ORDER_COUNT
  total_spent: TOTAL_SPENT
  date_created: SIGNUP_DATE

  # Meta fields
  meta_data.loyalty_points: LOYALTY_POINTS
  meta_data.preferred_category: PREF_CATEGORY
```

### Webhook-konfiguration

Registrér webhooks i WooCommerce > Settings > Advanced > Webhooks:

```yaml
webhooks:
  - topic: "customer.created"
    event: "customer_created"
  - topic: "customer.updated"
    event: "customer_updated"
  - topic: "order.created"
    event: "order_placed"
  - topic: "order.updated"
    event: "order_updated"
  - topic: "order.completed"
    event: "order_fulfilled"
  - topic: "order.refunded"
    event: "order_refunded"
  - topic: "coupon.created"
    event: "coupon_created"
  - topic: "product.created"
    event: "product_added"
  - topic: "product.updated"
    event: "product_updated"
```

## API-endpoints

| Metode | Endpoint | Beskrivelse |
| --- | --- | --- |
| `GET` | `/wc/v3/customers` | Vis kunder |
| `POST` | `/wc/v3/customers` | Opret en kunde |
| `GET` | `/wc/v3/customers/{id}` | Hent en kunde |
| `PUT` | `/wc/v3/customers/{id}` | Opdatér en kunde |
| `GET` | `/wc/v3/orders` | Vis ordrer |
| `POST` | `/wc/v3/orders` | Opret en ordre |
| `GET` | `/wc/v3/orders/{id}` | Hent en ordre |
| `GET` | `/wc/v3/products` | Vis produkter |
| `GET` | `/wc/v3/products/{id}` | Hent et produkt |
| `GET` | `/wc/v3/products/{id}/variations` | Vis produktvariationer |
| `GET` | `/wc/v3/coupons` | Vis rabatkoder |
| `GET` | `/wc/v3/reports/sales` | Hent salgsrapporter |
| `GET` | `/wc/v3/reports/top_sellers` | Hent topsælgere |
| `POST` | `/wc/v3/webhooks` | Opret en webhook |

## Kodeeksempler

### Initialisér WooCommerce-konnektor

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connect WooCommerce store
await tajo.connectors.connect('woocommerce', {
  storeUrl: 'https://yourstore.com',
  consumerKey: process.env.WC_CONSUMER_KEY,
  consumerSecret: process.env.WC_CONSUMER_SECRET
});
```

### Hent og synkronisér kunder

```javascript
// Fetch customers using WooCommerce REST API
const WooCommerce = require('@woocommerce/woocommerce-rest-api').default;

const api = new WooCommerce({
  url: 'https://yourstore.com',
  consumerKey: process.env.WC_CONSUMER_KEY,
  consumerSecret: process.env.WC_CONSUMER_SECRET,
  version: 'wc/v3'
});

// List customers with pagination
const response = await api.get('customers', {
  per_page: 100,
  page: 1,
  orderby: 'registered_date',
  order: 'desc'
});

const customers = response.data;
// [{ id, email, first_name, last_name, billing, shipping, ... }]

// Pagination info from headers
const totalPages = response.headers['x-wp-totalpages'];
const totalItems = response.headers['x-wp-total'];
```

### Håndtér webhook-hændelser

```javascript
// WooCommerce webhook handler
app.post('/webhooks/woocommerce', async (req, res) => {
  const topic = req.headers['x-wc-webhook-topic'];
  const signature = req.headers['x-wc-webhook-signature'];

  // Verify webhook signature
  const expectedSignature = crypto
    .createHmac('sha256', WEBHOOK_SECRET)
    .update(JSON.stringify(req.body))
    .digest('base64');

  if (signature !== expectedSignature) {
    return res.status(401).send('Invalid signature');
  }

  // Forward to Tajo
  await tajo.connectors.handleWebhook('woocommerce', {
    topic,
    payload: req.body
  });

  res.status(200).send('OK');
});
```

### Batch-operationer

```javascript
// Batch create, update, and delete products
const batchResponse = await api.post('products/batch', {
  create: [
    { name: 'New Product', type: 'simple', regular_price: '19.99' }
  ],
  update: [
    { id: 123, regular_price: '24.99' }
  ],
  delete: [456]
});
```

## Ratebegrænsninger

WooCommerce håndhæver ikke selv API-ratebegrænsninger, men den underliggende WordPress-server og hostingudbyder kan pålægge grænser:

| Faktor | Typisk grænse | Detaljer |
| --- | --- | --- |
| **Delt hosting** | 50-100 req/min | Varierer efter host |
| **Managed WP-hosting** | 200-500 req/min | WP Engine, Kinsta m.fl. |
| **Selvhostet** | Ingen hård grænse | Begrænset af serverressourcer |
| **Per side** | 100 poster maks. | Standard er 10 |
| **Batch-operationer** | 100 elementer/batch | Opret, opdatér eller slet |

Serverperformance

Store WooCommerce-butikker kan opleve langsomme API-svar. Brug paginering, begræns felter med `_fields`-parameteren, og planlæg store synkroniseringer uden for spidsbelastningstimer.

## Fejlfinding

| Problem | Årsag | Løsning |
| --- | --- | --- |
| `401 Unauthorized` | Ugyldige API-nøgler | Regenerér Consumer Key/Secret i WooCommerce-indstillinger |
| `403 Forbidden` | Utilstrækkelige rettigheder | Sæt API-nøgle til Read/Write-adgang |
| SSL-certifikatfejl | Ugyldig SSL på site | Sørg for gyldigt SSL-certifikat; sæt `verify_ssl: false` kun til test |
| Webhooks aktiveres ikke | WordPress-cron deaktiveret | Aktivér WP-Cron, eller konfigurér cron på serverniveau |
| Langsomme API-svar | Stor database | Optimér WordPress-database, brug `_fields`-parameteren |
| Manglende brugerdefinerede felter | Metadata ikke eksponeret | Brug `meta_data`-feltet til at tilgå brugerdefinerede meta |
| Pagineringsproblemer | Standard-sidestørrelse | Sæt eksplicit `per_page`-parameter (maks. 100) |

## Best practices

1. **Brug webhooks til realtidssynkronisering** - Konfigurér WooCommerce-webhooks i stedet for polling af API’et
2. **Verificér webhook-signaturer** - Validér altid headeren `X-WC-Webhook-Signature`
3. **Paginér alle listeforespørgsler** - Brug `page`- og `per_page`-parametre; tjek `X-WP-TotalPages`-header
4. **Brug `_fields`-parameteren** - Anmod kun om nødvendige felter for at reducere svarstørrelse og forbedre performance
5. **Batch-operationer** - Brug batch-endpoints til massevis oprettelse/opdatering/sletning (op til 100 elementer)
6. **Planlæg store synkroniseringer** - Kør indledende fulde synkroniseringer uden for spidsbelastningstimer for at undgå serverbelastning
7. **Aktivér HTTPS** - WooCommerce API kræver HTTPS til OAuth-autentifikation

## Sikkerhed

- **OAuth 1.0a** - Sikker autentifikation via par af Consumer Key/Secret
- **HMAC webhook-signaturer** - SHA-256-signaturverifikation for indgående webhooks
- **HTTPS påkrævet** - API’et kræver TLS-kryptering til autentifikation
- **Rettighedsscoping** - API-nøgler kan sættes til Read, Write eller Read/Write
- **WordPress-sikkerhed** - Drager fordel af WordPress-kerne-sikkerhedsopdateringer
- **PCI-overvejelser** - Betalingsdata håndteres af WooCommerce-betalingsgateways, ikke eksponeret via API

## Relaterede ressourcer

- [Shopify Connector](https://tajo.io/dk/docs/connectors/ecommerce/shopify)
- [BigCommerce Connector](https://tajo.io/dk/docs/connectors/ecommerce/bigcommerce)
- [Customer Sync Skill](https://tajo.io/dk/docs/skills/data-sync/customer-sync)
- [Abandoned Cart Skill](https://tajo.io/dk/docs/skills/email-marketing/abandoned-cart)
