Shopify कनेक्टर
Shopify कनेक्टर
संपूर्ण ग्राहक डेटा सिंक्रोनाइज़ेशन, त्याग किए गए कार्ट रिकवरी, और स्वचालित मार्केटिंग अभियानों के लिए अपने Shopify स्टोर को Brevo से कनेक्ट करें।
अवलोकन
| गुण | मान |
|---|---|
| प्लेटफ़ॉर्म | Shopify |
| श्रेणी | ई-कॉमर्स |
| सेटअप जटिलता | आसान |
| आधिकारिक इंटीग्रेशन | हां |
| सिंक किया गया डेटा | ग्राहक, ऑर्डर, उत्पाद, कार्ट्स, इवेंट्स |
| उपलब्ध स्किल्स | 12 |
विशेषताएं
- रीयल-टाइम ग्राहक सिंक - ग्राहक डेटा तुरंत Brevo कॉन्टैक्ट्स में सिंक किया जाता है
- ऑर्डर ट्रैकिंग - पोस्ट-परचेज़ फ्लो के लिए ऑर्डर इवेंट्स
- उत्पाद कैटलॉग सिंक - सिफारिशों के लिए उत्पाद उपलब्ध
- कार्ट छोड़ना - त्याग किए गए कार्ट्स को ट्रैक करें और रिकवर करें
- ब्राउज़ व्यवहार - पेज व्यू और उत्पाद रुचि ट्रैकिंग
- मल्टी-स्टोर समर्थन - कई Shopify स्टोर्स को कनेक्ट करें
पूर्वावश्यकताएं
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:
- एडमिन एक्सेस वाला एक Shopify स्टोर
- API एक्सेस वाला एक Brevo खाता
- एक Tajo खाता
इंस्टॉलेशन
विकल्प 1: Shopify App Store (अनुशंसित)
- Shopify App Store में Tajo ऐप पर जाएं
- “Add app” पर क्लिक करें
- अनुरोधित अनुमतियां प्रदान करें
- अपना Brevo खाता कनेक्ट करें
विकल्प 2: मैनुअल इंस्टॉलेशन
चरण 1: एक Shopify ऐप बनाएं
- अपने Shopify एडमिन पर जाएं → Settings → Apps and sales channels
- “Develop apps” → “Create an app” पर क्लिक करें
- इसका नाम “Tajo Integration” रखें
चरण 2: API स्कोप्स कॉन्फ़िगर करें
इन स्कोप्स को सक्षम करें:
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsचरण 3: ऐप इंस्टॉल करें
# Using Tajo CLItajo connectors install shopify \ --shop-url your-store.myshopify.com \ --api-key $SHOPIFY_API_KEY \ --api-secret $SHOPIFY_API_SECRETचरण 4: वेबहुक्स कॉन्फ़िगर करें
Tajo स्वचालित रूप से इन वेबहुक्स को पंजीकृत करता है:
| वेबहुक | उद्देश्य |
|---|---|
customers/create | नए ग्राहक सिंक |
customers/update | ग्राहक डेटा परिवर्तन |
customers/delete | ग्राहक हटाना |
orders/create | ऑर्डर दिए गए इवेंट्स |
orders/updated | ऑर्डर स्टेटस परिवर्तन |
checkouts/create | कार्ट बनाया गया |
checkouts/update | कार्ट अपडेट किया गया |
कॉन्फ़िगरेशन
बुनियादी सेटअप
connectors: shopify: enabled: true shop_url: "your-store.myshopify.com" api_version: "2024-01"
# Data sync options sync: customers: true orders: true products: true carts: true inventory: false # Optional
# List assignment lists: all_customers: 5 buyers: 6 abandoned_cart: 7फ़ील्ड मैपिंग
Shopify फ़ील्ड्स को Brevo कॉन्टैक्ट एट्रिब्यूट्स में मैप करें:
डिफ़ॉल्ट मैपिंग्स
| Parameter | Type | Description |
|---|---|---|
email required | string | ग्राहक ईमेल (विशिष्ट पहचानकर्ता) |
first_name optional | string | FIRSTNAME एट्रिब्यूट से मैप होता है |
last_name optional | string | LASTNAME एट्रिब्यूट से मैप होता है |
phone optional | string | WhatsApp/SMS के लिए SMS एट्रिब्यूट से मैप होता है |
accepts_marketing optional | boolean | सब्सक्रिप्शन स्टेटस को नियंत्रित करता है |
orders_count optional | integer | ऑर्डर्स की कुल संख्या |
total_spent optional | number | जीवनकाल ग्राहक मूल्य |
tags optional | array | Shopify से ग्राहक टैग्स |
कस्टम एट्रिब्यूट मैपिंग
field_mapping: # Standard fields email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# E-commerce metrics orders_count: ORDER_COUNT total_spent: TOTAL_SPENT last_order_date: LAST_ORDER_DATE
# Custom fields customer_type: CUSTOMER_TYPE preferred_language: LANGUAGE loyalty_tier: VIP_TIER
# Computed fields average_order_value: AOV days_since_last_order: RECENCYउत्पाद सिंक
ईमेल सिफारिशों के लिए उत्पादों को सिंक करें:
sync: products: enabled: true include_variants: true include_images: true categories_as_tags: true
# Filter products filter: status: active exclude_tags: ["hidden", "wholesale-only"]इन्वेंट्री ट्रैकिंग
स्टॉक स्तर सिंक्रोनाइज़ेशन सक्षम करें:
sync: inventory: enabled: true low_stock_threshold: 10 out_of_stock_events: trueइवेंट्स
ग्राहक इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
customer_created | नए ग्राहक साइनअप | स्वागत श्रृंखला |
customer_updated | प्रोफ़ाइल परिवर्तन | डेटा सिंक |
customer_tags_added | टैग्स सौंपे गए | सेगमेंट अपडेट |
ऑर्डर इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
order_placed | चेकआउट पूर्ण | ऑर्डर पुष्टि |
order_fulfilled | ऑर्डर शिप किया गया | शिपिंग सूचना |
order_cancelled | ऑर्डर रद्द | रद्दीकरण ईमेल |
order_refunded | रिफ़ंड संसाधित | रिफ़ंड पुष्टि |
कार्ट इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
cart_created | कार्ट में आइटम जोड़े गए | ब्राउज़ ट्रैकिंग |
cart_updated | कार्ट संशोधित | कार्ट मूल्य ट्रैकिंग |
cart_abandoned | 30 मिनट में कोई चेकआउट नहीं | रिकवरी ईमेल |
सक्षम किए गए स्किल्स
Shopify कनेक्टर इन स्किल्स को सक्षम करता है:
| स्किल | विवरण |
|---|---|
| Customer Sync | रीयल-टाइम ग्राहक सिंक |
| Order Events | ऑर्डर जीवनचक्र ट्रैकिंग |
| Abandoned Cart | कार्ट रिकवरी ईमेल |
| Welcome Series | नए ग्राहक ऑनबोर्डिंग |
| Post-Purchase | ऑर्डर फ़ॉलो-अप |
| Win-Back | निष्क्रिय ग्राहकों को पुनः संलग्न करें |
| Browse Abandonment | उत्पाद रुचि फ़ॉलो-अप |
| Replenishment | पुनः ऑर्डर अनुस्मारक |
कोड उदाहरण
कनेक्टर प्रारंभ करें
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Shopify storeawait tajo.connectors.connect('shopify', { shopUrl: 'your-store.myshopify.com', apiKey: process.env.SHOPIFY_API_KEY, apiSecret: process.env.SHOPIFY_API_SECRET});प्रारंभिक सिंक चलाएं
// Full historical syncawait tajo.connectors.sync('shopify', { type: 'full', resources: ['customers', 'orders', 'products'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('shopify');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// customersCount: 15420,// ordersCount: 8234,// productsCount: 342// }कार्ट इवेंट्स ट्रैक करें
अपने Shopify थीम में Tajo स्क्रिप्ट जोड़ें:
<!-- Add to theme.liquid before </head> -->{% if customer %}<script> window.tajoConfig = { customerId: "{{ customer.id }}", customerEmail: "{{ customer.email }}", customerName: "{{ customer.first_name }}" };</script>{% endif %}<script src="https://cdn.tajo.io/shopify.js"></script>कस्टम वेबहुक हैंडलर
// Handle Shopify webhooks manuallyapp.post('/webhooks/shopify', async (req, res) => { const hmac = req.get('X-Shopify-Hmac-SHA256');
// Verify webhook signature if (!verifyShopifyWebhook(req.body, hmac)) { return res.status(401).send('Unauthorized'); }
const topic = req.get('X-Shopify-Topic');
// Forward to Tajo await tajo.connectors.handleWebhook('shopify', { topic, payload: req.body });
res.status(200).send('OK');});मॉनिटरिंग
डैशबोर्ड मेट्रिक्स
Tajo डैशबोर्ड में अपने Shopify कनेक्शन की निगरानी करें:
- सिंक स्थिति: रीयल-टाइम कनेक्शन स्वास्थ्य
- सिंक किए गए ग्राहक: Shopify से कुल कॉन्टैक्ट्स
- ट्रैक किए गए ऑर्डर: संसाधित ऑर्डर इवेंट्स
- कार्ट रिकवरी: त्याग किए गए कार्ट प्रदर्शन
- त्रुटि दर: विफल सिंक प्रयास
वेबहुक लॉग्स
वेबहुक डिलीवरी स्थिति देखें:
tajo connectors logs shopify --type webhook --last 24hसिंक इतिहास
ऐतिहासिक सिंक संचालन देखें:
tajo connectors history shopify --limit 10समस्या निवारण
सामान्य समस्याएं
API दर सीमाएं
Shopify की API दर सीमा 2 अनुरोध/सेकंड है। बड़े ऐतिहासिक आयात के लिए बैच सिंक का उपयोग करें।
| समस्या | कारण | समाधान |
|---|---|---|
| वेबहुक प्राप्त नहीं हुआ | ऐप अनुमतियां | सही स्कोप्स के साथ ऐप पुनः इंस्टॉल करें |
| ग्राहक सिंक नहीं हुआ | ईमेल गायब | Shopify ग्राहकों के लिए ईमेल आवश्यक है |
| उत्पाद गायब | उत्पाद स्थिति | जांचें कि उत्पाद “active” स्थिति में है |
| कार्ट ट्रैक नहीं हुआ | स्क्रिप्ट लोड नहीं हुई | theme.liquid में स्क्रिप्ट की पुष्टि करें |
डीबग मोड
विस्तृत लॉगिंग सक्षम करें:
connectors: shopify: debug: true log_level: verbose log_webhooks: trueकनेक्शन परीक्षण करें
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableसर्वोत्तम प्रथाएं
- परीक्षण स्टोर से शुरू करें - पहले विकास स्टोर का उपयोग करें
- प्रारंभिक सिंक ऑफ-आवर्स में चलाएं - बड़े सिंक धीमे हो सकते हैं
- कस्टम एट्रिब्यूट्स मैप करें - केवल डिफ़ॉल्ट मैपिंग पर निर्भर न रहें
- कार्ट ट्रैकिंग सक्षम करें - त्याग किए गए कार्ट रिकवरी के लिए महत्वपूर्ण
- वेबहुक स्वास्थ्य की निगरानी करें - विफल डिलीवरी के लिए अलर्ट सेट करें
- बैच इंपोर्ट का उपयोग करें - 10,000 से अधिक रिकॉर्ड्स के ऐतिहासिक डेटा के लिए
सुरक्षा
- OAuth 2.0 - सुरक्षित टोकन-आधारित प्रमाणीकरण
- वेबहुक सत्यापन - HMAC सिग्नेचर सत्यापन
- एन्क्रिप्टेड स्टोरेज - API क्रेडेंशियल्स विश्राम पर एन्क्रिप्टेड
- स्कोप्ड एक्सेस - केवल न्यूनतम आवश्यक अनुमतियां