WooCommerce Connector

WooCommerce Connector

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

EgenskabVærdi
PlatformWooCommerce (WordPress)
KategoriE-handel
OpsætningskompleksitetMellem
Officiel integrationNej
Synkroniserede dataKunder, ordrer, produkter, rabatkoder
Tilgængelige skills10

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)

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

Query String-autentifikation (HTTPS)

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

Rettighedsniveauer

RettighedAdgang
ReadSe ressourcer kun
WriteOpret og redigér ressourcer
Read/WriteFuld CRUD-adgang

Konfiguration

Grundlæggende opsætning

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:

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:

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

MetodeEndpointBeskrivelse
GET/wc/v3/customersVis kunder
POST/wc/v3/customersOpret en kunde
GET/wc/v3/customers/{id}Hent en kunde
PUT/wc/v3/customers/{id}Opdatér en kunde
GET/wc/v3/ordersVis ordrer
POST/wc/v3/ordersOpret en ordre
GET/wc/v3/orders/{id}Hent en ordre
GET/wc/v3/productsVis produkter
GET/wc/v3/products/{id}Hent et produkt
GET/wc/v3/products/{id}/variationsVis produktvariationer
GET/wc/v3/couponsVis rabatkoder
GET/wc/v3/reports/salesHent salgsrapporter
GET/wc/v3/reports/top_sellersHent topsælgere
POST/wc/v3/webhooksOpret en webhook

Kodeeksempler

Initialisér WooCommerce-konnektor

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

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

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

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

FaktorTypisk grænseDetaljer
Delt hosting50-100 req/minVarierer efter host
Managed WP-hosting200-500 req/minWP Engine, Kinsta m.fl.
SelvhostetIngen hård grænseBegrænset af serverressourcer
Per side100 poster maks.Standard er 10
Batch-operationer100 elementer/batchOpret, 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ÅrsagLøsning
401 UnauthorizedUgyldige API-nøglerRegenerér Consumer Key/Secret i WooCommerce-indstillinger
403 ForbiddenUtilstrækkelige rettighederSæt API-nøgle til Read/Write-adgang
SSL-certifikatfejlUgyldig SSL på siteSørg for gyldigt SSL-certifikat; sæt verify_ssl: false kun til test
Webhooks aktiveres ikkeWordPress-cron deaktiveretAktivér WP-Cron, eller konfigurér cron på serverniveau
Langsomme API-svarStor databaseOptimér WordPress-database, brug _fields-parameteren
Manglende brugerdefinerede felterMetadata ikke eksponeretBrug meta_data-feltet til at tilgå brugerdefinerede meta
PagineringsproblemerStandard-sidestørrelseSæ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

Subscribe to updates

developer-docs

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

AI-assistent

Hej! Spørg mig om dokumentationen.

Start gratis med Brevo