WooCommerce کنیکٹر
WooCommerce کنیکٹر
مکمل ای-کامرس ڈیٹا سنکرونائزیشن کے لیے Tajo کے ذریعے اپنے WooCommerce اسٹور کو Brevo سے منسلک کریں۔ ہدفی مارکیٹنگ مہمات اور خودکار ورک فلوز کے لیے گاہکوں، آرڈرز، پروڈکٹس، اور کوپن ڈیٹا کو سنک کرنے کے لیے WooCommerce REST API کا فائدہ اٹھائیں۔
جائزہ
| خاصیت | قدر |
|---|---|
| پلیٹ فارم | WooCommerce (WordPress) |
| زمرہ | ای-کامرس |
| سیٹ اپ کی پیچیدگی | درمیانی |
| آفیشل انٹیگریشن | نہیں |
| سنک شدہ ڈیٹا | گاہک، آرڈرز، پروڈکٹس، کوپنز |
| دستیاب اسکلز | 10 |
خصوصیات
- گاہک سنک - Brevo رابطوں میں ریئل ٹائم گاہک ڈیٹا سنکرونائزیشن
- آرڈر ٹریکنگ - خریداری کے بعد کے فلوز کے لیے مکمل آرڈر لائف سائیکل ایونٹ ٹریکنگ
- پروڈکٹ کیٹلاگ سنک - ای میل سفارشات کے لیے پروڈکٹس اور ویریئیشنز سنک کریں
- کوپن مینجمنٹ - پروموشنل مہمات کے لیے کوپن کوڈز سنک کریں
- Webhook سپورٹ - WooCommerce webhooks کے ذریعے ریئل ٹائم اپ ڈیٹس
- کارٹ ترک کرنا - ترک شدہ کارٹس کو ٹریک اور بحال کریں
- ملٹی سائٹ سپورٹ - WordPress multisite 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"Query String تصدیق (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_CATEGORYWebhook تشکیل
WooCommerce > Settings > Advanced > Webhooks میں 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 | ایک 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 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 جوابات کا تجربہ کر سکتے ہیں۔ Pagination استعمال کریں، _fields پیرامیٹر سے فیلڈز محدود کریں، اور غیر پیک گھنٹوں کے دوران بلک سنک شیڈول کریں۔
ٹربل شوٹنگ
| مسئلہ | وجہ | حل |
|---|---|---|
401 Unauthorized | غلط API کیز | WooCommerce سیٹنگز میں Consumer Key/Secret دوبارہ بنائیں |
403 Forbidden | ناکافی اجازتیں | API کی کو Read/Write رسائی پر سیٹ کریں |
| SSL سرٹیفکیٹ کی غلطیاں | سائٹ پر غلط SSL | درست SSL سرٹیفکیٹ یقینی بنائیں؛ صرف ٹیسٹنگ کے لیے verify_ssl: false سیٹ کریں |
| Webhooks فائر نہیں ہو رہے | WordPress cron غیر فعال | WP-Cron فعال کریں یا سرور لیول cron ترتیب دیں |
| سست API جوابات | بڑا ڈیٹابیس | WordPress ڈیٹابیس کو بہتر بنائیں، _fields پیرامیٹر استعمال کریں |
| کسٹم فیلڈز غائب | میٹا ڈیٹا ظاہر نہیں | کسٹم میٹا تک رسائی کے لیے meta_data فیلڈ استعمال کریں |
| Pagination کے مسائل | طے شدہ صفحہ سائز | واضح طور پر per_page پیرامیٹر سیٹ کریں (زیادہ سے زیادہ 100) |
بہترین طرز عمل
- ریئل ٹائم سنک کے لیے webhooks استعمال کریں - API کو polling کرنے کی بجائے WooCommerce webhooks ترتیب دیں
- Webhook دستخطوں کی تصدیق کریں - ہمیشہ
X-WC-Webhook-Signatureہیڈر کی توثیق کریں - تمام فہرست درخواستوں کو Paginate کریں -
pageاورper_pageپیرامیٹرز استعمال کریں؛X-WP-TotalPagesہیڈر چیک کریں _fieldsپیرامیٹر استعمال کریں - جواب کا سائز کم کرنے اور کارکردگی بہتر بنانے کے لیے صرف مطلوبہ فیلڈز کی درخواست کریں- بیچ آپریشنز - بلک بنانے/اپ ڈیٹ/حذف آپریشنز کے لیے بیچ اینڈ پوائنٹس استعمال کریں (100 آئٹمز تک)
- بڑے سنک شیڈول کریں - سرور کے دباؤ سے بچنے کے لیے ابتدائی مکمل سنک غیر پیک گھنٹوں کے دوران چلائیں
- HTTPS فعال کریں - WooCommerce API کو OAuth تصدیق کے لیے HTTPS درکار ہے
سیکیورٹی
- OAuth 1.0a - Consumer Key/Secret جوڑوں کے ذریعے محفوظ تصدیق
- HMAC webhook دستخط - آنے والے webhooks کے لیے SHA-256 دستخط کی توثیق
- HTTPS لازمی - API کو تصدیق کے لیے TLS انکرپشن درکار ہے
- اجازت کی اسکوپنگ - API کیز کو Read، Write، یا Read/Write پر سیٹ کیا جا سکتا ہے
- WordPress سیکیورٹی - WordPress کور سیکیورٹی اپ ڈیٹس سے فائدہ اٹھاتا ہے
- PCI خیالات - ادائیگی کا ڈیٹا WooCommerce ادائیگی گیٹ ویز کے ذریعے سنبھالا جاتا ہے، API کے ذریعے ظاہر نہیں ہوتا