WooCommerce-Connector

WooCommerce-Connector

Verbinde deinen WooCommerce-Shop mit Brevo über Tajo für eine vollständige Synchronisation deiner E-Commerce-Daten. Nutze die WooCommerce-REST-API, um Kund:innen, Bestellungen, Produkte und Gutscheindaten für zielgerichtete Marketingkampagnen und automatisierte Workflows zu synchronisieren.

Überblick

EigenschaftWert
PlattformWooCommerce (WordPress)
KategorieE-Commerce
EinrichtungsaufwandMittel
Offizielle IntegrationNein
Synchronisierte DatenKund:innen, Bestellungen, Produkte, Gutscheine
Verfügbare Skills10

Funktionen

  • Kundendaten-Synchronisation – Echtzeit-Synchronisation von Kundendaten mit Brevo-Kontakten
  • Bestellverfolgung – Vollständiges Lifecycle-Event-Tracking für Post-Purchase-Flows
  • Produktkatalog-Synchronisation – Synchronisiere Produkte und Variationen für E-Mail-Empfehlungen
  • Gutschein-Management – Synchronisiere Gutscheincodes für Promo-Kampagnen
  • Webhook-Unterstützung – Echtzeit-Updates über WooCommerce-Webhooks
  • Warenkorb-Abandonment – Abgebrochene Warenkörbe verfolgen und reaktivieren
  • Multi-Site-Unterstützung – Verbinde WordPress-Multisite-WooCommerce-Installationen
  • Benutzerdefinierte Meta-Felder – Mappe WooCommerce-Custom-Meta auf Brevo-Attribute

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

  1. Eine WordPress-Site mit installiertem und aktiviertem WooCommerce-Plugin
  2. Aktivierte WooCommerce-REST-API (Settings > Advanced > REST API)
  3. Generierte Consumer-Key- und Consumer-Secret-API-Zugangsdaten
  4. Deine Site muss HTTPS für die API-Authentifizierung verwenden
  5. Einen Brevo-Account mit API-Zugang
  6. Einen Tajo-Account mit API-Zugangsdaten

Authentifizierung

REST-API-Schlüssel

WooCommerce verwendet Consumer-Key- und Consumer-Secret-Paare für die Authentifizierung. Generiere diese unter WooCommerce > Settings > Advanced > REST API.

OAuth 1.0a (HTTPS-Sites)

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

Query-String-Authentifizierung (HTTPS)

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

Berechtigungsstufen

BerechtigungZugriff
ReadNur Ressourcen ansehen
WriteRessourcen erstellen und bearbeiten
Read/WriteVoller CRUD-Zugriff

Konfiguration

Grundlegende Einrichtung

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

Kundenfeld-Mapping

Mappe WooCommerce-Kundenfelder auf Brevo-Attribute:

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

Registriere Webhooks unter WooCommerce > Settings > Advanced > Webhooks:

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

MethodeEndpointBeschreibung
GET/wc/v3/customersKund:innen auflisten
POST/wc/v3/customersKund:in anlegen
GET/wc/v3/customers/{id}Kund:in abrufen
PUT/wc/v3/customers/{id}Kund:in aktualisieren
GET/wc/v3/ordersBestellungen auflisten
POST/wc/v3/ordersBestellung anlegen
GET/wc/v3/orders/{id}Bestellung abrufen
GET/wc/v3/productsProdukte auflisten
GET/wc/v3/products/{id}Produkt abrufen
GET/wc/v3/products/{id}/variationsProduktvariationen auflisten
GET/wc/v3/couponsGutscheine auflisten
GET/wc/v3/reports/salesUmsatzberichte abrufen
GET/wc/v3/reports/top_sellersTop-Seller abrufen
POST/wc/v3/webhooksWebhook anlegen

Code-Beispiele

WooCommerce-Connector initialisieren

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
});

Kund:innen abrufen und synchronisieren

// 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'];

Webhook-Events verarbeiten

// 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-Operationen

// 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]
});

Rate Limits

WooCommerce selbst erzwingt keine API-Rate-Limits, der zugrunde liegende WordPress-Server und der Hosting-Provider können jedoch Limits festlegen:

FaktorTypisches LimitDetails
Shared Hosting50–100 Req./Min.Variiert je nach Hoster
Managed WP Hosting200–500 Req./Min.WP Engine, Kinsta usw.
Self-HostedKein hartes LimitDurch Server-Ressourcen begrenzt
Pro SeiteMax. 100 DatensätzeStandard ist 10
Batch-Operationen100 Items/BatchCreate, Update oder Delete

Server-Performance

Große WooCommerce-Shops können langsame API-Antworten erleben. Nutze Pagination, beschränke Felder mit dem _fields-Parameter und plane Massensynchronisationen außerhalb der Stoßzeiten.

Fehlerbehebung

ProblemUrsacheLösung
401 UnauthorizedUngültige API-SchlüsselConsumer Key/Secret in den WooCommerce-Einstellungen neu generieren
403 ForbiddenUnzureichende BerechtigungenAPI-Schlüssel auf Read/Write-Zugriff setzen
SSL-Zertifikat-FehlerUngültiges SSL auf der SiteGültiges SSL-Zertifikat sicherstellen; verify_ssl: false nur zum Testen setzen
Webhooks werden nicht ausgelöstWordPress-Cron deaktiviertWP-Cron aktivieren oder serverseitigen Cron konfigurieren
Langsame API-AntwortenGroße DatenbankWordPress-Datenbank optimieren, _fields-Parameter nutzen
Benutzerdefinierte Felder fehlenMeta-Daten nicht exponiertmeta_data-Feld zum Zugriff auf Custom-Meta verwenden
Pagination-ProblemeStandard-SeitengrößeParameter per_page explizit setzen (max. 100)

Best Practices

  1. Webhooks für Echtzeit-Synchronisation nutzen – Konfiguriere WooCommerce-Webhooks statt die API zu pollen
  2. Webhook-Signaturen verifizieren – Validiere immer den Header X-WC-Webhook-Signature
  3. Alle List-Requests paginieren – Nutze die Parameter page und per_page; prüfe den Header X-WP-TotalPages
  4. _fields-Parameter verwenden – Frage nur benötigte Felder ab, um Response-Größe zu reduzieren und Performance zu verbessern
  5. Batch-Operationen – Nutze Batch-Endpoints für Bulk-Create-/Update-/Delete-Operationen (bis zu 100 Items)
  6. Große Synchronisationen planen – Führe Erst-Vollsynchronisationen außerhalb der Stoßzeiten aus, um den Server zu entlasten
  7. HTTPS aktivieren – Die WooCommerce-API verlangt HTTPS für die OAuth-Authentifizierung

Sicherheit

  • OAuth 1.0a – Sichere Authentifizierung via Consumer-Key-/Secret-Paare
  • HMAC-Webhook-Signaturen – SHA-256-Signatur-Verifizierung für eingehende Webhooks
  • HTTPS erforderlich – API verlangt TLS-Verschlüsselung für die Authentifizierung
  • Berechtigungs-Scoping – API-Schlüssel können auf Read, Write oder Read/Write gesetzt werden
  • WordPress-Sicherheit – Profitiert von den Security-Updates des WordPress-Cores
  • PCI-Überlegungen – Zahlungsdaten werden von den WooCommerce-Zahlungs-Gateways verarbeitet und nicht über die API exponiert

Verwandte Ressourcen

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.

Kostenlos mit Brevo starten