कस्टमर सिंक
कस्टमर सिंक
अपने e-commerce प्लेटफॉर्म से Brevo कॉन्टैक्ट्स में कस्टमर डेटा स्वचालित रूप से सिंक्रोनाइज़ करें। यह स्किल सुनिश्चित करता है कि आपकी Brevo कॉन्टैक्ट सूची हमेशा आपके वर्तमान कस्टमर बेस को प्रतिबिंबित करे।
अवलोकन
| गुण | मान |
|---|---|
| श्रेणी | Data Sync |
| स्थिति | Stable |
| संस्करण | 2.1 |
| Triggers | customer_created, customer_updated, customer_deleted |
| Actions | Create Contact, Update Contact, Delete Contact |
यह कैसे काम करता है
graph LR A[E-commerce Platform] -->|Customer Event| B[Customer Sync Skill] B -->|Map Data| C[Field Mapping] C -->|API Call| D[Brevo Contacts API] D -->|Success| E[Contact Updated] D -->|Error| F[Retry Queue]- इवेंट डिटेक्शन: आपके प्लेटफॉर्म से कस्टमर लाइफसाइकल इवेंट्स को सुनता है
- डेटा मैपिंग: प्लेटफॉर्म फ़ील्ड्स को Brevo कॉन्टैक्ट एट्रिब्यूट्स से मैप करता है
- API सिंक: Brevo API के माध्यम से कॉन्टैक्ट्स बनाता, अपडेट करता या डिलीट करता है
- एरर हैंडलिंग: एक्सपोनेंशियल बैकऑफ के साथ विफल ऑपरेशन्स को पुनः प्रयास करता है
कॉन्फ़िगरेशन
बुनियादी सेटअप
skills: customer-sync: enabled: true source: shopify # or woocommerce, magento, custom
# Map platform fields to Brevo attributes field_mapping: email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS
# Sync options options: sync_mode: realtime # or batch delete_behavior: soft # or hard list_id: 5 # Add to this listफ़ील्ड मैपिंग
अपने प्लेटफॉर्म के कस्टमर फ़ील्ड्स को Brevo कॉन्टैक्ट एट्रिब्यूट्स से मैप करें:
डिफ़ॉल्ट फ़ील्ड मैपिंग
| Parameter | Type | Description |
|---|---|---|
email required | string | कस्टमर ईमेल पता। Brevo में यूनीक आइडेंटिफ़ायर के रूप में उपयोग किया जाता है। |
firstName optional | string | कस्टमर का पहला नाम। FIRSTNAME एट्रिब्यूट से मैप होता है। |
lastName optional | string | कस्टमर का अंतिम नाम। LASTNAME एट्रिब्यूट से मैप होता है। |
phone optional | string | E.164 फ़ॉर्मेट में फ़ोन नंबर। WhatsApp/SMS के लिए SMS एट्रिब्यूट से मैप होता है। |
acceptsMarketing optional | boolean | मार्केटिंग ऑप्ट-इन स्थिति। ईमेल सब्सक्रिप्शन स्थिति को नियंत्रित करती है। |
कस्टम एट्रिब्यूट्स
e-commerce डेटा के लिए कस्टम एट्रिब्यूट मैपिंग जोड़ें:
field_mapping: # Standard fields email: email firstName: FIRSTNAME
# Custom e-commerce attributes totalOrders: TOTAL_ORDERS totalSpent: TOTAL_SPENT lastOrderDate: LAST_ORDER_DATE customerTier: CUSTOMER_TIER tags: TAGSपहले एट्रिब्यूट्स बनाएं
पहले एट्रिब्यूट्स बनाएं: कस्टम एट्रिब्यूट्स को सिंक करने से पहले Brevo में बनाना आवश्यक है। उन्हें बनाने के लिए Brevo डैशबोर्ड या API का उपयोग करें।
Triggers
customer_created
आपके प्लेटफॉर्म में नया कस्टमर बनने पर सक्रिय होता है।
{ "event": "customer_created", "timestamp": "2024-01-15T10:30:00Z", "data": { "id": "cust_12345", "firstName": "Jane", "lastName": "Smith", "phone": "+1234567890", "acceptsMarketing": true, "createdAt": "2024-01-15T10:30:00Z" }}customer_updated
कस्टमर जानकारी संशोधित होने पर सक्रिय होता है।
{ "event": "customer_updated", "timestamp": "2024-01-15T14:45:00Z", "data": { "id": "cust_12345", "changes": { "phone": { "old": null, "new": "+1234567890" } } }}customer_deleted
आपके प्लेटफॉर्म से कस्टमर हटाए जाने पर सक्रिय होता है।
{ "event": "customer_deleted", "timestamp": "2024-01-15T16:00:00Z", "data": { "id": "cust_12345", "deletedAt": "2024-01-15T16:00:00Z" }}Actions
कॉन्टैक्ट बनाएं
कस्टमर बनने पर Brevo में नया कॉन्टैक्ट बनाता है।
/v3/contacts अपने Brevo खाते में नया कॉन्टैक्ट बनाएं
Query Parameters
| Parameter | Description |
|---|---|
| email string required | कॉन्टैक्ट ईमेल पता |
| attributes object optional | कॉन्टैक्ट एट्रिब्यूट्स |
| listIds array optional | List IDs जिनमें कॉन्टैक्ट जोड़ना है |
| updateEnabled boolean optional | यदि कॉन्टैक्ट मौजूद है तो अपडेट करें
Default: false |
Responses
कॉन्टैक्ट अपडेट करें
कस्टमर डेटा बदलने पर मौजूदा कॉन्टैक्ट को अपडेट करता है।
/v3/contacts/{identifier} मौजूदा कॉन्टैक्ट के एट्रिब्यूट्स अपडेट करें
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | ईमेल या कॉन्टैक्ट ID |
Query Parameters
| Parameter | Description |
|---|---|
| attributes object optional | अपडेट करने के लिए एट्रिब्यूट्स |
| listIds array optional | सूचियाँ जिनमें कॉन्टैक्ट जोड़ना है |
| unlinkListIds array optional | सूचियाँ जिनसे कॉन्टैक्ट हटाना है |
Responses
कॉन्टैक्ट डिलीट करें
कस्टमर के डिलीट होने पर कॉन्टैक्ट को हटाता है।
/v3/contacts/{identifier} Brevo से कॉन्टैक्ट स्थायी रूप से डिलीट करें
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | ईमेल या कॉन्टैक्ट ID |
Responses
कोड उदाहरण
JavaScript (Node.js)
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Enable customer sync skillawait tajo.skills.enable('customer-sync', { source: 'shopify', fieldMapping: { email: 'email', firstName: 'FIRSTNAME', lastName: 'LASTNAME', totalOrders: 'TOTAL_ORDERS', totalSpent: 'TOTAL_SPENT' }, options: { syncMode: 'realtime', listId: 5 }});
// Manually trigger a syncawait tajo.skills.trigger('customer-sync', { event: 'customer_created', data: { firstName: 'Jane', lastName: 'Smith' }});Python
from tajo import TajoClient
tajo = TajoClient( api_key=os.environ['TAJO_API_KEY'], brevo_api_key=os.environ['BREVO_API_KEY'])
# Enable customer sync skilltajo.skills.enable('customer-sync', { 'source': 'woocommerce', 'field_mapping': { 'email': 'email', 'first_name': 'FIRSTNAME', 'last_name': 'LASTNAME', 'total_orders': 'TOTAL_ORDERS' }, 'options': { 'sync_mode': 'realtime', 'list_id': 5 }})
# Manually trigger a synctajo.skills.trigger('customer-sync', { 'event': 'customer_updated', 'data': { 'total_orders': 10, 'total_spent': 1250.00 }})मॉनिटरिंग
सिंक स्टेटस डैशबोर्ड
Tajo डैशबोर्ड में सिंक प्रदर्शन की निगरानी करें:
- सिंक सफलता दर: सफल सिंक्स का प्रतिशत
- औसत लेटेंसी: इवेंट से Brevo अपडेट तक का समय
- त्रुटि दर: विफल सिंक प्रयास
- कतार गहराई: लंबित सिंक ऑपरेशन्स
Webhook सूचनाएं
सिंक इवेंट्स के लिए सूचनाएं प्राप्त करें:
notifications: webhook_url: https://your-app.com/webhooks/tajo events: - sync_completed - sync_failed - batch_completedसमस्या निवारण
सामान्य समस्याएं
कॉन्टैक्ट पहले से मौजूद है (409)
विफल होने के बजाय मौजूदा कॉन्टैक्ट्स को अपडेट करने के लिए अपने कॉन्फ़िगरेशन में updateEnabled: true सक्षम करें।
| त्रुटि | कारण | समाधान |
|---|---|---|
Contact already exists | ईमेल के साथ कॉन्टैक्ट मौजूद है | updateEnabled: true सक्षम करें |
Invalid attribute | एट्रिब्यूट Brevo में मौजूद नहीं है | पहले Brevo में एट्रिब्यूट बनाएं |
Rate limit exceeded | बहुत अधिक API अनुरोध | बैच सिंक मोड का उपयोग करें |
Invalid email format | गलत ईमेल पता | सिंक से पहले ईमेल सत्यापित करें |
डीबग मोड
समस्या निवारण के लिए डीबग लॉगिंग सक्षम करें:
skills: customer-sync: debug: true log_level: verboseसंबंधित स्किल्स
- Order Events - ऑर्डर डेटा सिंक करें
- Product Catalog - प्रोडक्ट डेटा सिंक करें
- Cart Events - कार्ट गतिविधि ट्रैक करें
अगले कदम
- अपने प्लेटफॉर्म के लिए फ़ील्ड मैपिंग कॉन्फ़िगर करें
- Brevo में कस्टम एट्रिब्यूट्स सेट अप करें
- तत्काल अपडेट के लिए रियल-टाइम सिंक सक्षम करें