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
| 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:
- Et WordPress-site med WooCommerce-plugin installeret og aktiveret
- WooCommerce REST API aktiveret (Settings > Advanced > REST API)
- API Consumer Key og Consumer Secret genereret
- Dit site skal bruge HTTPS til API-autentifikation
- En Brevo-konto med API-adgang
- 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)
curl https://yourstore.com/wp-json/wc/v3/orders \ -u "consumer_key:consumer_secret"Query String-autentifikation (HTTPS)
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
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: 52Kundefeltmapping
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_CATEGORYWebhook-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
| 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
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect WooCommerce storeawait 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 APIconst 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 paginationconst 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 headersconst totalPages = response.headers['x-wp-totalpages'];const totalItems = response.headers['x-wp-total'];Håndtér webhook-hændelser
// WooCommerce webhook handlerapp.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 productsconst 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
- Brug webhooks til realtidssynkronisering - Konfigurér WooCommerce-webhooks i stedet for polling af API’et
- Verificér webhook-signaturer - Validér altid headeren
X-WC-Webhook-Signature - Paginér alle listeforespørgsler - Brug
page- ogper_page-parametre; tjekX-WP-TotalPages-header - Brug
_fields-parameteren - Anmod kun om nødvendige felter for at reducere svarstørrelse og forbedre performance - Batch-operationer - Brug batch-endpoints til massevis oprettelse/opdatering/sletning (op til 100 elementer)
- Planlæg store synkroniseringer - Kør indledende fulde synkroniseringer uden for spidsbelastningstimer for at undgå serverbelastning
- 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