Conector de Brevo

Conector de Brevo

Conecta tu cuenta de Brevo con Tajo para unificar la gestión de contactos, la mensajería transaccional por email, SMS y WhatsApp, y una automatización de marketing integral.

Resumen

PropiedadValor
PlataformaBrevo
CategoríaMarketing
Complejidad de configuraciónFácil
Integración oficial
Datos sincronizadosContactos, Campañas, Mensajes transaccionales, Eventos, eCommerce
URL base de la APIhttps://api.brevo.com/v3

Funcionalidades

  • Mensajería multicanal - Envía email transaccional, SMS y WhatsApp desde una API unificada
  • Gestión de contactos - Crea, actualiza y segmenta contactos con atributos personalizados
  • Campañas de marketing - Crea y envía campañas de email de forma programática
  • Seguimiento de eventos - Registra eventos personalizados y actividad web a través de Brevo Tracker
  • Sincronización eCommerce - Sincroniza productos, pedidos y datos de carrito para campañas personalizadas
  • Programas de fidelización - Gestiona suscripciones de fidelización, puntos y datos de miembros
  • Soporte de webhooks - Notificaciones de eventos en tiempo real para eventos transaccionales, de marketing y de CRM
  • Conversations - Integración del widget de chat en vivo y gestión programática de mensajes

Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Una cuenta de Brevo (plan Free, Starter, Business o Enterprise)
  2. Una clave API generada en Brevo Settings > API Keys
  3. Una cuenta de Tajo con acceso a la API
  4. Un dominio remitente verificado para el envío de emails

Autenticación

Brevo admite dos métodos de autenticación:

Autenticación con clave API (recomendada)

Incluye tu clave API en la cabecera api-key con cada petición. Es la mejor opción para integraciones directas y comunicación servidor a servidor.

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

Autenticación OAuth 2.0

Usa OAuth 2.0 para integraciones privadas dentro de una organización que requieran acceso delegado y permisos específicos por usuario. OAuth proporciona un sistema basado en tokens con periodos de validez definidos.

Disponibilidad de OAuth

OAuth solo está disponible actualmente para integraciones privadas dentro de una organización. Las integraciones OAuth no están pensadas para distribución pública ni para listarse en marketplaces.

Configuración

Configuración básica

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

Asignación de campos

Asocia los campos de tus datos con los atributos de contacto de Brevo:

Default Mappings

Parameter Type Description
email required
string

Dirección de email del contacto (identificador único)

FIRSTNAME optional
string

Atributo de nombre del contacto

LASTNAME optional
string

Atributo de apellido del contacto

SMS optional
string

Número de teléfono para mensajería SMS y WhatsApp

OPT_IN optional
boolean

Estado del consentimiento de marketing

ORDER_COUNT optional
integer

Número total de pedidos realizados

TOTAL_REVENUE optional
number

Ingresos totales generados por el contacto

LOYALTY_POINTS optional
integer

Saldo actual de puntos del programa de fidelización

Asignación de atributos personalizados

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

Endpoints de la API

Endpoints principales

MétodoEndpointDescripción
POST/v3/smtp/emailEnviar email transaccional
POST/v3/transactionalSMS/sendEnviar SMS transaccional
POST/v3/whatsapp/sendMessageEnviar WhatsApp transaccional
POST/v3/contactsCrear un contacto
PUT/v3/contacts/{email}Actualizar un contacto
GET/v3/contacts/{identifier}Obtener los detalles del contacto
POST/v3/contacts/importImportación masiva de contactos

Endpoints eCommerce

MétodoEndpointDescripción
POST/v3/orders/statusCrear o actualizar el estado de un pedido
POST/v3/productsCrear o actualizar productos
POST/v3/categoriesCrear o actualizar categorías de producto
POST/v3/eventsRegistrar eventos personalizados

Endpoints de campaña

MétodoEndpointDescripción
POST/v3/emailCampaignsCrear una campaña de email
POST/v3/emailCampaigns/{id}/sendNowEnviar una campaña de inmediato
GET/v3/emailCampaignsListar todas las campañas de email
GET/v3/smtp/statistics/eventsObtener estadísticas de eventos de email

Eventos

Eventos transaccionales

EventoDisparadorCaso de uso
deliveredEmail entregado en la bandeja de entradaConfirmación de entrega
openedEmail abierto por el destinatarioSeguimiento de engagement
clickedClic en un enlace del emailSeguimiento de click-through
bouncedEmail rebotadoHigiene de la lista
spamMarcado como spamMonitorización de cumplimiento
unsubscribedContacto dado de bajaGestión de preferencias

Eventos eCommerce

EventoDisparadorCaso de uso
order_completedPedido realizado correctamenteFlujos post-compra
cart_updatedContenido del carrito modificadoSeguimiento de carrito abandonado
cart_deletedCarrito vaciado o caducadoRecuperación de carrito
product_viewedPágina de producto visitadaAbandono de navegación

Ejemplos de código

Inicializar el conector

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

Enviar email transaccional

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

Sincronizar contactos

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

Registrar eventos personalizados

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

Límites de velocidad

Brevo aplica límites de velocidad en tres niveles según tu 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
Resto de endpoints100 RPH200 RPH600 RPH

Respuesta ante límite de velocidad

Cuando superas un límite de velocidad, la API devuelve un código 429 Too Many Requests. Monitoriza las cabeceras de límite en las respuestas para controlar tu uso.

Resolución de problemas

Problemas habituales

ProblemaCausaSolución
401 UnauthorizedClave API no válidaRegenera la clave API en Brevo Settings
Contacto no creadoFalta el campo emailAsegúrate de proporcionar email para todos los contactos
Email no entregadoDominio remitente sin verificarVerifica el dominio en Brevo Senders
Webhook no recibidoURL incorrecta o error del servidorComprueba la accesibilidad de la URL y los logs
SMS no enviadoFormato de teléfono no válidoUsa formato internacional con prefijo de país

Modo depuración

Activa el registro detallado:

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

Probar la conexión

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

Buenas prácticas

  1. Rota las claves API - Rota las claves API periódicamente por seguridad
  2. Verifica los webhooks - Valida las firmas de webhook con autenticación usuario/contraseña
  3. Agrupa las importaciones de contactos - Usa la importación masiva para grandes conjuntos de datos en vez de llamadas individuales
  4. Monitoriza los límites de velocidad - Consulta las cabeceras de límite para evitar errores 429
  5. Usa el seguimiento de eventos - Implementa Brevo Tracker para tener datos completos del comportamiento del cliente
  6. Configura la autenticación del remitente - Configura SPF, DKIM y DMARC para optimizar la entregabilidad

Seguridad

  • Autenticación con clave API - Acceso basado en token secreto mediante la cabecera api-key
  • OAuth 2.0 - Acceso delegado basado en tokens para integraciones privadas
  • Verificación de webhooks - Autenticación con usuario y contraseña para llamadas de webhook seguras
  • Cifrado TLS - Toda la comunicación con la API se cifra en tránsito
  • Lista blanca de IPs - Restricciones de IP opcionales disponibles en planes Enterprise

Recursos relacionados

Subscribe to updates

developer-docs

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

Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.

Empieza gratis con Brevo