WooCommerce-koppling

WooCommerce-koppling

Anslut din WooCommerce-butik till Brevo via Tajo för komplett synkronisering av e-handelsdata. Utnyttja WooCommerce REST API för att synka kunder, ordrar, produkter och rabattkoder för målinriktade marknadsföringskampanjer och automatiserade flöden.

Översikt

EgenskapVärde
PlattformWooCommerce (WordPress)
KategoriE-handel
InstallationskomplexitetMedel
Officiell integrationNej
Data som synkasKunder, ordrar, produkter, rabattkoder
Tillgängliga skills10

Funktioner

  • Kundsynk - Synkronisering av kunddata till Brevo-kontakter i realtid
  • Orderspårning - Spårning av hela orderns livscykel för flöden efter köp
  • Synk av produktkatalog - Synka produkter och varianter för e-postrekommendationer
  • Hantering av rabattkoder - Synka rabattkoder för kampanjer
  • Webhook-stöd - Uppdateringar i realtid via WooCommerce-webhooks
  • Övergivna kundvagnar - Spåra och återvinn övergivna kundvagnar
  • Flersidigt stöd - Anslut WordPress multisite-installationer av WooCommerce
  • Anpassade metafält - Mappa anpassade WooCommerce-metadata till Brevo-attribut

Förutsättningar

Innan du börjar, se till att du har:

  1. En WordPress-sajt med WooCommerce-pluginet installerat och aktiverat
  2. WooCommerce REST API aktiverat (Settings > Advanced > REST API)
  3. Consumer Key och Consumer Secret genererade
  4. Din sajt måste använda HTTPS för API-autentisering
  5. Ett Brevo-konto med API-åtkomst
  6. Ett Tajo-konto med API-uppgifter

Autentisering

REST API-nycklar

WooCommerce använder par av Consumer Key och Consumer Secret för autentisering. Generera dessa under WooCommerce > Settings > Advanced > REST API.

OAuth 1.0a (HTTPS-sajter)

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

Autentisering via query-sträng (HTTPS)

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

Behörighetsnivåer

BehörighetÅtkomst
ReadEndast visa resurser
WriteSkapa och redigera resurser
Read/WriteFullständig CRUD-åtkomst

Konfiguration

Grundläggande konfiguration

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

Fältmappning för kunder

Mappa WooCommerce-kundfält till Brevo-attribut:

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

Registrera webhooks under 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-ändpunkter

MetodÄndpunktBeskrivning
GET/wc/v3/customersLista kunder
POST/wc/v3/customersSkapa en kund
GET/wc/v3/customers/{id}Hämta en kund
PUT/wc/v3/customers/{id}Uppdatera en kund
GET/wc/v3/ordersLista ordrar
POST/wc/v3/ordersSkapa en order
GET/wc/v3/orders/{id}Hämta en order
GET/wc/v3/productsLista produkter
GET/wc/v3/products/{id}Hämta en produkt
GET/wc/v3/products/{id}/variationsLista produktvarianter
GET/wc/v3/couponsLista rabattkoder
GET/wc/v3/reports/salesHämta försäljningsrapporter
GET/wc/v3/reports/top_sellersHämta bästsäljare
POST/wc/v3/webhooksSkapa en webhook

Kodexempel

Initiera WooCommerce-kopplingen

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

Hämta och synka 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'];

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

API-gränser

WooCommerce tvingar inte själv fram några API-gränser, men den underliggande WordPress-servern och ditt webbhotell kan göra det:

FaktorTypisk gränsDetaljer
Delat webbhotell50–100 req/minVarierar mellan leverantörer
Managed WP-hosting200–500 req/minWP Engine, Kinsta med flera
Egen serverIngen hård gränsBegränsas av serverresurser
Per sidaMax 100 posterStandard är 10
Batchoperationer100 objekt per batchCreate, update eller delete

Serverprestanda

Stora WooCommerce-butiker kan uppleva långsamma API-svar. Använd paginering, begränsa fält med parametern _fields och schemalägg massynkar utanför högtrafiktid.

Felsökning

ProblemOrsakLösning
401 UnauthorizedOgiltiga API-nycklarGenerera om Consumer Key/Secret i WooCommerce-inställningarna
403 ForbiddenOtillräckliga behörigheterSätt API-nyckeln till Read/Write-åtkomst
SSL-certifikatfelOgiltigt SSL på sajtenSe till att du har ett giltigt SSL-certifikat; sätt verify_ssl: false endast för tester
Webhooks aktiveras inteWordPress-cron inaktiveratAktivera WP-Cron eller konfigurera cron på serversidan
Långsamma API-svarStor databasOptimera WordPress-databasen och använd parametern _fields
Anpassade fält saknasMetadata ej exponeradAnvänd fältet meta_data för att komma åt anpassade metadata
PagineringsproblemStandardsidstorlekAnge parametern per_page explicit (max 100)

Bästa praxis

  1. Använd webhooks för realtidssynk - Konfigurera WooCommerce-webhooks istället för att pollla API:et
  2. Verifiera webhook-signaturer - Validera alltid headern X-WC-Webhook-Signature
  3. Paginera alla listförfrågningar - Använd parametrarna page och per_page; kontrollera headern X-WP-TotalPages
  4. Använd parametern _fields - Begär endast de fält du behöver för att minska svarsstorleken och förbättra prestandan
  5. Batchoperationer - Använd batch-ändpunkter för massoperationer (upp till 100 objekt)
  6. Schemalägg stora synkar - Kör initiala fulla synkar utanför högtrafiktid för att undvika att belasta servern
  7. Aktivera HTTPS - WooCommerce API kräver HTTPS för OAuth-autentisering

Säkerhet

  • OAuth 1.0a - Säker autentisering via Consumer Key/Secret-par
  • HMAC-webhook-signaturer - Verifiering av SHA-256-signatur för inkommande webhooks
  • HTTPS krävs - API:et kräver TLS-kryptering för autentisering
  • Scope-baserad åtkomst - API-nycklar kan sättas till Read, Write eller Read/Write
  • WordPress-säkerhet - Drar nytta av säkerhetsuppdateringar i WordPress-kärnan
  • PCI-överväganden - Betalningsdata hanteras av WooCommerce-betaltjänster och exponeras inte via API:et

Relaterade resurser

Subscribe to updates

developer-docs

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

AI-assistent

Hej! Fråga mig om dokumentationen.

Börja gratis med Brevo