WooCommerce konnektor
WooCommerce konnektor
Csatlakoztasd a WooCommerce áruházadat a Brevóhoz a Tajón keresztül a teljes e-kereskedelmi adatszinkronizációhoz. Használd a WooCommerce REST API-t az ügyfelek, rendelések, termékek és kupon-adatok szinkronizálásához célzott marketingkampányokhoz és automatizált munkafolyamatokhoz.
Áttekintés
| Tulajdonság | Érték |
|---|---|
| Platform | WooCommerce (WordPress) |
| Kategória | E-kereskedelem |
| Telepítés bonyolultsága | Közepes |
| Hivatalos integráció | Nem |
| Szinkronizált adatok | Ügyfelek, rendelések, termékek, kuponok |
| Elérhető Skillek | 10 |
Funkciók
- Ügyfél-szinkronizáció – Valós idejű ügyféladat-szinkronizáció a Brevo kapcsolatokba
- Rendeléskövetés – Teljes rendelési életciklus eseménykövetése vásárlás utáni folyamatokhoz
- Termékkatalógus-szinkronizáció – Termékek és variációk szinkronizálása e-mailes ajánlásokhoz
- Kuponkezelés – Kuponkódok szinkronizálása promóciós kampányokhoz
- Webhook támogatás – Valós idejű frissítések WooCommerce webhookokon keresztül
- Kosárelhagyás – Elhagyott kosarak követése és visszaszerzése
- Multisite támogatás – WordPress multisite WooCommerce telepítések csatlakoztatása
- Egyedi meta mezők – WooCommerce egyedi meta-adatok leképezése Brevo attribútumokra
Előfeltételek
Mielőtt elkezdenéd, győződj meg róla, hogy rendelkezel:
- Egy WordPress oldallal, amelyre telepítve és aktiválva van a WooCommerce plugin
- Engedélyezett WooCommerce REST API-val (Beállítások > Haladó > REST API)
- Generált API Consumer Key-jel és Consumer Secret-tel
- Az oldaladnak HTTPS-t kell használnia az API-hitelesítéshez
- Egy Brevo fiókkal API-hozzáféréssel
- Egy Tajo fiókkal API hitelesítő adatokkal
Hitelesítés
REST API kulcsok
A WooCommerce Consumer Key és Consumer Secret párokat használ a hitelesítéshez. Generáld le ezeket a WooCommerce > Beállítások > Haladó > REST API menüben.
OAuth 1.0a (HTTPS oldalak)
curl https://yourstore.com/wp-json/wc/v3/orders \ -u "consumer_key:consumer_secret"Query string hitelesítés (HTTPS)
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"Jogosultsági szintek
| Jogosultság | Hozzáférés |
|---|---|
| Read | Csak erőforrások megtekintése |
| Write | Erőforrások létrehozása és szerkesztése |
| Read/Write | Teljes CRUD hozzáférés |
Konfiguráció
Alapbeállítás
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Ügyfél-mezőleképezés
Képezd le a WooCommerce ügyfélmezőket a Brevo attribútumokhoz:
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-konfiguráció
Regisztráld a webhookokat a WooCommerce > Beállítások > Haladó > Webhookok menüben:
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 végpontok
| Metódus | Végpont | Leírás |
|---|---|---|
GET | /wc/v3/customers | Ügyfelek listázása |
POST | /wc/v3/customers | Ügyfél létrehozása |
GET | /wc/v3/customers/{id} | Ügyfél lekérése |
PUT | /wc/v3/customers/{id} | Ügyfél frissítése |
GET | /wc/v3/orders | Rendelések listázása |
POST | /wc/v3/orders | Rendelés létrehozása |
GET | /wc/v3/orders/{id} | Rendelés lekérése |
GET | /wc/v3/products | Termékek listázása |
GET | /wc/v3/products/{id} | Termék lekérése |
GET | /wc/v3/products/{id}/variations | Termékvariációk listázása |
GET | /wc/v3/coupons | Kuponok listázása |
GET | /wc/v3/reports/sales | Értékesítési jelentések lekérése |
GET | /wc/v3/reports/top_sellers | Legjobban fogyó termékek lekérése |
POST | /wc/v3/webhooks | Webhook létrehozása |
Kódpéldák
WooCommerce konnektor inicializálása
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});Ügyfelek lekérése és szinkronizálása
// 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'];Webhook események kezelése
// 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');});Kötegelt műveletek
// 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]});Ráta-korlátok
A WooCommerce maga nem érvényesít API ráta-korlátokat, de a mögöttes WordPress szerver és a tárhelyszolgáltató szabhat korlátokat:
| Tényező | Jellemző korlát | Részletek |
|---|---|---|
| Shared hosting | 50-100 kérés/perc | Tárhelyenként változó |
| Managed WP hosting | 200-500 kérés/perc | WP Engine, Kinsta stb. |
| Saját szerver | Nincs kemény korlát | A szervererőforrások korlátozzák |
| Oldalanként | Max. 100 rekord | Alapértelmezett 10 |
| Kötegelt műveletek | 100 tétel/köteg | Létrehozás, frissítés vagy törlés |
Szerverteljesítmény
A nagy WooCommerce áruházak lassú API-válaszokat tapasztalhatnak. Használj lapozást, korlátozd a mezőket a _fields paraméterrel, és ütemezd a tömeges szinkronizációkat csúcsidőn kívülre.
Hibaelhárítás
| Probléma | Ok | Megoldás |
|---|---|---|
401 Unauthorized | Érvénytelen API kulcsok | Generáld újra a Consumer Key/Secret párt a WooCommerce beállításokban |
403 Forbidden | Nem elégséges jogosultságok | Állítsd be az API kulcsot Read/Write hozzáférésre |
| SSL-tanúsítványhibák | Érvénytelen SSL az oldalon | Biztosíts érvényes SSL-tanúsítványt; csak teszteléshez állítsd verify_ssl: false-ra |
| Webhookok nem indulnak el | WordPress cron kikapcsolva | Engedélyezd a WP-Cront vagy konfigurálj szerver szintű cront |
| Lassú API-válaszok | Nagy adatbázis | Optimalizáld a WordPress adatbázist, használd a _fields paramétert |
| Hiányzó egyedi mezők | Meta-adatok nincsenek kiadva | Használd a meta_data mezőt az egyedi metákhoz való hozzáféréshez |
| Lapozási problémák | Alapértelmezett oldalméret | Állítsd be kifejezetten a per_page paramétert (max. 100) |
Legjobb gyakorlatok
- Használj webhookokat a valós idejű szinkronizációhoz – Konfigurálj WooCommerce webhookokat az API lekérdezése helyett
- Ellenőrizd a webhook-aláírásokat – Mindig validáld az
X-WC-Webhook-Signaturefejlécet - Lapozz minden lista-kérésnél – Használd a
pageésper_pageparamétereket; ellenőrizd azX-WP-TotalPagesfejlécet - Használd a
_fieldsparamétert – Kérj csak szükséges mezőket a válaszméret csökkentéséhez és a teljesítmény javításához - Kötegelt műveletek – Használj kötegelt végpontokat tömeges létrehozáshoz/frissítéshez/törléshez (max. 100 tétel)
- Nagy szinkronizációk ütemezése – Futtasd a kezdeti teljes szinkronizációkat csúcsidőn kívül a szerverterhelés elkerülése érdekében
- Engedélyezd a HTTPS-t – A WooCommerce API HTTPS-t igényel az OAuth hitelesítéshez
Biztonság
- OAuth 1.0a – Biztonságos hitelesítés Consumer Key/Secret párokkal
- HMAC webhook-aláírások – SHA-256 aláírás-ellenőrzés a bejövő webhookokhoz
- HTTPS kötelező – Az API TLS titkosítást igényel a hitelesítéshez
- Jogosultság-hatókörök – Az API kulcsok beállíthatók Read, Write vagy Read/Write módra
- WordPress biztonság – A WordPress core biztonsági frissítéseinek előnyeit élvezi
- PCI megfontolások – A fizetési adatokat a WooCommerce fizetési átjárók kezelik, nem kerülnek ki az API-n keresztül