WooCommerce-koppling
Kopplingens status: Under utveckling Byggs. Inte verifierad än.
Illustration · exempeldata
Exempel på synkronisering
Källa
WooCommerce
Kopplingens status: Under utveckling
Mål
Ditt andra verktyg
Kopplingens status: Eget verktyg
Fältmappning
| Källfält | Målfält | Exempelvärde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Utkast
- Granska en post
- Godkänn den här versionen
Status gäller varje enskild koppling och garanterar inte att den här synkroniseringen är klar. Fälten är illustrativa. Kontrollera det faktiska schemat och behörigheterna innan synkronisering körs.
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
| Egenskap | Värde |
|---|---|
| Plattform | WooCommerce (WordPress) |
| Kategori | E-handel |
| Installationskomplexitet | Medel |
| Officiell integration | Nej |
| Data som synkas | Kunder, ordrar, produkter, rabattkoder |
| Tillgängliga skills | 10 |
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:
- En WordPress-sajt med WooCommerce-pluginet installerat och aktiverat
- WooCommerce REST API aktiverat (Settings > Advanced > REST API)
- Consumer Key och Consumer Secret genererade
- Din sajt måste använda HTTPS för API-autentisering
- Ett Brevo-konto med API-åtkomst
- 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)
curl https://yourstore.com/wp-json/wc/v3/orders \ -u "consumer_key:consumer_secret"Autentisering via query-sträng (HTTPS)
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"Behörighetsnivåer
| Behörighet | Åtkomst |
|---|---|
| Read | Endast visa resurser |
| Write | Skapa och redigera resurser |
| Read/Write | Fullstä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: 52Fä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_CATEGORYWebhook-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 | Ändpunkt | Beskrivning |
|---|---|---|
GET | /wc/v3/customers | Lista kunder |
POST | /wc/v3/customers | Skapa en kund |
GET | /wc/v3/customers/{id} | Hämta en kund |
PUT | /wc/v3/customers/{id} | Uppdatera en kund |
GET | /wc/v3/orders | Lista ordrar |
POST | /wc/v3/orders | Skapa en order |
GET | /wc/v3/orders/{id} | Hämta en order |
GET | /wc/v3/products | Lista produkter |
GET | /wc/v3/products/{id} | Hämta en produkt |
GET | /wc/v3/products/{id}/variations | Lista produktvarianter |
GET | /wc/v3/coupons | Lista rabattkoder |
GET | /wc/v3/reports/sales | Hämta försäljningsrapporter |
GET | /wc/v3/reports/top_sellers | Hämta bästsäljare |
POST | /wc/v3/webhooks | Skapa 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 storeawait 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 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'];Hantera 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]});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:
| Faktor | Typisk gräns | Detaljer |
|---|---|---|
| Delat webbhotell | 50–100 req/min | Varierar mellan leverantörer |
| Managed WP-hosting | 200–500 req/min | WP Engine, Kinsta med flera |
| Egen server | Ingen hård gräns | Begränsas av serverresurser |
| Per sida | Max 100 poster | Standard är 10 |
| Batchoperationer | 100 objekt per batch | Create, 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
| Problem | Orsak | Lösning |
|---|---|---|
401 Unauthorized | Ogiltiga API-nycklar | Generera om Consumer Key/Secret i WooCommerce-inställningarna |
403 Forbidden | Otillräckliga behörigheter | Sätt API-nyckeln till Read/Write-åtkomst |
| SSL-certifikatfel | Ogiltigt SSL på sajten | Se till att du har ett giltigt SSL-certifikat; sätt verify_ssl: false endast för tester |
| Webhooks aktiveras inte | WordPress-cron inaktiverat | Aktivera WP-Cron eller konfigurera cron på serversidan |
| Långsamma API-svar | Stor databas | Optimera WordPress-databasen och använd parametern _fields |
| Anpassade fält saknas | Metadata ej exponerad | Använd fältet meta_data för att komma åt anpassade metadata |
| Pagineringsproblem | Standardsidstorlek | Ange parametern per_page explicit (max 100) |
Bästa praxis
- Använd webhooks för realtidssynk - Konfigurera WooCommerce-webhooks istället för att pollla API:et
- Verifiera webhook-signaturer - Validera alltid headern
X-WC-Webhook-Signature - Paginera alla listförfrågningar - Använd parametrarna
pageochper_page; kontrollera headernX-WP-TotalPages - Använd parametern
_fields- Begär endast de fält du behöver för att minska svarsstorleken och förbättra prestandan - Batchoperationer - Använd batch-ändpunkter för massoperationer (upp till 100 objekt)
- Schemalägg stora synkar - Kör initiala fulla synkar utanför högtrafiktid för att undvika att belasta servern
- 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