Conector WooCommerce
Starea conectorului: În lucru În construcție. Încă neverificat.
Ilustrație · date de exemplu
Exemplu de sincronizare
Sursă
WooCommerce
Starea conectorului: În lucru
Destinație
Celălalt instrument al tău
Starea conectorului: Instrument personalizat
Maparea câmpurilor
| Câmp sursă | Câmp destinație | Valoare exemplu |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Ciornă
- Verifică o înregistrare
- Aprobă această versiune
Stările se referă la fiecare conector și nu garantează că această sincronizare este pregătită. Câmpurile sunt ilustrative. Verifică schema și permisiunile reale înainte de sincronizare.
Conectați magazinul WooCommerce la Brevo prin Tajo pentru sincronizarea completă a datelor de e-commerce. Valorificați REST API WooCommerce pentru a sincroniza clienți, comenzi, produse și date de cupoane pentru campanii de marketing targetate și fluxuri de lucru automatizate.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | WooCommerce (WordPress) |
| Categorie | E-commerce |
| Complexitate configurare | Medie |
| Integrare oficială | Nu |
| Date sincronizate | Clienți, Comenzi, Produse, Cupoane |
| Skilluri disponibile | 10 |
Funcționalități
- Sincronizare clienți - Sincronizare în timp real a datelor clienților la contactele Brevo
- Urmărire comenzi - Urmărire completă a evenimentelor de ciclu de viață al comenzilor pentru fluxuri post-cumpărare
- Sincronizare catalog produse - Sincronizați produsele și variantele pentru recomandări în e-mail
- Gestionare cupoane - Sincronizați codurile de cupon pentru campanii promoționale
- Suport webhook - Actualizări în timp real prin webhook-urile WooCommerce
- Recuperare coșuri abandonate - Urmăriți și recuperați coșurile abandonate
- Suport multi-site - Conectați instalările WordPress multisite WooCommerce
- Câmpuri meta personalizate - Mapați meta-urile personalizate WooCommerce la atributele Brevo
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți:
- Un site WordPress cu plugin-ul WooCommerce instalat și activat
- REST API WooCommerce activat (Settings > Advanced > REST API)
- Consumer Key și Consumer Secret generate
- Site-ul dvs. trebuie să utilizeze HTTPS pentru autentificarea API
- Un cont Brevo cu acces API
- Un cont Tajo cu credențiale API
Autentificare
Chei REST API
WooCommerce utilizează perechi Consumer Key și Consumer Secret pentru autentificare. Generați-le în WooCommerce > Settings > Advanced > REST API.
OAuth 1.0a (Site-uri HTTPS)
curl https://yourstore.com/wp-json/wc/v3/orders \ -u "consumer_key:consumer_secret"Autentificare prin șir de interogare (HTTPS)
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"Niveluri de permisiuni
| Permisiune | Acces |
|---|---|
| Citire | Vizualizare resurse |
| Scriere | Creare și editare resurse |
| Citire/Scriere | Acces CRUD complet |
Configurare
Configurare de bază
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: 52Mapare câmpuri clienți
Mapați câmpurile clienților WooCommerce la atributele Brevo:
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_CATEGORYConfigurare webhook
Înregistrați webhook-uri în 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"Puncte finale API
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /wc/v3/customers | Listează clienții |
POST | /wc/v3/customers | Creează un client |
GET | /wc/v3/customers/{id} | Obține un client |
PUT | /wc/v3/customers/{id} | Actualizează un client |
GET | /wc/v3/orders | Listează comenzile |
POST | /wc/v3/orders | Creează o comandă |
GET | /wc/v3/orders/{id} | Obține o comandă |
GET | /wc/v3/products | Listează produsele |
GET | /wc/v3/products/{id} | Obține un produs |
GET | /wc/v3/products/{id}/variations | Listează variantele produsului |
GET | /wc/v3/coupons | Listează cupoanele |
GET | /wc/v3/reports/sales | Obține rapoarte de vânzări |
GET | /wc/v3/reports/top_sellers | Obține cei mai bine vânduți |
POST | /wc/v3/webhooks | Creează un webhook |
Exemple de cod
Inițializare conector WooCommerce
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});Preluare și sincronizare clienți
// 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'];Gestionare evenimente webhook
// 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');});Operații în lot
// 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]});Limite de rată
WooCommerce în sine nu aplică limite de rată API, dar serverul WordPress de bază și furnizorul de hosting pot impune limite:
| Factor | Limită tipică | Detalii |
|---|---|---|
| Hosting partajat | 50-100 cereri/min | Variază după host |
| Hosting WP gestionat | 200-500 cereri/min | WP Engine, Kinsta, etc. |
| Self-hosted | Fără limită fixă | Limitat de resursele serverului |
| Per pagină | Maximum 100 înregistrări | Implicit este 10 |
| Operații în lot | 100 articole/lot | Creare, actualizare sau ștergere |
Performanță server
Magazinele WooCommerce mari pot experimenta răspunsuri API lente. Utilizați paginare, limitați câmpurile cu parametrul _fields și programați sincronizările în bloc în orele de vârf redus.
Depanare
| Problemă | Cauză | Soluție |
|---|---|---|
401 Neautorizat | Chei API invalide | Regenerați Consumer Key/Secret în setările WooCommerce |
403 Interzis | Permisiuni insuficiente | Setați cheia API la acces Read/Write |
| Erori certificat SSL | SSL invalid pe site | Asigurați certificat SSL valid; setați verify_ssl: false doar pentru testare |
| Webhook-urile nu se execută | WordPress cron dezactivat | Activați WP-Cron sau configurați cron la nivel de server |
| Răspunsuri API lente | Bază de date mare | Optimizați baza de date WordPress, utilizați parametrul _fields |
| Câmpuri personalizate lipsă | Meta date neexpuse | Utilizați câmpul meta_data pentru a accesa meta-urile personalizate |
| Probleme de paginare | Dimensiune pagină implicită | Setați explicit parametrul per_page (max 100) |
Bune practici
- Utilizați webhook-uri pentru sincronizare în timp real - Configurați webhook-urile WooCommerce în loc de polling-ul API
- Verificați semnăturile webhook - Validați întotdeauna antetul
X-WC-Webhook-Signature - Paginați toate cererile de listare - Utilizați parametrii
pageșiper_page; verificați antetulX-WP-TotalPages - Utilizați parametrul
_fields- Solicitați doar câmpurile necesare pentru a reduce dimensiunea răspunsului și a îmbunătăți performanța - Operații în lot - Utilizați punctele finale batch pentru operații create/update/delete în bloc (până la 100 articole)
- Programați sincronizările mari - Rulați sincronizările complete inițiale în orele de vârf redus pentru a evita supraîncărcarea serverului
- Activați HTTPS - API-ul WooCommerce necesită HTTPS pentru autentificarea OAuth
Securitate
- OAuth 1.0a - Autentificare securizată prin perechi Consumer Key/Secret
- Semnături HMAC webhook - Verificare semnătură SHA-256 pentru webhook-urile primite
- HTTPS necesar - API-ul necesită criptare TLS pentru autentificare
- Scop permisiuni - Cheile API pot fi setate la Citire, Scriere sau Citire/Scriere
- Securitate WordPress - Beneficiază de actualizările de securitate ale nucleului WordPress
- Considerații PCI - Datele de plată gestionate de gateway-urile de plată WooCommerce, neexpuse prin API