Ζητήστε πρώιμη πρόσβαση

Συμπληρώστε το όνομά σας και ένα email ή έναν αριθμό τηλεφώνου. Θα σας στείλουμε πληροφορίες για την πρόσβαση στο Tajo.

Οδηγός ενσωμάτωσης Tajo-Brevo

Αυτός ο ολοκληρωμένος οδηγός σάς καθοδηγεί στην ενσωμάτωση της πλατφόρμας πιστότητας Tajo με το Brevo, ώστε να δημιουργήσετε ισχυρές, αυτοματοποιημένες καμπάνιες αλληλεπίδρασης με τους πελάτες.

Επισκόπηση

Η ενσωμάτωση Tajo-Brevo σάς επιτρέπει να:

  • Συγχρονίζετε τα δεδομένα πελατών σε πραγματικό χρόνο ανάμεσα στις δύο πλατφόρμες
  • Αυτοματοποιείτε τις καμπάνιες πιστότητας με βάση τη συμπεριφορά των πελατών
  • Παρακολουθείτε την αλληλεπίδραση σε email, SMS και WhatsApp
  • Τμηματοποιείτε τους πελάτες ανά βαθμίδα πιστότητας και συμπεριφορά αγορών
  • Ενεργοποιείτε εξατομικευμένα μηνύματα για βασικά συμβάντα πιστότητας

Προϋποθέσεις

Πριν ξεκινήσετε την ενσωμάτωση, βεβαιωθείτε ότι διαθέτετε:

  • Λογαριασμό Tajo με διαμορφωμένο πρόγραμμα πιστότητας
  • Λογαριασμό Brevo με πρόσβαση στο API
  • Έγκυρα κλειδιά API και για τις δύο πλατφόρμες
  • Ρυθμισμένα endpoints webhook για συγχρονισμό σε πραγματικό χρόνο
  • Πιστοποιητικό SSL για ασφαλή μετάδοση των δεδομένων

Βήμα 1: Ρύθμιση ελέγχου ταυτότητας

Δημιουργία κλειδιού API του Brevo

  1. Συνδεθείτε στον λογαριασμό σας στο Brevo
  2. Μεταβείτε στο Account & Plan > Κλειδιά API
  3. Κάντε κλικ στο Δημιουργία νέου κλειδιού API
  4. Ονομάστε το «Tajo Integration»
  5. Αντιγράψτε και αποθηκεύστε με ασφάλεια το κλειδί
Terminal window
# Store in environment variables
export BREVO_API_KEY="xkeysib-your-api-key-here"
export TAJO_WEBHOOK_SECRET="your-webhook-secret"

Διαμόρφωση της ενσωμάτωσης Tajo

Στον πίνακα ελέγχου του Tajo:

  1. Μεταβείτε στις Ρυθμίσεις > Ενσωματώσεις
  2. Επιλέξτε το Brevo από τη λίστα
  3. Εισαγάγετε το κλειδί API του Brevo
  4. Διαμορφώστε τις ρυθμίσεις συγχρονισμού
{
"brevo_api_key": "xkeysib-your-api-key-here",
"sync_frequency": "real-time",
"sync_contacts": true,
"sync_orders": true,
"sync_events": true,
"loyalty_attributes": [
"LOYALTY_POINTS",
"LOYALTY_TIER",
"TOTAL_SPENT",
"LAST_PURCHASE"
]
}

Βήμα 2: Συγχρονισμός δεδομένων πελατών

Διαμόρφωση συγχρονισμού επαφών

Ρυθμίστε τον αυτόματο συγχρονισμό επαφών, ώστε τα δεδομένα των πελατών να παραμένουν πάντα ενημερωμένα:

// Sync customer on registration
async function syncCustomerToBrevo(customer) {
const brevoData = {
email: customer.email,
attributes: {
FIRSTNAME: customer.firstName,
LASTNAME: customer.lastName,
PHONE: customer.phone,
LOYALTY_ID: customer.loyaltyId,
LOYALTY_POINTS: customer.points,
LOYALTY_TIER: customer.tier,
SIGNUP_DATE: customer.createdAt,
TOTAL_SPENT: customer.totalSpent,
PREFERRED_CATEGORIES: customer.categories,
BIRTHDAY: customer.birthday
},
listIds: [getListForTier(customer.tier)]
};
const response = await fetch('https://api.brevo.com/v3/contacts', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'api-key': process.env.BREVO_API_KEY
},
body: JSON.stringify(brevoData)
});
return response.json();
}

Συγχρονισμός συμβάντων αγοράς

Συγχρονίστε αυτόματα τις αγορές για να ενεργοποιείτε καμπάνιες πιστότητας:

// Sync order completion
async function syncOrderToBrevo(order, customer) {
// Create order in Brevo
const orderData = {
id: order.id,
email: customer.email,
products: order.items.map(item => ({
id: item.productId,
name: item.name,
quantity: item.quantity,
price: item.price,
category: item.category
})),
revenue: order.total,
date: order.createdAt
};
await fetch('https://api.brevo.com/v3/ecommerce/orders', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'api-key': process.env.BREVO_API_KEY
},
body: JSON.stringify(orderData)
});
// Create loyalty event
const eventData = {
email: customer.email,
event: 'Purchase Completed',
properties: {
order_id: order.id,
amount: order.total,
points_earned: order.pointsEarned,
loyalty_tier: customer.tier,
tier_upgraded: order.tierUpgraded,
products: order.items.map(i => i.name).join(', ')
}
};
await fetch('https://api.brevo.com/v3/events', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'api-key': process.env.BREVO_API_KEY
},
body: JSON.stringify(eventData)
});
}

Βήμα 3: Ρύθμιση αυτοματοποιημένων καμπανιών

Καμπάνια καλωσορίσματος για νέους πελάτες

Δημιουργήστε μια αυτοματοποιημένη σειρά καλωσορίσματος για τα νέα μέλη του προγράμματος πιστότητας:

{
"campaign_name": "Tajo Loyalty Welcome Series",
"trigger": {
"event": "Contact Created",
"conditions": {
"LOYALTY_ID": "exists",
"SIGNUP_DATE": "today"
}
},
"emails": [
{
"delay": "immediate",
"template_id": 101,
"subject": "Welcome to Tajo Loyalty! Here's your {{params.welcome_bonus}} points bonus",
"params": {
"welcome_bonus": "500",
"loyalty_tier": "Bronze",
"next_tier_points": "1000"
}
},
{
"delay": "3 days",
"template_id": 102,
"subject": "Don't forget to use your {{params.welcome_bonus}} bonus points!"
},
{
"delay": "1 week",
"template_id": 103,
"subject": "Here's how to earn points faster with Tajo"
}
]
}

Καμπάνια αναβάθμισης βαθμίδας

Γιορτάστε αυτόματα τις αναβαθμίσεις βαθμίδας:

// Webhook handler for tier upgrades
app.post('/webhook/tier-upgrade', (req, res) => {
const { customer, previousTier, newTier } = req.body;
const campaignData = {
email: customer.email,
template_id: getTierUpgradeTemplate(newTier),
params: {
customer_name: customer.firstName,
new_tier: newTier,
previous_tier: previousTier,
new_benefits: getTierBenefits(newTier),
points_balance: customer.points
}
};
// Send congratulations email
sendBrevoEmail(campaignData);
// Add to tier-specific list
addToBrevoList(customer.email, getTierListId(newTier));
res.status(200).json({ success: true });
});

Βήμα 4: Παρακολούθηση συμβάντων πιστότητας

Βασικά συμβάντα προς παρακολούθηση

Ρυθμίστε την παρακολούθηση για τα εξής βασικά συμβάντα πιστότητας:

const loyaltyEvents = {
// Account Events
'Account Created': {
properties: ['signup_source', 'referral_code', 'welcome_bonus']
},
'Profile Updated': {
properties: ['updated_fields', 'marketing_consent']
},
// Purchase Events
'Purchase Completed': {
properties: ['order_total', 'points_earned', 'loyalty_tier', 'products']
},
'Product Returned': {
properties: ['return_reason', 'points_deducted', 'refund_amount']
},
// Loyalty Events
'Points Earned': {
properties: ['points_amount', 'earning_reason', 'total_balance']
},
'Points Redeemed': {
properties: ['points_used', 'reward_type', 'remaining_balance']
},
'Tier Upgraded': {
properties: ['previous_tier', 'new_tier', 'upgrade_benefits']
},
// Engagement Events
'Email Opened': {
properties: ['campaign_type', 'subject_line', 'device']
},
'Reward Browsed': {
properties: ['reward_category', 'reward_name', 'points_required']
},
'Referral Made': {
properties: ['referral_method', 'referee_email', 'referral_bonus']
}
};

Υλοποίηση της παρακολούθησης συμβάντων

class TajoBrevoEventTracker {
constructor(apiKey) {
this.apiKey = apiKey;
this.baseUrl = 'https://api.brevo.com/v3';
}
async trackEvent(customerEmail, eventName, properties = {}) {
const eventData = {
email: customerEmail,
event: eventName,
properties: {
timestamp: new Date().toISOString(),
source: 'tajo_platform',
...properties
}
};
try {
const response = await fetch(`${this.baseUrl}/events`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'api-key': this.apiKey
},
body: JSON.stringify(eventData)
});
if (!response.ok) {
throw new Error(`Event tracking failed: ${response.statusText}`);
}
return await response.json();
} catch (error) {
console.error('Brevo event tracking error:', error);
throw error;
}
}
// Convenience methods for common events
async trackPurchase(customer, order) {
return this.trackEvent(customer.email, 'Purchase Completed', {
order_id: order.id,
order_total: order.total,
currency: order.currency,
points_earned: order.pointsEarned,
loyalty_tier: customer.tier,
items_count: order.items.length,
first_purchase: customer.orderCount === 1
});
}
async trackTierUpgrade(customer, previousTier) {
return this.trackEvent(customer.email, 'Tier Upgraded', {
previous_tier: previousTier,
new_tier: customer.tier,
points_balance: customer.points,
benefits_unlocked: getTierBenefits(customer.tier),
upgrade_date: new Date().toISOString()
});
}
}

Βήμα 5: Στρατηγική τμηματοποίησης

Τμήματα πελατών

Δημιουργήστε στοχευμένα τμήματα στο Brevo για εξατομικευμένες καμπάνιες:

const loyaltySegments = [
// Tier-based segments
{
name: "Bronze Members",
conditions: { LOYALTY_TIER: "Bronze" },
campaigns: ["tier_upgrade_promotion", "engagement_boost"]
},
{
name: "Silver Members",
conditions: { LOYALTY_TIER: "Silver" },
campaigns: ["premium_offers", "early_access"]
},
{
name: "Gold Members",
conditions: { LOYALTY_TIER: "Gold" },
campaigns: ["vip_treatment", "exclusive_rewards"]
},
{
name: "Platinum Members",
conditions: { LOYALTY_TIER: "Platinum" },
campaigns: ["luxury_experiences", "personal_offers"]
},
// Behavior-based segments
{
name: "High Spenders",
conditions: { TOTAL_SPENT: ">1000" },
campaigns: ["luxury_catalog", "big_spender_rewards"]
},
{
name: "Frequent Shoppers",
conditions: { PURCHASE_FREQUENCY: "weekly" },
campaigns: ["convenience_offers", "bulk_discounts"]
},
{
name: "At-Risk Customers",
conditions: { LAST_PURCHASE: ">90 days" },
campaigns: ["win_back", "special_incentives"]
},
{
name: "Birthday Month",
conditions: { BIRTHDAY: "this_month" },
campaigns: ["birthday_specials", "bonus_points"]
}
];

Βήμα 6: Δοκιμές και παρακολούθηση

Λίστα ελέγχου δοκιμών της ενσωμάτωσης

  • Συγχρονισμός επαφών: Οι νέοι πελάτες εμφανίζονται στο Brevo
  • Συγχρονισμός παραγγελιών: Οι αγορές ενεργοποιούν σωστά τα συμβάντα
  • Παρακολούθηση συμβάντων: Καταγράφονται όλα τα συμβάντα πιστότητας
  • Ενεργοποιητές καμπανιών: Τα αυτοματοποιημένα email αποστέλλονται σωστά
  • Τμηματοποίηση: Οι πελάτες μετακινούνται σωστά μεταξύ των λιστών
  • Παράδοση webhook: Ο συγχρονισμός σε πραγματικό χρόνο λειτουργεί αξιόπιστα

Ρύθμιση της παρακολούθησης

// Health check endpoint
app.get('/integration/health', async (req, res) => {
const checks = {
brevo_api: await checkBrevoConnection(),
webhook_delivery: await checkWebhookDelivery(),
event_tracking: await checkEventTracking(),
campaign_triggers: await checkCampaignTriggers()
};
const allHealthy = Object.values(checks).every(check => check.status === 'ok');
res.status(allHealthy ? 200 : 503).json({
status: allHealthy ? 'healthy' : 'degraded',
checks,
timestamp: new Date().toISOString()
});
});

Αντιμετώπιση συνηθισμένων προβλημάτων

Όρια ρυθμού αιτημάτων του API

Το Brevo έχει όρια ρυθμού αιτημάτων. Υλοποιήστε λογική επανάληψης:

async function makeBrevoRequest(url, options, retries = 3) {
try {
const response = await fetch(url, options);
if (response.status === 429) {
const retryAfter = response.headers.get('Retry-After') || 60;
await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
return makeBrevoRequest(url, options, retries - 1);
}
return response;
} catch (error) {
if (retries > 0) {
await new Promise(resolve => setTimeout(resolve, 5000));
return makeBrevoRequest(url, options, retries - 1);
}
throw error;
}
}

Προβλήματα συγχρονισμού δεδομένων

Παρακολουθήστε και επιλύστε τις συγκρούσεις συγχρονισμού:

// Sync conflict resolution
async function resolveSyncConflict(tajoData, brevoData) {
// Use most recent timestamp as source of truth
const tajoUpdated = new Date(tajoData.updatedAt);
const brevoUpdated = new Date(brevoData.modifiedAt);
if (tajoUpdated > brevoUpdated) {
// Update Brevo with Tajo data
await updateBrevoContact(brevoData.id, tajoData);
} else {
// Update Tajo with Brevo data
await updateTajoCustomer(tajoData.id, brevoData);
}
}

Επόμενα βήματα

  1. Ρυθμίστε τα webhooks για συγχρονισμό σε πραγματικό χρόνο
  2. Δημιουργήστε πρότυπα email για τις καμπάνιες πιστότητας
  3. Διαμορφώστε την αυτοματοποίηση SMS για επείγουσες ειδοποιήσεις
  4. Ρυθμίστε τα analytics για να παρακολουθείτε την απόδοση

Υποστήριξη και πόροι

Ζητήστε πρώιμη πρόσβαση

Συμπληρώστε το όνομά σας και ένα email ή έναν αριθμό τηλεφώνου. Θα σας στείλουμε πληροφορίες για την πρόσβαση στο Tajo.

αυτόματη αναγνώριση
AI Βοηθός

Γεια! Ρωτήστε με οτιδήποτε για την τεκμηρίωση.