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
| Egenskap | Verdi |
|---|---|
| Plattform | WooCommerce (WordPress) |
| Kategori | E-handel |
| Oppsettskompleksitet | Middels |
| Offisiell integrasjon | Nei |
| Synkroniserte data | Kunder, ordrer, produkter, kuponger |
| Tilgjengelige ferdigheter | 10 |
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:
- Et WordPress-nettsted med WooCommerce-plugin installert og aktivert
- WooCommerce REST API aktivert (Settings > Advanced > REST API)
- API Consumer Key og Consumer Secret generert
- Nettstedet ditt må bruke HTTPS for API-autentisering
- En Brevo-konto med API-tilgang
- 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)
curl https://yourstore.com/wp-json/wc/v3/orders \ -u "consumer_key:consumer_secret"Query string-autentisering (HTTPS)
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"Tillatelsesnivåer
| Tillatelse | Tilgang |
|---|---|
| Les | Kun vise ressurser |
| Skriv | Opprette og redigere ressurser |
| Les/skriv | Full 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: 52Mapping 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_CATEGORYWebhook-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
| Metode | Endepunkt | Beskrivelse |
|---|---|---|
GET | /wc/v3/customers | List kunder |
POST | /wc/v3/customers | Opprett en kunde |
GET | /wc/v3/customers/{id} | Hent en kunde |
PUT | /wc/v3/customers/{id} | Oppdater en kunde |
GET | /wc/v3/orders | List ordrer |
POST | /wc/v3/orders | Opprett en ordre |
GET | /wc/v3/orders/{id} | Hent en ordre |
GET | /wc/v3/products | List produkter |
GET | /wc/v3/products/{id} | Hent et produkt |
GET | /wc/v3/products/{id}/variations | List produktvarianter |
GET | /wc/v3/coupons | List kuponger |
GET | /wc/v3/reports/sales | Hent salgsrapporter |
GET | /wc/v3/reports/top_sellers | Hent bestselgere |
POST | /wc/v3/webhooks | Opprett 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 storeawait 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 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åndter webhook-hendelser
// 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-operasjoner
// 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]});Hastighetsgrenser
WooCommerce selv håndhever ikke API-hastighetsgrenser, men den underliggende WordPress-serveren og hostingleverandøren kan pålegge grenser:
| Faktor | Typisk grense | Detaljer |
|---|---|---|
| Delt hosting | 50-100 forespørsler/min | Varierer per leverandør |
| Administrert WP-hosting | 200-500 forespørsler/min | WP Engine, Kinsta, osv. |
| Selvhostet | Ingen fast grense | Begrenset av serverressurser |
| Per side | Maks 100 poster | Standard er 10 |
| Batch-operasjoner | 100 elementer/batch | Opprette, 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 | Årsak | Løsning |
|---|---|---|
401 Unauthorized | Ugyldige API-nøkler | Generer Consumer Key/Secret på nytt i WooCommerce-innstillinger |
403 Forbidden | Utilstrekkelige tillatelser | Sett API-nøkkel til Les/skriv-tilgang |
| SSL-sertifikatfeil | Ugyldig SSL på nettstedet | Sørg for gyldig SSL-sertifikat; sett verify_ssl: false kun for testing |
| Webhooks ikke utløst | WordPress-cron deaktivert | Aktiver WP-Cron eller konfigurer cron på servernivå |
| Trege API-responser | Stor database | Optimaliser WordPress-databasen, bruk _fields-parameter |
| Manglende egendefinerte felt | Metadata ikke eksponert | Bruk meta_data-feltet for å få tilgang til egendefinert meta |
| Pagineringsproblemer | Standard sidestørrelse | Sett per_page-parameteren eksplisitt (maks 100) |
Beste praksis
- Bruk webhooks for sanntidssynkronisering - Konfigurer WooCommerce-webhooks i stedet for å polle API-et
- Verifiser webhook-signaturer - Valider alltid
X-WC-Webhook-Signature-headeren - Paginer alle listeforespørsler - Bruk
page- ogper_page-parametere; sjekkX-WP-TotalPages-headeren - Bruk
_fields-parameteren - Be kun om nødvendige felt for å redusere responsstørrelse og forbedre ytelsen - Batch-operasjoner - Bruk batch-endepunkter for bulk opprette/oppdatere/slette-operasjoner (opptil 100 elementer)
- Planlegg store synkroniseringer - Kjør innledende fullsynkroniseringer utenom topptider for å unngå serverbelastning
- 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