कस्टमर सिंक

कस्टमर सिंक

अपने e-commerce प्लेटफॉर्म से Brevo कॉन्टैक्ट्स में कस्टमर डेटा स्वचालित रूप से सिंक्रोनाइज़ करें। यह स्किल सुनिश्चित करता है कि आपकी Brevo कॉन्टैक्ट सूची हमेशा आपके वर्तमान कस्टमर बेस को प्रतिबिंबित करे।

अवलोकन

गुणमान
श्रेणीData Sync
स्थितिStable
संस्करण2.1
Triggerscustomer_created, customer_updated, customer_deleted
ActionsCreate 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]
  1. इवेंट डिटेक्शन: आपके प्लेटफॉर्म से कस्टमर लाइफसाइकल इवेंट्स को सुनता है
  2. डेटा मैपिंग: प्लेटफॉर्म फ़ील्ड्स को Brevo कॉन्टैक्ट एट्रिब्यूट्स से मैप करता है
  3. API सिंक: Brevo API के माध्यम से कॉन्टैक्ट्स बनाता, अपडेट करता या डिलीट करता है
  4. एरर हैंडलिंग: एक्सपोनेंशियल बैकऑफ के साथ विफल ऑपरेशन्स को पुनः प्रयास करता है

कॉन्फ़िगरेशन

बुनियादी सेटअप

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 एट्रिब्यूट से मैप होता है।

Default: FIRSTNAME
lastName optional
string

कस्टमर का अंतिम नाम। LASTNAME एट्रिब्यूट से मैप होता है।

Default: LASTNAME
phone optional
string

E.164 फ़ॉर्मेट में फ़ोन नंबर। WhatsApp/SMS के लिए SMS एट्रिब्यूट से मैप होता है।

Default: SMS
acceptsMarketing optional
boolean

मार्केटिंग ऑप्ट-इन स्थिति। ईमेल सब्सक्रिप्शन स्थिति को नियंत्रित करती है।

Default: true

कस्टम एट्रिब्यूट्स

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",
"email": "[email protected]",
"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",
"email": "[email protected]",
"changes": {
"phone": {
"old": null,
"new": "+1234567890"
}
}
}
}

customer_deleted

आपके प्लेटफॉर्म से कस्टमर हटाए जाने पर सक्रिय होता है।

{
"event": "customer_deleted",
"timestamp": "2024-01-15T16:00:00Z",
"data": {
"id": "cust_12345",
"email": "[email protected]",
"deletedAt": "2024-01-15T16:00:00Z"
}
}

Actions

कॉन्टैक्ट बनाएं

कस्टमर बनने पर Brevo में नया कॉन्टैक्ट बनाता है।

POST /v3/contacts

अपने Brevo खाते में नया कॉन्टैक्ट बनाएं

Query Parameters

Parameter Description
email string required
कॉन्टैक्ट ईमेल पता
attributes object optional
कॉन्टैक्ट एट्रिब्यूट्स
listIds array optional
List IDs जिनमें कॉन्टैक्ट जोड़ना है
updateEnabled boolean optional
यदि कॉन्टैक्ट मौजूद है तो अपडेट करें
Default: false

Responses

201 कॉन्टैक्ट सफलतापूर्वक बनाया गया
400 अमान्य रिक्वेस्ट पैरामीटर
409 कॉन्टैक्ट पहले से मौजूद है

कॉन्टैक्ट अपडेट करें

कस्टमर डेटा बदलने पर मौजूदा कॉन्टैक्ट को अपडेट करता है।

PUT /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

204 कॉन्टैक्ट सफलतापूर्वक अपडेट किया गया
400 अमान्य रिक्वेस्ट पैरामीटर
404 कॉन्टैक्ट नहीं मिला

कॉन्टैक्ट डिलीट करें

कस्टमर के डिलीट होने पर कॉन्टैक्ट को हटाता है।

DELETE /v3/contacts/{identifier}

Brevo से कॉन्टैक्ट स्थायी रूप से डिलीट करें

Path Parameters

Parameter Description
identifier string required
ईमेल या कॉन्टैक्ट ID

Responses

204 कॉन्टैक्ट सफलतापूर्वक डिलीट किया गया
404 कॉन्टैक्ट नहीं मिला

कोड उदाहरण

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 skill
await 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 sync
await 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 skill
tajo.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 sync
tajo.skills.trigger('customer-sync', {
'event': 'customer_updated',
'data': {
'email': '[email protected]',
'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 - कार्ट गतिविधि ट्रैक करें

अगले कदम

  1. अपने प्लेटफॉर्म के लिए फ़ील्ड मैपिंग कॉन्फ़िगर करें
  2. Brevo में कस्टम एट्रिब्यूट्स सेट अप करें
  3. तत्काल अपडेट के लिए रियल-टाइम सिंक सक्षम करें

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AI सहायक

नमस्ते! डॉक्यूमेंटेशन के बारे में कुछ भी पूछें।

Brevo के साथ मुफ्त में शुरू करें