Conector Brevo
Conector Brevo
Conecte sua conta Brevo ao Tajo para gestão unificada de contatos, mensageria transacional em e-mail, SMS e WhatsApp, e automação de marketing abrangente.
Visão geral
| Propriedade | Valor |
|---|---|
| Plataforma | Brevo |
| Categoria | Marketing |
| Complexidade de configuração | Fácil |
| Integração oficial | Sim |
| Dados sincronizados | Contatos, Campanhas, Mensagens transacionais, Eventos, E-commerce |
| URL base da API | https://api.brevo.com/v3 |
Recursos
- Mensageria multicanal - Envie e-mail transacional, SMS e WhatsApp a partir de uma API unificada
- Gestão de contatos - Crie, atualize e segmente contatos com atributos personalizados
- Campanhas de marketing - Crie e envie campanhas de e-mail programaticamente
- Rastreamento de eventos - Rastreie eventos personalizados e atividade no site via o Brevo Tracker
- Sincronização de e-commerce - Sincronize produtos, pedidos e dados de carrinho para campanhas personalizadas
- Programas de fidelidade - Gerencie assinaturas de fidelidade, pontos e dados de membros
- Suporte a webhooks - Notificações de evento em tempo real para eventos transacionais, de marketing e de CRM
- Conversations - Integração de widget de chat ao vivo e gestão programática de mensagens
Pré-requisitos
Antes de começar, certifique-se de ter:
- Uma conta Brevo (plano Free, Starter, Business ou Enterprise)
- Uma chave API gerada em Brevo Settings > API Keys
- Uma conta Tajo com acesso à API
- Domínio de remetente verificado para envio de e-mails
Autenticação
O Brevo suporta dois métodos de autenticação:
Autenticação por chave API (Recomendado)
Inclua sua chave API no cabeçalho api-key em cada requisição. Melhor para integrações diretas e comunicação servidor-a-servidor.
curl -X GET "https://api.brevo.com/v3/account" \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json"Autenticação OAuth 2.0
Use OAuth 2.0 para integrações privadas dentro de uma organização que exigem acesso delegado e permissões específicas por usuário. O OAuth fornece um sistema baseado em token com períodos de validade definidos.
Disponibilidade do OAuth
O OAuth está atualmente disponível apenas para integrações privadas dentro de uma organização. Integrações OAuth não se destinam a distribuição pública ou listagem em marketplace.
Configuração
Configuração 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: 7Mapeamento de campos
Mapeie seus campos de dados para atributos de contato do Brevo:
Default Mappings
| Parameter | Type | Description |
|---|---|---|
email required | string | Endereço de e-mail do contato (identificador único) |
FIRSTNAME optional | string | Atributo de primeiro nome do contato |
LASTNAME optional | string | Atributo de sobrenome do contato |
SMS optional | string | Número de telefone para mensageria via SMS e WhatsApp |
OPT_IN optional | boolean | Status de consentimento de opt-in de marketing |
ORDER_COUNT optional | integer | Número total de pedidos realizados |
TOTAL_REVENUE optional | number | Receita vitalícia do contato |
LOYALTY_POINTS optional | integer | Saldo atual de pontos do programa de fidelidade |
Mapeamento 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_POINTSEndpoints da API
Endpoints principais
| Método | Endpoint | Descrição |
|---|---|---|
POST | /v3/smtp/email | Enviar e-mail transacional |
POST | /v3/transactionalSMS/send | Enviar SMS transacional |
POST | /v3/whatsapp/sendMessage | Enviar WhatsApp transacional |
POST | /v3/contacts | Criar um contato |
PUT | /v3/contacts/{email} | Atualizar um contato |
GET | /v3/contacts/{identifier} | Obter detalhes do contato |
POST | /v3/contacts/import | Importação em massa de contatos |
Endpoints de e-commerce
| Método | Endpoint | Descrição |
|---|---|---|
POST | /v3/orders/status | Criar ou atualizar status de pedido |
POST | /v3/products | Criar ou atualizar produtos |
POST | /v3/categories | Criar ou atualizar categorias de produto |
POST | /v3/events | Rastrear eventos personalizados |
Endpoints de campanha
| Método | Endpoint | Descrição |
|---|---|---|
POST | /v3/emailCampaigns | Criar uma campanha de e-mail |
POST | /v3/emailCampaigns/{id}/sendNow | Enviar uma campanha imediatamente |
GET | /v3/emailCampaigns | Listar todas as campanhas de e-mail |
GET | /v3/smtp/statistics/events | Obter estatísticas de eventos de e-mail |
Eventos
Eventos transacionais
| Evento | Gatilho | Caso de uso |
|---|---|---|
delivered | E-mail entregue na caixa de entrada | Confirmação de entrega |
opened | E-mail aberto pelo destinatário | Rastreamento de engajamento |
clicked | Link clicado no e-mail | Rastreamento de click-through |
bounced | E-mail retornou com bounce | Higiene de lista |
spam | Marcado como spam | Monitoramento de conformidade |
unsubscribed | Contato cancelou inscrição | Gestão de preferências |
Eventos de e-commerce
| Evento | Gatilho | Caso de uso |
|---|---|---|
order_completed | Pedido realizado com sucesso | Fluxos pós-compra |
cart_updated | Conteúdo do carrinho alterado | Rastreamento de carrinho abandonado |
cart_deleted | Carrinho limpo ou expirado | Recuperação de carrinho |
product_viewed | Página de produto visitada | Abandono de navegação |
Exemplos de código
Inicializar o conector
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});Enviar e-mail transacional
// Send a transactional email via Brevoawait tajo.brevo.sendTransactionalEmail({ templateId: 12, params: { ORDER_ID: '12345', ORDER_TOTAL: '$59.99', DELIVERY_DATE: '2024-02-15' }});Sincronizar contatos
// 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// }Rastrear eventos personalizados
// 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' } }});Limites de taxa
O Brevo aplica limites de taxa em três tiers baseados no seu plano:
| 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 |
| Todos os outros endpoints | 100 RPH | 200 RPH | 600 RPH |
Resposta de limite de taxa
Quando você excede um limite de taxa, a API retorna um código de status 429 Too Many Requests. Monitore os cabeçalhos de limite de taxa nas respostas para rastrear seu uso.
Solução de problemas
Problemas comuns
| Problema | Causa | Solução |
|---|---|---|
| 401 Unauthorized | Chave API inválida | Regere a chave API em Brevo Settings |
| Contato não criado | Campo de e-mail ausente | Certifique-se de fornecer e-mail para todos os contatos |
| E-mail não entregue | Domínio de remetente não verificado | Verifique o domínio nas configurações de remetentes do Brevo |
| Webhook não recebido | URL incorreta ou erro de servidor | Verifique a acessibilidade da URL do webhook e logs |
| SMS não enviado | Formato de telefone inválido | Use formato internacional com código do país |
Modo de depuração
Ative o log detalhado:
connectors: brevo: debug: true log_level: verbose log_webhooks: trueTestar conexão
tajo connectors test brevo# ✓ API connection successful# ✓ Contacts API accessible# ✓ Transactional email ready# ✓ SMS sending configured# ✓ Webhooks registeredMelhores práticas
- Use rotação de chaves API - Rotacione as chaves API periodicamente por segurança
- Implemente verificação de webhook - Valide assinaturas de webhook com autenticação usuário/senha
- Importações de contatos em lote - Use importação em massa para grandes volumes de dados em vez de chamadas individuais
- Monitore limites de taxa - Verifique os cabeçalhos de limite de taxa para evitar erros 429
- Use rastreamento de eventos - Implemente o Brevo Tracker para dados abrangentes de comportamento do cliente
- Configure autenticação adequada de remetente - Configure SPF, DKIM e DMARC para entregabilidade ideal
Segurança
- Autenticação por chave API - Acesso baseado em token secreto via cabeçalho
api-key - OAuth 2.0 - Acesso delegado baseado em token para integrações privadas
- Verificação de webhook - Autenticação usuário/senha para chamadas de webhook seguras
- Criptografia TLS - Toda comunicação com a API é criptografada em trânsito
- IP whitelisting - Restrições opcionais de IP disponíveis em planos Enterprise