WooCommerce-kobling

WooCommerce-kobling

Koble WooCommerce-butikken din til Brevo via Tajo for fullstendig synkronisering av e-handelsdata. Utnytt WooCommerce REST API til å synkronisere kunder, ordrer, produkter og kupongdata for målrettede markedsføringskampanjer og automatiserte arbeidsflyter.

Oversikt

EgenskapVerdi
PlattformWooCommerce (WordPress)
KategoriE-handel
OppsettskompleksitetMiddels
Offisiell integrasjonNei
Synkroniserte dataKunder, ordrer, produkter, kuponger
Tilgjengelige ferdigheter10

Funksjoner

  • Kundesynkronisering - Sanntidssynkronisering av kundedata til Brevo-kontakter
  • Ordresporing - Full sporing av hendelser i ordrelivssyklus for flyter etter kjøp
  • Produktkatalogsynkronisering - Synkroniser produkter og varianter for e-postanbefalinger
  • Kupongadministrasjon - Synkroniser kupongkoder for kampanjer
  • Webhook-støtte - Sanntidsoppdateringer via WooCommerce webhooks
  • Forlatt handlekurv - Spor og gjenopprett forlatte handlekurver
  • Støtte for flere nettsteder - Koble til WordPress multisite-WooCommerce-installasjoner
  • Egendefinerte meta-felt - Mapp WooCommerce egendefinert meta til Brevo-attributter

Forutsetninger

Før du begynner, sørg for at du har:

  1. Et WordPress-nettsted med WooCommerce-plugin installert og aktivert
  2. WooCommerce REST API aktivert (Settings > Advanced > REST API)
  3. API Consumer Key og Consumer Secret generert
  4. Nettstedet ditt må bruke HTTPS for API-autentisering
  5. En Brevo-konto med API-tilgang
  6. En Tajo-konto med API-legitimasjon

Autentisering

REST API-nøkler

WooCommerce bruker Consumer Key- og Consumer Secret-par for autentisering. Generer disse i WooCommerce > Settings > Advanced > REST API.

OAuth 1.0a (HTTPS-nettsteder)

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

Query string-autentisering (HTTPS)

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

Tillatelsesnivåer

TillatelseTilgang
LesKun vise ressurser
SkrivOpprette og redigere ressurser
Les/skrivFull CRUD-tilgang

Konfigurasjon

Grunnleggende oppsett

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

Mapping av kundefelt

Mapp WooCommerce-kundefelt 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-konfigurasjon

Registrer 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-endepunkter

MetodeEndepunktBeskrivelse
GET/wc/v3/customersList kunder
POST/wc/v3/customersOpprett en kunde
GET/wc/v3/customers/{id}Hent en kunde
PUT/wc/v3/customers/{id}Oppdater en kunde
GET/wc/v3/ordersList ordrer
POST/wc/v3/ordersOpprett en ordre
GET/wc/v3/orders/{id}Hent en ordre
GET/wc/v3/productsList produkter
GET/wc/v3/products/{id}Hent et produkt
GET/wc/v3/products/{id}/variationsList produktvarianter
GET/wc/v3/couponsList kuponger
GET/wc/v3/reports/salesHent salgsrapporter
GET/wc/v3/reports/top_sellersHent bestselgere
POST/wc/v3/webhooksOpprett en webhook

Kodeeksempler

Initialiser WooCommerce-kobling

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 synkroniser 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åndter webhook-hendelser

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

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

Hastighetsgrenser

WooCommerce selv håndhever ikke API-hastighetsgrenser, men den underliggende WordPress-serveren og hostingleverandøren kan pålegge grenser:

FaktorTypisk grenseDetaljer
Delt hosting50-100 forespørsler/minVarierer per leverandør
Administrert WP-hosting200-500 forespørsler/minWP Engine, Kinsta, osv.
SelvhostetIngen fast grenseBegrenset av serverressurser
Per sideMaks 100 posterStandard er 10
Batch-operasjoner100 elementer/batchOpprette, oppdatere eller slette

Serverytelse

Store WooCommerce-butikker kan oppleve trege API-responser. Bruk paginering, begrens felt med _fields-parameteren, og planlegg bulk-synkroniseringer utenom topptider.

Feilsøking

ProblemÅrsakLøsning
401 UnauthorizedUgyldige API-nøklerGenerer Consumer Key/Secret på nytt i WooCommerce-innstillinger
403 ForbiddenUtilstrekkelige tillatelserSett API-nøkkel til Les/skriv-tilgang
SSL-sertifikatfeilUgyldig SSL på nettstedetSørg for gyldig SSL-sertifikat; sett verify_ssl: false kun for testing
Webhooks ikke utløstWordPress-cron deaktivertAktiver WP-Cron eller konfigurer cron på servernivå
Trege API-responserStor databaseOptimaliser WordPress-databasen, bruk _fields-parameter
Manglende egendefinerte feltMetadata ikke eksponertBruk meta_data-feltet for å få tilgang til egendefinert meta
PagineringsproblemerStandard sidestørrelseSett per_page-parameteren eksplisitt (maks 100)

Beste praksis

  1. Bruk webhooks for sanntidssynkronisering - Konfigurer WooCommerce-webhooks i stedet for å polle API-et
  2. Verifiser webhook-signaturer - Valider alltid X-WC-Webhook-Signature-headeren
  3. Paginer alle listeforespørsler - Bruk page- og per_page-parametere; sjekk X-WP-TotalPages-headeren
  4. Bruk _fields-parameteren - Be kun om nødvendige felt for å redusere responsstørrelse og forbedre ytelsen
  5. Batch-operasjoner - Bruk batch-endepunkter for bulk opprette/oppdatere/slette-operasjoner (opptil 100 elementer)
  6. Planlegg store synkroniseringer - Kjør innledende fullsynkroniseringer utenom topptider for å unngå serverbelastning
  7. Aktiver HTTPS - WooCommerce API krever HTTPS for OAuth-autentisering

Sikkerhet

  • OAuth 1.0a - Sikker autentisering via Consumer Key/Secret-par
  • HMAC webhook-signaturer - SHA-256-signaturverifisering for innkommende webhooks
  • HTTPS påkrevd - API-et krever TLS-kryptering for autentisering
  • Tillatelsesscoping - API-nøkler kan settes til Les, Skriv eller Les/skriv
  • WordPress-sikkerhet - Drar nytte av WordPress-kjernens sikkerhetsoppdateringer
  • PCI-hensyn - Betalingsdata håndteres av WooCommerce betalingsgatewayer, ikke eksponert via API-et

Relaterte ressurser

Subscribe to updates

developer-docs

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

AI-assistent

Hei! Spør meg om dokumentasjonen.

Start gratis med Brevo