WooCommerce Connector
Stanje konektorja: V razvoju V izdelavi. Še ni preverjeno.
Ponazoritev · vzorčni podatki
Primer sinhronizacije
Vir
WooCommerce
Stanje konektorja: V razvoju
Cilj
Vaše drugo orodje
Stanje konektorja: Orodje po meri
Preslikava polj
| Izvorno polje | Ciljno polje | Vzorčna vrednost |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Osnutek
- Preglejte en zapis
- Odobrite to različico
Stanja veljajo za posamezne konektorje in ne zagotavljajo, da je ta sinhronizacija pripravljena. Polja so ponazoritvena. Pred zagonom sinhronizacije preverite dejansko shemo in dovoljenja.
Poveži svojo WooCommerce trgovino z Brevo prek Tajo za popolno sinhronizacijo podatkov e-trgovine. Izkoristi WooCommerce REST API za sinhronizacijo strank, naročil, izdelkov in kuponov za ciljne marketinške kampanje in avtomatizirane delovne tokove.
Pregled
| Lastnost | Vrednost |
|---|---|
| Platforma | WooCommerce (WordPress) |
| Kategorija | E-commerce |
| Zahtevnost nastavitve | Srednja |
| Uradna integracija | Ne |
| Sinhronizirani podatki | Stranke, naročila, izdelki, kuponi |
| Razpoložljivi Skills | 10 |
Funkcionalnosti
- Sinhronizacija strank – sinhronizacija podatkov strank v stike Brevo v realnem času
- Sledenje naročilom – popolno sledenje življenjskemu ciklu naročila za tokove po nakupu
- Sinhronizacija kataloga izdelkov – sinhronizacija izdelkov in variacij za priporočila v e-mailih
- Upravljanje kuponov – sinhronizacija kuponskih kod za promocijske kampanje
- Podpora za webhooke – posodobitve v realnem času prek WooCommerce webhookov
- Opuščanje košarice – sledi in obnovi zapuščene košarice
- Podpora za več spletnih mest – poveži namestitve WordPress multisite WooCommerce
- Meta polja po meri – preslikaj WooCommerce meta polja po meri v atribute Brevo
Predpogoji
Preden začneš, se prepričaj, da imaš:
- WordPress stran z nameščenim in aktiviranim vtičnikom WooCommerce
- Omogočen WooCommerce REST API (Settings > Advanced > REST API)
- Generirani API Consumer Key in Consumer Secret
- Tvoja stran mora uporabljati HTTPS za API avtentikacijo
- Brevo račun z dostopom do API
- Tajo račun z API poverilnicami
Avtentikacija
REST API ključi
WooCommerce uporablja pare Consumer Key in Consumer Secret za avtentikacijo. Generiraj jih v WooCommerce > Settings > Advanced > REST API.
OAuth 1.0a (HTTPS strani)
curl https://yourstore.com/wp-json/wc/v3/orders \ -u "consumer_key:consumer_secret"Avtentikacija prek poizvedbenega niza (HTTPS)
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"Ravni dovoljenj
| Dovoljenje | Dostop |
|---|---|
| Read | Samo pregled virov |
| Write | Ustvarjanje in urejanje virov |
| Read/Write | Poln CRUD dostop |
Konfiguracija
Osnovna nastavitev
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: 52Preslikava polj strank
Preslikaj polja strank WooCommerce v atribute 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_CATEGORYKonfiguracija webhookov
Registriraj webhooke v 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 končne točke
| Metoda | Končna točka | Opis |
|---|---|---|
GET | /wc/v3/customers | Seznam strank |
POST | /wc/v3/customers | Ustvari stranko |
GET | /wc/v3/customers/{id} | Pridobi stranko |
PUT | /wc/v3/customers/{id} | Posodobi stranko |
GET | /wc/v3/orders | Seznam naročil |
POST | /wc/v3/orders | Ustvari naročilo |
GET | /wc/v3/orders/{id} | Pridobi naročilo |
GET | /wc/v3/products | Seznam izdelkov |
GET | /wc/v3/products/{id} | Pridobi izdelek |
GET | /wc/v3/products/{id}/variations | Seznam variacij izdelka |
GET | /wc/v3/coupons | Seznam kuponov |
GET | /wc/v3/reports/sales | Pridobi prodajna poročila |
GET | /wc/v3/reports/top_sellers | Pridobi najboljše prodajalce |
POST | /wc/v3/webhooks | Ustvari webhook |
Primeri kode
Inicializacija WooCommerce konektorja
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});Pridobivanje in sinhronizacija strank
// 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'];Obravnava dogodkov 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');});Paketne operacije
// 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]});Omejitve zahtevkov
WooCommerce sam ne uveljavlja API omejitev, lahko pa jih omeji WordPress strežnik in gostitelj:
| Dejavnik | Tipična omejitev | Podrobnosti |
|---|---|---|
| Deljeno gostovanje | 50–100 zahtevkov/min | Odvisno od gostitelja |
| Upravljano WP gostovanje | 200–500 zahtevkov/min | WP Engine, Kinsta itd. |
| Lastno gostovanje | Ni trde omejitve | Omejeno z viri strežnika |
| Na stran | Največ 100 zapisov | Privzeto 10 |
| Paketne operacije | 100 elementov/paket | Ustvari, posodobi ali izbriši |
Zmogljivost strežnika
Velike trgovine WooCommerce lahko imajo počasne API odzive. Uporabi paginacijo, omeji polja s parametrom _fields in načrtuj množične sinhronizacije izven konic.
Odpravljanje težav
| Težava | Vzrok | Rešitev |
|---|---|---|
401 Unauthorized | Neveljavni API ključi | Regeneriraj Consumer Key/Secret v nastavitvah WooCommerce |
403 Forbidden | Nezadostna dovoljenja | Nastavi API ključ na Read/Write dostop |
| Napake SSL certifikata | Neveljaven SSL na strani | Zagotovi veljaven SSL certifikat; nastavi verify_ssl: false samo za testiranje |
| Webhooki se ne sprožijo | Onemogočen WordPress cron | Omogoči WP-Cron ali nastavi cron na ravni strežnika |
| Počasni API odzivi | Velika baza podatkov | Optimiziraj WordPress bazo, uporabi parameter _fields |
| Manjkajo polja po meri | Meta podatki niso izpostavljeni | Uporabi polje meta_data za dostop do meta po meri |
| Težave s paginacijo | Privzeta velikost strani | Eksplicitno nastavi parameter per_page (največ 100) |
Najboljše prakse
- Uporabljaj webhooke za sinhronizacijo v realnem času – nastavi WooCommerce webhooke namesto poizvedovanja API
- Preveri podpise webhookov – vedno potrdi glavo
X-WC-Webhook-Signature - Paginaj vse zahteve seznamov – uporabi parametra
pageinper_page; preveri glavoX-WP-TotalPages - Uporabi parameter
_fields– zahtevaj samo potrebna polja za manjše odgovore in boljšo zmogljivost - Paketne operacije – uporabi paketne končne točke za množično ustvarjanje/posodabljanje/brisanje (do 100 elementov)
- Načrtuj velike sinhronizacije – začetne polne sinhronizacije izvajaj izven konic, da preprečiš obremenitev strežnika
- Omogoči HTTPS – WooCommerce API za OAuth avtentikacijo zahteva HTTPS
Varnost
- OAuth 1.0a – varna avtentikacija prek parov Consumer Key/Secret
- HMAC podpisi webhook – preverjanje SHA-256 podpisov za prihajajoče webhooke
- HTTPS obvezen – API zahteva TLS šifriranje za avtentikacijo
- Obsegana dovoljenja – API ključi so lahko nastavljeni na Read, Write ali Read/Write
- Varnost WordPress – koristi varnostne posodobitve jedra WordPress
- PCI premisleki – plačilne podatke obravnavajo plačilni prehodi WooCommerce, niso izpostavljeni prek API