Brevo Connector
Brevo Connector
Verbinde dein Brevo-Konto mit Tajo für einheitliches Kontaktmanagement, Transactional Messaging über E-Mail, SMS und WhatsApp sowie umfassende Marketing-Automatisierung.
Überblick
| Eigenschaft | Wert |
|---|---|
| Plattform | Brevo |
| Kategorie | Marketing |
| Einrichtungsaufwand | Einfach |
| Offizielle Integration | Ja |
| Synchronisierte Daten | Kontakte, Kampagnen, Transactional Messages, Events, eCommerce |
| API-Basis-URL | https://api.brevo.com/v3 |
Funktionen
- Multi-Channel-Messaging - Versende Transactional E-Mails, SMS und WhatsApp-Nachrichten über eine einheitliche API
- Kontaktmanagement - Lege Kontakte mit benutzerdefinierten Attributen an, aktualisiere sie und segmentiere sie
- Marketing-Kampagnen - Erstelle und versende E-Mail-Kampagnen programmatisch
- Event-Tracking - Tracke Custom Events und Website-Aktivität über den Brevo-Tracker
- eCommerce-Sync - Synchronisiere Produkte, Bestellungen und Warenkorbdaten für personalisierte Kampagnen
- Loyalty-Programme - Verwalte Loyalty-Abonnements, Punkte und Mitgliederdaten
- Webhook-Unterstützung - Echtzeitbenachrichtigungen für Transactional-, Marketing- und CRM-Events
- Conversations - Integration des Live-Chat-Widgets und programmatisches Nachrichtenmanagement
Voraussetzungen
Bevor du beginnst, stelle sicher, dass du Folgendes hast:
- Ein Brevo-Konto (Free-, Starter-, Business- oder Enterprise-Plan)
- Einen API-Schlüssel, der in Brevo unter Settings > API Keys erstellt wurde
- Ein Tajo-Konto mit API-Zugriff
- Eine verifizierte Absender-Domain für den E-Mail-Versand
Authentifizierung
Brevo unterstützt zwei Authentifizierungsmethoden:
API-Schlüssel-Authentifizierung (Empfohlen)
Füge deinen API-Schlüssel bei jeder Anfrage im api-key-Header ein. Am besten geeignet für direkte Integrationen und Server-zu-Server-Kommunikation.
curl -X GET "https://api.brevo.com/v3/account" \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json"OAuth-2.0-Authentifizierung
Nutze OAuth 2.0 für private Integrationen innerhalb einer Organisation, die delegierten Zugriff und benutzerspezifische Berechtigungen erfordern. OAuth bietet ein token-basiertes System mit definierten Gültigkeitszeiträumen.
OAuth-Verfügbarkeit
OAuth steht aktuell ausschließlich für private Integrationen innerhalb einer Organisation zur Verfügung. OAuth-Integrationen sind nicht für eine öffentliche Verbreitung oder einen Marketplace-Eintrag gedacht.
Konfiguration
Grundeinrichtung
connectors: brevo: enabled: true api_key: "${BREVO_API_KEY}" api_version: "v3"
# Data sync options sync: contacts: true campaigns: true transactional: true events: true ecommerce: true
# List assignment lists: all_customers: 5 newsletter: 6 buyers: 7Feldzuordnung
Ordne deine Datenfelder den Brevo-Kontaktattributen zu:
Standardzuordnungen
| Parameter | Type | Description |
|---|---|---|
email required | string | E-Mail-Adresse des Kontakts (eindeutige Kennung) |
FIRSTNAME optional | string | Vorname des Kontakts |
LASTNAME optional | string | Nachname des Kontakts |
SMS optional | string | Telefonnummer für SMS- und WhatsApp-Nachrichten |
OPT_IN optional | boolean | Einwilligungsstatus für Marketing-Opt-in |
ORDER_COUNT optional | integer | Gesamtzahl der aufgegebenen Bestellungen |
TOTAL_REVENUE optional | number | Lifetime-Umsatz des Kontakts |
LOYALTY_POINTS optional | integer | Aktueller Punktestand im Loyalty-Programm |
Zuordnung benutzerdefinierter Attribute
field_mapping: # Standard fields email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# Marketing fields opt_in: OPT_IN signup_source: SIGNUP_SOURCE preferred_language: LANGUAGE
# eCommerce metrics orders_count: ORDER_COUNT total_spent: TOTAL_REVENUE last_order_date: LAST_ORDER_DATE
# Loyalty fields loyalty_tier: VIP_TIER loyalty_points: LOYALTY_POINTSAPI-Endpoints
Kern-Endpoints
| Methode | Endpoint | Beschreibung |
|---|---|---|
POST | /v3/smtp/email | Transactional E-Mail versenden |
POST | /v3/transactionalSMS/send | Transactional SMS versenden |
POST | /v3/whatsapp/sendMessage | Transactional WhatsApp-Nachricht versenden |
POST | /v3/contacts | Einen Kontakt erstellen |
PUT | /v3/contacts/{email} | Einen Kontakt aktualisieren |
GET | /v3/contacts/{identifier} | Kontaktdetails abrufen |
POST | /v3/contacts/import | Kontakte per Bulk-Import importieren |
eCommerce-Endpoints
| Methode | Endpoint | Beschreibung |
|---|---|---|
POST | /v3/orders/status | Bestellstatus anlegen oder aktualisieren |
POST | /v3/products | Produkte anlegen oder aktualisieren |
POST | /v3/categories | Produktkategorien anlegen oder aktualisieren |
POST | /v3/events | Custom Events tracken |
Kampagnen-Endpoints
| Methode | Endpoint | Beschreibung |
|---|---|---|
POST | /v3/emailCampaigns | Eine E-Mail-Kampagne anlegen |
POST | /v3/emailCampaigns/{id}/sendNow | Eine Kampagne sofort senden |
GET | /v3/emailCampaigns | Alle E-Mail-Kampagnen auflisten |
GET | /v3/smtp/statistics/events | E-Mail-Event-Statistiken abrufen |
Events
Transactional Events
| Event | Auslöser | Anwendungsfall |
|---|---|---|
delivered | E-Mail im Posteingang zugestellt | Zustellbestätigung |
opened | E-Mail von Empfänger:in geöffnet | Engagement-Tracking |
clicked | Link in E-Mail angeklickt | Click-Through-Tracking |
bounced | E-Mail ist gebounced | Listen-Hygiene |
spam | Als Spam markiert | Compliance-Monitoring |
unsubscribed | Kontakt hat sich abgemeldet | Präferenz-Management |
eCommerce-Events
| Event | Auslöser | Anwendungsfall |
|---|---|---|
order_completed | Bestellung erfolgreich aufgegeben | Post-Purchase-Flows |
cart_updated | Warenkorbinhalt geändert | Tracking abgebrochener Warenkörbe |
cart_deleted | Warenkorb geleert oder abgelaufen | Cart-Recovery |
product_viewed | Produktseite aufgerufen | Browse-Abandonment |
Code-Beispiele
Connector initialisieren
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Brevo accountawait tajo.connectors.connect('brevo', { apiKey: process.env.BREVO_API_KEY});Transactional E-Mail versenden
// Send a transactional email via Brevoawait tajo.brevo.sendTransactionalEmail({ templateId: 12, params: { ORDER_ID: '12345', ORDER_TOTAL: '$59.99', DELIVERY_DATE: '2024-02-15' }});Kontakte synchronisieren
// Bulk import contacts to Brevoawait tajo.connectors.sync('brevo', { type: 'full', resources: ['contacts'], options: { listIds: [5, 6], updateExisting: true, emptyContactsAttributes: false }});
// Check sync statusconst status = await tajo.connectors.status('brevo');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 25400,// campaignsSent: 142,// eventsTracked: 89320// }Custom Events tracken
// Track a custom event for a contactawait tajo.brevo.trackEvent({ event: 'product_purchased', eventdata: { id: 'txn_98765', data: { product_name: 'Premium Widget', price: 49.99, currency: 'USD' } }});Rate Limits
Brevo wendet Rate Limits in drei Stufen abhängig von deinem Plan an:
| Endpoint | Free/Starter | Professional | Enterprise |
|---|---|---|---|
POST /v3/smtp/email | 1.000 RPS | 2.000 RPS | 6.000 RPS |
POST /v3/transactionalSMS/send | 150 RPS | 200 RPS | 250 RPS |
POST /v3/events | 10 RPS | 20 RPS | 60 RPS |
/v3/contacts/* | 10 RPS | 20 RPS | 60 RPS |
| Alle anderen Endpoints | 100 RPH | 200 RPH | 600 RPH |
Antwort bei Rate Limits
Wenn du ein Rate Limit überschreitest, gibt die API den Statuscode 429 Too Many Requests zurück. Beobachte die Rate-Limit-Header in den Antworten, um deine Nutzung zu überwachen.
Fehlerbehebung
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
| 401 Unauthorized | Ungültiger API-Schlüssel | API-Schlüssel in den Brevo-Einstellungen neu generieren |
| Kontakt nicht erstellt | Fehlendes E-Mail-Feld | Stelle sicher, dass für alle Kontakte eine E-Mail angegeben ist |
| E-Mail nicht zugestellt | Nicht verifizierte Absender-Domain | Domain in den Brevo-Absendereinstellungen verifizieren |
| Webhook nicht empfangen | Falsche URL oder Serverfehler | Erreichbarkeit der Webhook-URL und Logs prüfen |
| SMS nicht versendet | Ungültiges Telefonformat | Internationales Format mit Ländervorwahl verwenden |
Debug-Modus
Ausführliches Logging aktivieren:
connectors: brevo: debug: true log_level: verbose log_webhooks: trueVerbindung testen
tajo connectors test brevo# ✓ API connection successful# ✓ Contacts API accessible# ✓ Transactional email ready# ✓ SMS sending configured# ✓ Webhooks registeredBest Practices
- API-Schlüssel rotieren - Rotiere API-Schlüssel regelmäßig aus Sicherheitsgründen
- Webhook-Verifizierung umsetzen - Prüfe Webhook-Signaturen per Username-/Passwort-Authentifizierung
- Kontaktimporte bündeln - Nutze Bulk-Import für große Datensätze statt einzelner API-Aufrufe
- Rate Limits überwachen - Prüfe die Rate-Limit-Header, um 429-Fehler zu vermeiden
- Event-Tracking nutzen - Implementiere den Brevo-Tracker für umfassende Daten zum Kundenverhalten
- Saubere Absender-Authentifizierung einrichten - Konfiguriere SPF, DKIM und DMARC für eine optimale E-Mail-Zustellbarkeit
Sicherheit
- API-Schlüssel-Authentifizierung - Token-basierter Zugriff per Secret über den
api-key-Header - OAuth 2.0 - Token-basierter delegierter Zugriff für private Integrationen
- Webhook-Verifizierung - Authentifizierung per Username und Passwort für sichere Webhook-Aufrufe
- TLS-Verschlüsselung - Die gesamte API-Kommunikation wird bei der Übertragung verschlüsselt
- IP-Whitelisting - Optionale IP-Beschränkungen in Enterprise-Plänen verfügbar