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

EigenschapWaarde
PlatformBrevo
CategorieMarketing
SetupcomplexiteitEenvoudig
Officiële integratieJa
Gesynchroniseerde dataContacten, Campagnes, Transactionele berichten, Events, eCommerce
API base URLhttps://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:

  1. Een Brevo-account (Free-, Starter-, Business- of Enterprise-plan)
  2. Een API-sleutel gegenereerd onder Brevo Settings > API Keys
  3. Een Tajo-account met API-toegang
  4. 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.

Terminal window
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: 7

Veldmapping

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_POINTS

API-endpoints

Kern-endpoints

MethodeEndpointBeschrijving
POST/v3/smtp/emailTransactionele e-mail verzenden
POST/v3/transactionalSMS/sendTransactionele sms verzenden
POST/v3/whatsapp/sendMessageTransactionele WhatsApp verzenden
POST/v3/contactsContact aanmaken
PUT/v3/contacts/{email}Contact bijwerken
GET/v3/contacts/{identifier}Contactdetails ophalen
POST/v3/contacts/importBulk import van contacten

eCommerce-endpoints

MethodeEndpointBeschrijving
POST/v3/orders/statusOrderstatus aanmaken of bijwerken
POST/v3/productsProducten aanmaken of bijwerken
POST/v3/categoriesProductcategorieën aanmaken of bijwerken
POST/v3/eventsCustom events tracken

Campagne-endpoints

MethodeEndpointBeschrijving
POST/v3/emailCampaignsE-mailcampagne aanmaken
POST/v3/emailCampaigns/{id}/sendNowCampagne direct verzenden
GET/v3/emailCampaignsAlle e-mailcampagnes opvragen
GET/v3/smtp/statistics/eventsEvent-statistieken van e-mails ophalen

Events

Transactionele events

EventTriggerUse case
deliveredE-mail in inbox afgeleverdLeveringsbevestiging
openedE-mail geopend door ontvangerEngagementtracking
clickedLink aangeklikt in e-mailClick-through-tracking
bouncedE-mail bouncedLijsthygiëne
spamGemarkeerd als spamCompliance-monitoring
unsubscribedContact uitgeschrevenVoorkeurenbeheer

eCommerce-events

EventTriggerUse case
order_completedBestelling succesvol geplaatstPost-purchase-flows
cart_updatedWinkelwageninhoud gewijzigdAbandoned-cart-tracking
cart_deletedWinkelwagen leeg of verlopenCart-recovery
product_viewedProductpagina bezochtBrowse-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 account
await tajo.connectors.connect('brevo', {
apiKey: process.env.BREVO_API_KEY
});

Transactionele e-mail versturen

// Send a transactional email via Brevo
await tajo.brevo.sendTransactionalEmail({
to: [{ email: '[email protected]', name: 'John Doe' }],
templateId: 12,
params: {
ORDER_ID: '12345',
ORDER_TOTAL: '$59.99',
DELIVERY_DATE: '2024-02-15'
}
});

Contacten synchroniseren

// Bulk import contacts to Brevo
await tajo.connectors.sync('brevo', {
type: 'full',
resources: ['contacts'],
options: {
listIds: [5, 6],
updateExisting: true,
emptyContactsAttributes: false
}
});
// Check sync status
const 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 contact
await 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:

EndpointFree/StarterProfessionalEnterprise
POST /v3/smtp/email1.000 RPS2.000 RPS6.000 RPS
POST /v3/transactionalSMS/send150 RPS200 RPS250 RPS
POST /v3/events10 RPS20 RPS60 RPS
/v3/contacts/*10 RPS20 RPS60 RPS
Alle andere endpoints100 RPH200 RPH600 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

ProbleemOorzaakOplossing
401 UnauthorizedOngeldige API-sleutelGenereer API-sleutel opnieuw in Brevo-instellingen
Contact niet aangemaaktOntbrekend e-mailveldZorg dat e-mail voor alle contacten wordt meegegeven
E-mail niet afgeleverdNiet-geverifieerd senderdomeinVerifieer domein in Brevo Senders-instellingen
Webhook niet ontvangenOnjuiste URL of serverfoutControleer bereikbaarheid webhook-URL en logs
Sms niet verzondenOngeldig telefoonformaatGebruik internationaal formaat met landcode

Debugmodus

Activeer uitgebreide logging:

connectors:
brevo:
debug: true
log_level: verbose
log_webhooks: true

Verbinding testen

Terminal window
tajo connectors test brevo
# ✓ API connection successful
# ✓ Contacts API accessible
# ✓ Transactional email ready
# ✓ SMS sending configured
# ✓ Webhooks registered

Best practices

  1. Gebruik rotatie van API-sleutels - Rouleer API-sleutels periodiek voor beveiliging
  2. Implementeer webhook-verificatie - Valideer webhook-signatures met username/password-authenticatie
  3. Batch contact-imports - Gebruik bulk import voor grote datasets in plaats van losse API-calls
  4. Monitor ratelimits - Controleer ratelimit-headers om 429-fouten te voorkomen
  5. Gebruik event-tracking - Implementeer de Brevo Tracker voor uitgebreide klantgedragsdata
  6. 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

Gerelateerde resources

Subscribe to updates

developer-docs

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

AI-assistent

Hallo! Stel me vragen over de documentatie.

Start gratis met Brevo