Σύνδεσμος WooCommerce
Σύνδεσμος WooCommerce
Συνδέστε το κατάστημα WooCommerce με το Brevo μέσω Tajo για πλήρη συγχρονισμό δεδομένων ηλεκτρονικού εμπορίου. Αξιοποιήστε το WooCommerce REST API για συγχρονισμό πελατών, παραγγελιών, προϊόντων και δεδομένων κουπονιών για στοχευμένες καμπάνιες marketing και αυτοματοποιημένες ροές εργασίας.
Επισκόπηση
| Ιδιότητα | Τιμή |
|---|---|
| Πλατφόρμα | WooCommerce (WordPress) |
| Κατηγορία | Ηλεκτρονικό Εμπόριο |
| Πολυπλοκότητα Ρύθμισης | Μεσαία |
| Επίσημη Ενσωμάτωση | Όχι |
| Δεδομένα που Συγχρονίζονται | Πελάτες, Παραγγελίες, Προϊόντα, Κουπόνια |
| Διαθέσιμες Δεξιότητες | 10 |
Χαρακτηριστικά
- Συγχρονισμός πελατών - Συγχρονισμός δεδομένων πελάτη σε πραγματικό χρόνο στις επαφές Brevo
- Παρακολούθηση παραγγελιών - Πλήρης παρακολούθηση εκδηλώσεων κύκλου ζωής παραγγελίας για ροές μετά-αγοράς
- Συγχρονισμός καταλόγου προϊόντων - Συγχρονισμός προϊόντων και παραλλαγών για συστάσεις email
- Διαχείριση κουπονιών - Συγχρονισμός κωδικών κουπονιών για προωθητικές καμπάνιες
- Υποστήριξη webhook - Ενημερώσεις σε πραγματικό χρόνο μέσω webhooks WooCommerce
- Εγκατάλειψη καλαθιού - Παρακολούθηση και ανάκτηση εγκαταλελειμμένων καλαθιών
- Υποστήριξη πολλαπλών τοποθεσιών - Σύνδεση εγκαταστάσεων WooCommerce WordPress multisite
- Προσαρμοσμένα meta πεδία - Αντιστοίχηση προσαρμοσμένων meta WooCommerce σε χαρακτηριστικά Brevo
Προαπαιτούμενα
Πριν ξεκινήσετε, βεβαιωθείτε ότι διαθέτετε:
- Τοποθεσία WordPress με εγκατεστημένο και ενεργοποιημένο plugin WooCommerce
- Ενεργοποιημένο WooCommerce REST API (Ρυθμίσεις > Προχωρημένες > REST API)
- Δημιουργημένα API Consumer Key και Consumer Secret
- Η τοποθεσία σας πρέπει να χρησιμοποιεί HTTPS για πιστοποίηση API
- Λογαριασμό Brevo με πρόσβαση API
- Λογαριασμό Tajo με διαπιστευτήρια API
Πιστοποίηση
Κλειδιά REST API
Το WooCommerce χρησιμοποιεί ζεύγη Consumer Key και Consumer Secret για πιστοποίηση. Δημιουργήστε τα στο WooCommerce > Ρυθμίσεις > Προχωρημένες > REST API.
OAuth 1.0a (τοποθεσίες HTTPS)
curl https://yourstore.com/wp-json/wc/v3/orders \ -u "consumer_key:consumer_secret"Πιστοποίηση με Query String (HTTPS)
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"Επίπεδα Δικαιωμάτων
| Δικαίωμα | Πρόσβαση |
|---|---|
| Ανάγνωση | Προβολή πόρων μόνο |
| Εγγραφή | Δημιουργία και επεξεργασία πόρων |
| Ανάγνωση/Εγγραφή | Πλήρης πρόσβαση CRUD |
Διαμόρφωση
Βασική Ρύθμιση
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Αντιστοίχιση Πεδίων Πελάτη
Αντιστοίχηση πεδίων πελάτη WooCommerce σε χαρακτηριστικά 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_CATEGORYΔιαμόρφωση Webhook
Εγγράψτε webhooks στο WooCommerce > Ρυθμίσεις > Προχωρημένες > 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"Endpoints API
| Μέθοδος | Endpoint | Περιγραφή |
|---|---|---|
GET | /wc/v3/customers | Λίστα πελατών |
POST | /wc/v3/customers | Δημιουργία πελάτη |
GET | /wc/v3/customers/{id} | Λήψη πελάτη |
PUT | /wc/v3/customers/{id} | Ενημέρωση πελάτη |
GET | /wc/v3/orders | Λίστα παραγγελιών |
POST | /wc/v3/orders | Δημιουργία παραγγελίας |
GET | /wc/v3/orders/{id} | Λήψη παραγγελίας |
GET | /wc/v3/products | Λίστα προϊόντων |
GET | /wc/v3/products/{id} | Λήψη προϊόντος |
GET | /wc/v3/products/{id}/variations | Λίστα παραλλαγών προϊόντος |
GET | /wc/v3/coupons | Λίστα κουπονιών |
GET | /wc/v3/reports/sales | Λήψη αναφορών πωλήσεων |
GET | /wc/v3/reports/top_sellers | Λήψη κορυφαίων πωλητών |
POST | /wc/v3/webhooks | Δημιουργία webhook |
Παραδείγματα Κώδικα
Αρχικοποίηση Συνδέσμου 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});Λήψη και Συγχρονισμός Πελατών
// 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
// 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
// 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]});Όρια Ρυθμού
Το WooCommerce δεν επιβάλλει από μόνο του όρια ρυθμού API, αλλά ο υποκείμενος server WordPress και ο πάροχος hosting μπορεί να επιβάλλουν όρια:
| Παράγοντας | Τυπικό Όριο | Λεπτομέρειες |
|---|---|---|
| Shared hosting | 50-100 αιτ./λεπτό | Ποικίλει ανά host |
| Managed WP hosting | 200-500 αιτ./λεπτό | WP Engine, Kinsta, κ.λπ. |
| Self-hosted | Χωρίς αυστηρό όριο | Περιορίζεται από πόρους server |
| Ανά σελίδα | Μέγ. 100 εγγραφές | Προεπιλογή είναι 10 |
| Λειτουργίες batch | 100 στοιχεία/batch | Δημιουργία, ενημέρωση ή διαγραφή |
Απόδοση Server
Μεγάλα καταστήματα WooCommerce μπορεί να εμφανίζουν αργές αποκρίσεις API. Χρησιμοποιήστε σελιδοποίηση, περιορίστε πεδία με παράμετρο _fields και προγραμματίστε μαζικούς συγχρονισμούς κατά τις ώρες χαμηλής κίνησης.
Αντιμετώπιση Προβλημάτων
| Πρόβλημα | Αιτία | Λύση |
|---|---|---|
401 Unauthorized | Μη έγκυρα κλειδιά API | Αναγεννήστε Consumer Key/Secret στις ρυθμίσεις WooCommerce |
403 Forbidden | Ανεπαρκή δικαιώματα | Ορίστε κλειδί API σε πρόσβαση Ανάγνωση/Εγγραφή |
| Σφάλματα πιστοποιητικού SSL | Μη έγκυρο SSL στην τοποθεσία | Βεβαιωθείτε για έγκυρο πιστοποιητικό SSL· ορίστε verify_ssl: false μόνο για δοκιμή |
| Τα webhooks δεν ενεργοποιούνται | Απενεργοποιημένο WordPress cron | Ενεργοποιήστε WP-Cron ή ρυθμίστε cron επιπέδου server |
| Αργές αποκρίσεις API | Μεγάλη βάση δεδομένων | Βελτιστοποιήστε βάση δεδομένων WordPress, χρησιμοποιήστε παράμετρο _fields |
| Λείπουν προσαρμοσμένα πεδία | Τα meta δεδομένα δεν εκτίθενται | Χρησιμοποιήστε πεδίο meta_data για πρόσβαση σε προσαρμοσμένα meta |
| Προβλήματα σελιδοποίησης | Προεπιλεγμένο μέγεθος σελίδας | Ορίστε ρητά παράμετρο per_page (μέγ. 100) |
Βέλτιστες Πρακτικές
- Χρησιμοποιήστε webhooks για συγχρονισμό σε πραγματικό χρόνο - Ρυθμίστε webhooks WooCommerce αντί polling API
- Επικυρώστε υπογραφές webhook - Να επαληθεύετε πάντα το header
X-WC-Webhook-Signature - Σελιδοποιήστε όλα τα αιτήματα λίστας - Χρησιμοποιήστε παραμέτρους
pageκαιper_page· ελέγξτε headerX-WP-TotalPages - Χρησιμοποιήστε παράμετρο
_fields- Ζητήστε μόνο τα απαραίτητα πεδία για μείωση μεγέθους απόκρισης και βελτίωση απόδοσης - Λειτουργίες batch - Χρησιμοποιήστε batch endpoints για λειτουργίες μαζικής δημιουργίας/ενημέρωσης/διαγραφής (έως 100 στοιχεία)
- Προγραμματίστε μεγάλους συγχρονισμούς - Εκτελέστε αρχικούς πλήρεις συγχρονισμούς κατά τις ώρες χαμηλής κίνησης για αποφυγή πίεσης server
- Ενεργοποιήστε HTTPS - Το WooCommerce API απαιτεί HTTPS για πιστοποίηση OAuth
Ασφάλεια
- OAuth 1.0a - Ασφαλής πιστοποίηση μέσω ζευγών Consumer Key/Secret
- Υπογραφές webhook HMAC - Επικύρωση υπογραφής SHA-256 για εισερχόμενα webhooks
- Απαιτείται HTTPS - Το API απαιτεί κρυπτογράφηση TLS για πιστοποίηση
- Εύρος δικαιωμάτων - Τα κλειδιά API μπορούν να οριστούν σε Ανάγνωση, Εγγραφή ή Ανάγνωση/Εγγραφή
- Ασφάλεια WordPress - Επωφελείται από ενημερώσεις ασφαλείας πυρήνα WordPress
- Εκτιμήσεις PCI - Τα δεδομένα πληρωμής χειρίζονται από gateways πληρωμής WooCommerce, δεν εκτίθενται μέσω API