Connettore Brevo

Connettore Brevo

Collega il tuo account Brevo a Tajo per una gestione unificata dei contatti, messaggistica transazionale su email, SMS e WhatsApp e marketing automation completa.

Panoramica

ProprietàValore
PiattaformaBrevo
CategoriaMarketing
Complessità di setupFacile
Integrazione ufficiale
Dati sincronizzatiContatti, Campagne, Messaggi transazionali, Eventi, eCommerce
API Base URLhttps://api.brevo.com/v3

Funzionalità

  • Messaggistica multi-canale - Invia email transazionali, SMS e WhatsApp da un’API unificata
  • Gestione contatti - Crea, aggiorna e segmenta i contatti con attributi personalizzati
  • Campagne marketing - Crea e invia campagne email in modo programmatico
  • Tracciamento eventi - Traccia eventi personalizzati e attività del sito tramite il Brevo Tracker
  • Sync eCommerce - Sincronizza prodotti, ordini e dati del carrello per campagne personalizzate
  • Programmi di loyalty - Gestisci iscrizioni alla loyalty, punti e dati dei membri
  • Supporto webhook - Notifiche di eventi in tempo reale per eventi transazionali, marketing e CRM
  • Conversations - Integrazione del widget di live chat e gestione programmatica dei messaggi

Prerequisiti

Prima di iniziare, assicurati di avere:

  1. Un account Brevo (piano Free, Starter, Business o Enterprise)
  2. Una chiave API generata da Brevo Settings > API Keys
  3. Un account Tajo con accesso API
  4. Dominio mittente verificato per l’invio email

Autenticazione

Brevo supporta due metodi di autenticazione:

Autenticazione con chiave API (consigliata)

Includi la tua chiave API nell’header api-key per ogni richiesta. Ideale per integrazioni dirette e comunicazione server-to-server.

Terminal window
curl -X GET "https://api.brevo.com/v3/account" \
-H "api-key: YOUR_API_KEY" \
-H "Content-Type: application/json"

Autenticazione OAuth 2.0

Usa OAuth 2.0 per integrazioni private all’interno di un’organizzazione che richiedono accesso delegato e permessi specifici per utente. OAuth fornisce un sistema basato su token con periodi di validità definiti.

Disponibilità OAuth

OAuth è attualmente disponibile solo per integrazioni private all’interno di un’organizzazione. Le integrazioni OAuth non sono pensate per la distribuzione pubblica o la pubblicazione su marketplace.

Configurazione

Setup di base

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

Mappatura dei campi

Mappa i tuoi campi dati agli attributi di contatto Brevo:

Mappature predefinite

Parameter Type Description
email required
string

Indirizzo email del contatto (identificatore univoco)

FIRSTNAME optional
string

Attributo nome del contatto

LASTNAME optional
string

Attributo cognome del contatto

SMS optional
string

Numero di telefono per messaggistica SMS e WhatsApp

OPT_IN optional
boolean

Stato del consenso opt-in marketing

ORDER_COUNT optional
integer

Numero totale di ordini effettuati

TOTAL_REVENUE optional
number

Ricavo lifetime dal contatto

LOYALTY_POINTS optional
integer

Saldo attuale dei punti del programma loyalty

Mappatura attributi personalizzati

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

Endpoint API

Endpoint principali

MetodoEndpointDescrizione
POST/v3/smtp/emailInvia email transazionale
POST/v3/transactionalSMS/sendInvia SMS transazionale
POST/v3/whatsapp/sendMessageInvia WhatsApp transazionale
POST/v3/contactsCrea un contatto
PUT/v3/contacts/{email}Aggiorna un contatto
GET/v3/contacts/{identifier}Ottieni i dettagli di un contatto
POST/v3/contacts/importImporta contatti in blocco

Endpoint eCommerce

MetodoEndpointDescrizione
POST/v3/orders/statusCrea o aggiorna lo stato di un ordine
POST/v3/productsCrea o aggiorna prodotti
POST/v3/categoriesCrea o aggiorna categorie di prodotti
POST/v3/eventsTraccia eventi personalizzati

Endpoint campagne

MetodoEndpointDescrizione
POST/v3/emailCampaignsCrea una campagna email
POST/v3/emailCampaigns/{id}/sendNowInvia una campagna immediatamente
GET/v3/emailCampaignsElenca tutte le campagne email
GET/v3/smtp/statistics/eventsOttieni statistiche degli eventi email

Eventi

Eventi transazionali

EventoTriggerCaso d’uso
deliveredEmail recapitata in inboxConferma di consegna
openedEmail aperta dal destinatarioTracciamento engagement
clickedLink cliccato in emailTracciamento click-through
bouncedEmail respintaIgiene della lista
spamMarcata come spamMonitoraggio compliance
unsubscribedContatto disiscrittoGestione preferenze

Eventi eCommerce

EventoTriggerCaso d’uso
order_completedOrdine effettuato con successoFlussi post-acquisto
cart_updatedContenuto del carrello modificatoTracciamento carrello abbandonato
cart_deletedCarrello svuotato o scadutoRecupero del carrello
product_viewedPagina prodotto visitataBrowse abandonment

Esempi di codice

Inizializza il connettore

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
});

Invia un’email transazionale

// 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'
}
});

Sincronizza i contatti

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

Traccia eventi personalizzati

// 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'
}
}
});

Limiti di velocità

Brevo applica limiti di velocità su tre livelli in base al tuo piano:

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
Tutti gli altri endpoint100 RPH200 RPH600 RPH

Risposta limite di velocità

Quando superi un limite di velocità, l’API restituisce uno status 429 Too Many Requests. Monitora gli header dei limiti di velocità nelle risposte per tracciare il tuo utilizzo.

Risoluzione dei problemi

Problemi comuni

ProblemaCausaSoluzione
401 UnauthorizedChiave API non validaRigenera la chiave API in Brevo Settings
Contatto non creatoCampo email mancanteAssicurati che l’email sia fornita per tutti i contatti
Email non recapitataDominio mittente non verificatoVerifica il dominio nelle impostazioni Senders di Brevo
Webhook non ricevutoURL errato o errore del serverControlla l’accessibilità dell’URL del webhook e i log
SMS non inviatoFormato telefono non validoUsa il formato internazionale con prefisso paese

Modalità debug

Abilita il logging dettagliato:

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

Testa la connessione

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

Best practice

  1. Usa la rotazione delle chiavi API - Ruota periodicamente le chiavi API per sicurezza
  2. Implementa la verifica dei webhook - Convalida le firme dei webhook con autenticazione username/password
  3. Importazioni di contatti in batch - Usa l’import in blocco per dataset di grandi dimensioni invece di chiamate API individuali
  4. Monitora i limiti di velocità - Controlla gli header dei limiti di velocità per evitare errori 429
  5. Usa il tracciamento eventi - Implementa il Brevo Tracker per dati comportamentali completi sui clienti
  6. Imposta correttamente l’autenticazione del mittente - Configura SPF, DKIM e DMARC per una deliverability ottimale

Sicurezza

  • Autenticazione con chiave API - Accesso basato su token segreto tramite header api-key
  • OAuth 2.0 - Accesso delegato basato su token per integrazioni private
  • Verifica webhook - Autenticazione username e password per chiamate webhook sicure
  • Cifratura TLS - Tutte le comunicazioni API cifrate in transito
  • IP whitelisting - Restrizioni IP opzionali disponibili sui piani Enterprise

Risorse correlate

Subscribe to updates

developer-docs

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

Assistente AI

Ciao! Chiedimi qualsiasi cosa sulla documentazione.

Inizia gratis con Brevo