WooCommerce कनेक्टर
WooCommerce कनेक्टर
संपूर्ण ई-कॉमर्स डेटा सिंक्रोनाइज़ेशन के लिए अपने WooCommerce स्टोर को Tajo के माध्यम से Brevo से कनेक्ट करें। लक्षित मार्केटिंग अभियानों और स्वचालित वर्कफ़्लो के लिए ग्राहकों, ऑर्डर, उत्पादों, और कूपन डेटा को सिंक करने के लिए WooCommerce REST API का लाभ उठाएं।
अवलोकन
| गुण | मान |
|---|---|
| प्लेटफ़ॉर्म | WooCommerce (WordPress) |
| श्रेणी | ई-कॉमर्स |
| सेटअप जटिलता | मध्यम |
| आधिकारिक इंटीग्रेशन | नहीं |
| सिंक किया गया डेटा | ग्राहक, ऑर्डर, उत्पाद, कूपन |
| उपलब्ध स्किल्स | 10 |
विशेषताएं
- ग्राहक सिंक - Brevo कॉन्टैक्ट्स में रीयल-टाइम ग्राहक डेटा सिंक्रोनाइज़ेशन
- ऑर्डर ट्रैकिंग - पोस्ट-परचेज़ फ्लो के लिए पूर्ण ऑर्डर जीवनचक्र इवेंट ट्रैकिंग
- उत्पाद कैटलॉग सिंक - ईमेल सिफारिशों के लिए उत्पाद और वेरिएशन सिंक करें
- कूपन प्रबंधन - प्रचार अभियानों के लिए कूपन कोड सिंक करें
- वेबहुक समर्थन - WooCommerce वेबहुक्स के माध्यम से रीयल-टाइम अपडेट
- कार्ट छोड़ना - त्याग किए गए कार्ट्स को ट्रैक करें और रिकवर करें
- मल्टी-साइट समर्थन - WordPress मल्टीसाइट WooCommerce इंस्टॉलेशन कनेक्ट करें
- कस्टम मेटा फ़ील्ड्स - WooCommerce कस्टम मेटा को Brevo एट्रिब्यूट्स में मैप करें
पूर्वावश्यकताएं
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:
- WooCommerce प्लगइन इंस्टॉल और सक्रिय के साथ एक WordPress साइट
- WooCommerce REST API सक्षम (Settings > Advanced > REST API)
- API Consumer Key और Consumer Secret जनरेट किए गए
- आपकी साइट को API प्रमाणीकरण के लिए HTTPS का उपयोग करना चाहिए
- API एक्सेस वाला एक Brevo खाता
- API क्रेडेंशियल्स के साथ एक Tajo खाता
प्रमाणीकरण
REST API कीज़
WooCommerce प्रमाणीकरण के लिए Consumer Key और Consumer Secret जोड़े का उपयोग करता है। इन्हें WooCommerce > Settings > Advanced > REST API में जनरेट करें।
OAuth 1.0a (HTTPS साइट्स)
curl https://yourstore.com/wp-json/wc/v3/orders \ -u "consumer_key:consumer_secret"क्वेरी स्ट्रिंग प्रमाणीकरण (HTTPS)
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"अनुमति स्तर
| अनुमति | एक्सेस |
|---|---|
| Read | केवल संसाधन देखें |
| Write | संसाधन बनाएं और संपादित करें |
| Read/Write | पूर्ण 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वेबहुक कॉन्फ़िगरेशन
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 एंडपॉइंट्स
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
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 | एक वेबहुक बनाएं |
कोड उदाहरण
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'];वेबहुक इवेंट्स संभालें
// 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 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 दर सीमाएं लागू नहीं करता है, लेकिन अंतर्निहित WordPress सर्वर और होस्टिंग प्रदाता सीमाएं लगा सकते हैं:
| कारक | विशिष्ट सीमा | विवरण |
|---|---|---|
| साझा होस्टिंग | 50-100 अनुरोध/मिनट | होस्ट द्वारा भिन्न |
| प्रबंधित WP होस्टिंग | 200-500 अनुरोध/मिनट | WP Engine, Kinsta, आदि। |
| स्व-होस्टेड | कोई कठोर सीमा नहीं | सर्वर संसाधनों से सीमित |
| प्रति पेज | अधिकतम 100 रिकॉर्ड | डिफ़ॉल्ट 10 है |
| बैच संचालन | 100 आइटम/बैच | बनाएं, अपडेट, या हटाएं |
सर्वर प्रदर्शन
बड़े WooCommerce स्टोर्स को धीमी API प्रतिक्रियाओं का अनुभव हो सकता है। पेजीनेशन का उपयोग करें, _fields पैरामीटर के साथ फ़ील्ड्स सीमित करें, और ऑफ-पीक घंटों के दौरान बल्क सिंक शेड्यूल करें।
समस्या निवारण
| समस्या | कारण | समाधान |
|---|---|---|
401 Unauthorized | अमान्य API कीज़ | WooCommerce सेटिंग्स में Consumer Key/Secret पुनः जनरेट करें |
403 Forbidden | अपर्याप्त अनुमतियां | API की को Read/Write एक्सेस पर सेट करें |
| SSL प्रमाणपत्र त्रुटियां | साइट पर अमान्य SSL | वैध SSL प्रमाणपत्र सुनिश्चित करें; केवल परीक्षण के लिए verify_ssl: false सेट करें |
| वेबहुक्स फायर नहीं हो रहे | WordPress cron अक्षम | WP-Cron सक्षम करें या सर्वर-स्तर cron कॉन्फ़िगर करें |
| धीमी API प्रतिक्रियाएं | बड़ा डेटाबेस | WordPress डेटाबेस को ऑप्टिमाइज़ करें, _fields पैरामीटर का उपयोग करें |
| कस्टम फ़ील्ड्स गायब | मेटा डेटा उजागर नहीं | कस्टम मेटा एक्सेस करने के लिए meta_data फ़ील्ड का उपयोग करें |
| पेजीनेशन समस्याएं | डिफ़ॉल्ट पेज आकार | स्पष्ट रूप से per_page पैरामीटर सेट करें (अधिकतम 100) |
सर्वोत्तम प्रथाएं
- रीयल-टाइम सिंक के लिए वेबहुक्स का उपयोग करें - API पोल करने के बजाय WooCommerce वेबहुक्स कॉन्फ़िगर करें
- वेबहुक सिग्नेचर सत्यापित करें - हमेशा
X-WC-Webhook-Signatureहेडर मान्य करें - सभी सूची अनुरोधों को पेजिनेट करें -
pageऔरper_pageपैरामीटर का उपयोग करें;X-WP-TotalPagesहेडर जांचें _fieldsपैरामीटर का उपयोग करें - प्रतिक्रिया आकार कम करने और प्रदर्शन में सुधार के लिए केवल आवश्यक फ़ील्ड्स का अनुरोध करें- बैच संचालन - बल्क बनाएं/अपडेट/हटाएं संचालन के लिए बैच एंडपॉइंट्स का उपयोग करें (100 आइटम तक)
- बड़े सिंक शेड्यूल करें - सर्वर तनाव से बचने के लिए ऑफ-पीक घंटों में प्रारंभिक पूर्ण सिंक चलाएं
- HTTPS सक्षम करें - OAuth प्रमाणीकरण के लिए WooCommerce API को HTTPS की आवश्यकता होती है
सुरक्षा
- OAuth 1.0a - Consumer Key/Secret जोड़ों के माध्यम से सुरक्षित प्रमाणीकरण
- HMAC वेबहुक सिग्नेचर - आने वाले वेबहुक्स के लिए SHA-256 सिग्नेचर सत्यापन
- HTTPS आवश्यक - API को प्रमाणीकरण के लिए TLS एन्क्रिप्शन की आवश्यकता है
- अनुमति स्कोपिंग - API कीज़ को Read, Write, या Read/Write पर सेट किया जा सकता है
- WordPress सुरक्षा - WordPress कोर सुरक्षा अपडेट से लाभान्वित
- PCI विचार - भुगतान डेटा WooCommerce भुगतान गेटवे द्वारा संभाला जाता है, API के माध्यम से उजागर नहीं