Brevo-connector
Brevo-connector
Verbind je Brevo-account met Tajo voor uniform contactbeheer, transactionele berichten via e-mail, sms en WhatsApp, en uitgebreide marketingautomatisering.
Overzicht
| Eigenschap | Waarde |
|---|---|
| Platform | Brevo |
| Categorie | Marketing |
| Setupcomplexiteit | Eenvoudig |
| Officiële integratie | Ja |
| Gesynchroniseerde data | Contacten, Campagnes, Transactionele berichten, Events, eCommerce |
| API base URL | https://api.brevo.com/v3 |
Functies
- Multi-channel-messaging - Verstuur transactionele e-mail, sms en WhatsApp via één geünificeerde API
- Contactbeheer - Maak, werk bij en segmenteer contacten met custom attributen
- Marketingcampagnes - Creëer en verstuur e-mailcampagnes programmatisch
- Event-tracking - Track custom events en websiteactiviteit via de Brevo Tracker
- eCommerce-sync - Synchroniseer producten, bestellingen en winkelwagendata voor gepersonaliseerde campagnes
- Loyaltyprogramma’s - Beheer loyalty-abonnementen, punten en leden-data
- Webhook-ondersteuning - Realtime-eventnotificaties voor transactionele, marketing- en CRM-events
- Conversations - Integratie van livechat-widget en programmatisch berichtbeheer
Vereisten
Voordat je begint, zorg dat je beschikt over:
- Een Brevo-account (Free-, Starter-, Business- of Enterprise-plan)
- Een API-sleutel gegenereerd onder Brevo Settings > API Keys
- Een Tajo-account met API-toegang
- Geverifieerd senderdomein voor e-mailverzending
Authenticatie
Brevo ondersteunt twee authenticatiemethoden:
API-sleutel-authenticatie (aanbevolen)
Plaats je API-sleutel in de api-key-header bij elke request. Het beste voor directe integraties en server-naar-servercommunicatie.
curl -X GET "https://api.brevo.com/v3/account" \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json"OAuth 2.0-authenticatie
Gebruik OAuth 2.0 voor private integraties binnen een organisatie die gedelegeerde toegang en gebruikerspecifieke rechten vereisen. OAuth biedt een tokengebaseerd systeem met gedefinieerde geldigheidsduur.
OAuth-beschikbaarheid
OAuth is momenteel alleen beschikbaar voor private integraties binnen een organisatie. OAuth-integraties zijn niet bedoeld voor publieke distributie of marketplace-listing.
Configuratie
Basisopzet
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: 7Veldmapping
Koppel je datavelden aan Brevo-contactattributen:
Standaard-mappings
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mailadres contact (unieke identifier) |
FIRSTNAME optional | string | Voornaamattribuut contact |
LASTNAME optional | string | Achternaamattribuut contact |
SMS optional | string | Telefoonnummer voor sms- en WhatsApp-berichten |
OPT_IN optional | boolean | Marketing-opt-in-toestemmingsstatus |
ORDER_COUNT optional | integer | Totaal aantal geplaatste bestellingen |
TOTAL_REVENUE optional | number | Lifetime-omzet van het contact |
LOYALTY_POINTS optional | integer | Huidige puntenbalans in loyaltyprogramma |
Custom attribuutmapping
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 | Beschrijving |
|---|---|---|
POST | /v3/smtp/email | Transactionele e-mail verzenden |
POST | /v3/transactionalSMS/send | Transactionele sms verzenden |
POST | /v3/whatsapp/sendMessage | Transactionele WhatsApp verzenden |
POST | /v3/contacts | Contact aanmaken |
PUT | /v3/contacts/{email} | Contact bijwerken |
GET | /v3/contacts/{identifier} | Contactdetails ophalen |
POST | /v3/contacts/import | Bulk import van contacten |
eCommerce-endpoints
| Methode | Endpoint | Beschrijving |
|---|---|---|
POST | /v3/orders/status | Orderstatus aanmaken of bijwerken |
POST | /v3/products | Producten aanmaken of bijwerken |
POST | /v3/categories | Productcategorieën aanmaken of bijwerken |
POST | /v3/events | Custom events tracken |
Campagne-endpoints
| Methode | Endpoint | Beschrijving |
|---|---|---|
POST | /v3/emailCampaigns | E-mailcampagne aanmaken |
POST | /v3/emailCampaigns/{id}/sendNow | Campagne direct verzenden |
GET | /v3/emailCampaigns | Alle e-mailcampagnes opvragen |
GET | /v3/smtp/statistics/events | Event-statistieken van e-mails ophalen |
Events
Transactionele events
| Event | Trigger | Use case |
|---|---|---|
delivered | E-mail in inbox afgeleverd | Leveringsbevestiging |
opened | E-mail geopend door ontvanger | Engagementtracking |
clicked | Link aangeklikt in e-mail | Click-through-tracking |
bounced | E-mail bounced | Lijsthygiëne |
spam | Gemarkeerd als spam | Compliance-monitoring |
unsubscribed | Contact uitgeschreven | Voorkeurenbeheer |
eCommerce-events
| Event | Trigger | Use case |
|---|---|---|
order_completed | Bestelling succesvol geplaatst | Post-purchase-flows |
cart_updated | Winkelwageninhoud gewijzigd | Abandoned-cart-tracking |
cart_deleted | Winkelwagen leeg of verlopen | Cart-recovery |
product_viewed | Productpagina bezocht | Browse-abandonment |
Codevoorbeelden
Connector initialiseren
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});Transactionele e-mail versturen
// Send a transactional email via Brevoawait tajo.brevo.sendTransactionalEmail({ templateId: 12, params: { ORDER_ID: '12345', ORDER_TOTAL: '$59.99', DELIVERY_DATE: '2024-02-15' }});Contacten synchroniseren
// 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' } }});Ratelimits
Brevo hanteert ratelimits in drie tiers op basis van je plan:
| 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 andere endpoints | 100 RPH | 200 RPH | 600 RPH |
Ratelimit-response
Wanneer je een ratelimit overschrijdt, geeft de API een 429 Too Many Requests-statuscode terug. Monitor de ratelimit-headers in responses om je verbruik te volgen.
Probleemoplossing
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| 401 Unauthorized | Ongeldige API-sleutel | Genereer API-sleutel opnieuw in Brevo-instellingen |
| Contact niet aangemaakt | Ontbrekend e-mailveld | Zorg dat e-mail voor alle contacten wordt meegegeven |
| E-mail niet afgeleverd | Niet-geverifieerd senderdomein | Verifieer domein in Brevo Senders-instellingen |
| Webhook niet ontvangen | Onjuiste URL of serverfout | Controleer bereikbaarheid webhook-URL en logs |
| Sms niet verzonden | Ongeldig telefoonformaat | Gebruik internationaal formaat met landcode |
Debugmodus
Activeer uitgebreide logging:
connectors: brevo: debug: true log_level: verbose log_webhooks: trueVerbinding testen
tajo connectors test brevo# ✓ API connection successful# ✓ Contacts API accessible# ✓ Transactional email ready# ✓ SMS sending configured# ✓ Webhooks registeredBest practices
- Gebruik rotatie van API-sleutels - Rouleer API-sleutels periodiek voor beveiliging
- Implementeer webhook-verificatie - Valideer webhook-signatures met username/password-authenticatie
- Batch contact-imports - Gebruik bulk import voor grote datasets in plaats van losse API-calls
- Monitor ratelimits - Controleer ratelimit-headers om 429-fouten te voorkomen
- Gebruik event-tracking - Implementeer de Brevo Tracker voor uitgebreide klantgedragsdata
- Stel sender-authenticatie goed in - Configureer SPF, DKIM en DMARC voor optimale deliverability
Beveiliging
- API-sleutel-authenticatie - Tokengebaseerde toegang via de
api-key-header - OAuth 2.0 - Tokengebaseerde gedelegeerde toegang voor private integraties
- Webhook-verificatie - Username- en wachtwoord-authenticatie voor veilige webhook-calls
- TLS-encryptie - Alle API-communicatie versleuteld in transit
- IP-whitelisting - Optionele IP-beperkingen beschikbaar op Enterprise-plannen