Conector Brevo
Conector Brevo
Conectează-ți contul Brevo la Tajo pentru management unificat al contactelor, mesagerie tranzacțională pe email, SMS și WhatsApp și automatizare completă de marketing.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | Brevo |
| Categorie | Marketing |
| Complexitate setup | Ușoară |
| Integrare oficială | Da |
| Date sincronizate | Contacte, Campanii, Mesaje tranzacționale, Evenimente, eCommerce |
| URL de bază API | https://api.brevo.com/v3 |
Funcționalități
- Mesagerie multi-canal - Trimite email tranzacțional, SMS și WhatsApp dintr-un API unificat
- Management contacte - Creează, actualizează și segmentează contactele cu atribute personalizate
- Campanii de marketing - Creează și trimite campanii de email programatic
- Urmărire evenimente - Urmărește evenimente personalizate și activitatea de pe site prin Brevo Tracker
- Sincronizare eCommerce - Sincronizează produse, comenzi și date de coș pentru campanii personalizate
- Programe de loialitate - Gestionează abonamente de loialitate, puncte și date despre membri
- Suport webhook - Notificări de evenimente în timp real pentru evenimente tranzacționale, de marketing și CRM
- Conversații - Integrare widget de live chat și management programatic al mesajelor
Cerințe preliminare
Înainte să începi, asigură-te că ai:
- Un cont Brevo (plan Free, Starter, Business sau Enterprise)
- O cheie API generată din Brevo Settings > API Keys
- Un cont Tajo cu acces API
- Un domeniu de expeditor verificat pentru trimiterea de email-uri
Autentificare
Brevo suportă două metode de autentificare:
Autentificare prin cheie API (Recomandat)
Include cheia API în header-ul api-key cu fiecare cerere. Cel mai bine pentru integrări directe și comunicare server-to-server.
curl -X GET "https://api.brevo.com/v3/account" \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json"Autentificare OAuth 2.0
Folosește OAuth 2.0 pentru integrări private într-o organizație care necesită acces delegat și permisiuni specifice utilizatorului. OAuth oferă un sistem bazat pe token cu perioade de valabilitate definite.
Disponibilitate OAuth
OAuth este disponibil în prezent doar pentru integrări private în cadrul unei organizații. Integrările OAuth nu sunt destinate distribuției publice sau listării în marketplace.
Configurare
Setup de bază
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: 7Mapare câmpuri
Mapează câmpurile tale de date la atributele contactelor Brevo:
Mapări implicite
| Parameter | Type | Description |
|---|---|---|
email required | string | Adresa de email a contactului (identificator unic) |
FIRSTNAME optional | string | Atributul pentru prenumele contactului |
LASTNAME optional | string | Atributul pentru numele de familie al contactului |
SMS optional | string | Număr de telefon pentru mesagerie SMS și WhatsApp |
OPT_IN optional | boolean | Statusul consimțământului de opt-in pentru marketing |
ORDER_COUNT optional | integer | Numărul total de comenzi plasate |
TOTAL_REVENUE optional | number | Venitul total pe toată durata de la contact |
LOYALTY_POINTS optional | integer | Soldul curent de puncte din programul de loialitate |
Mapare atribute personalizate
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_POINTSEndpoint-uri API
Endpoint-uri principale
| Metodă | Endpoint | Descriere |
|---|---|---|
POST | /v3/smtp/email | Trimite email tranzacțional |
POST | /v3/transactionalSMS/send | Trimite SMS tranzacțional |
POST | /v3/whatsapp/sendMessage | Trimite WhatsApp tranzacțional |
POST | /v3/contacts | Creează un contact |
PUT | /v3/contacts/{email} | Actualizează un contact |
GET | /v3/contacts/{identifier} | Obține detaliile unui contact |
POST | /v3/contacts/import | Import bulk de contacte |
Endpoint-uri eCommerce
| Metodă | Endpoint | Descriere |
|---|---|---|
POST | /v3/orders/status | Creează sau actualizează statusul comenzii |
POST | /v3/products | Creează sau actualizează produse |
POST | /v3/categories | Creează sau actualizează categorii de produse |
POST | /v3/events | Urmărește evenimente personalizate |
Endpoint-uri campanii
| Metodă | Endpoint | Descriere |
|---|---|---|
POST | /v3/emailCampaigns | Creează o campanie de email |
POST | /v3/emailCampaigns/{id}/sendNow | Trimite o campanie imediat |
GET | /v3/emailCampaigns | Listează toate campaniile de email |
GET | /v3/smtp/statistics/events | Obține statistici ale evenimentelor de email |
Evenimente
Evenimente tranzacționale
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
delivered | Email livrat în inbox | Confirmare livrare |
opened | Email deschis de destinatar | Urmărire engagement |
clicked | Link apăsat în email | Urmărire click-through |
bounced | Email returnat | Igiena listei |
spam | Marcat ca spam | Monitorizare conformitate |
unsubscribed | Contact dezabonat | Management preferințe |
Evenimente eCommerce
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
order_completed | Comandă plasată cu succes | Fluxuri post-cumpărare |
cart_updated | Conținutul coșului s-a modificat | Urmărire coș abandonat |
cart_deleted | Coș golit sau expirat | Recuperare coș |
product_viewed | Pagină de produs vizitată | Abandonare navigare |
Exemple de cod
Inițializarea conectorului
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});Trimite email tranzacțional
// Send a transactional email via Brevoawait tajo.brevo.sendTransactionalEmail({ templateId: 12, params: { ORDER_ID: '12345', ORDER_TOTAL: '$59.99', DELIVERY_DATE: '2024-02-15' }});Sincronizare contacte
// 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// }Urmărește evenimente personalizate
// 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' } }});Limite de rată
Brevo aplică limite de rată pe trei niveluri bazate pe planul tău:
| 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 |
| Toate celelalte endpoint-uri | 100 RPH | 200 RPH | 600 RPH |
Răspuns la limită de rată
Când depășești o limită de rată, API-ul returnează un cod de status 429 Too Many Requests. Monitorizează header-ele de limită de rată din răspunsuri pentru a-ți urmări utilizarea.
Depanare
Probleme frecvente
| Problemă | Cauză | Soluție |
|---|---|---|
| 401 Unauthorized | Cheie API invalidă | Regenerează cheia API în Brevo Settings |
| Contact necreat | Câmpul email lipsește | Asigură-te că email-ul este furnizat pentru toate contactele |
| Email nelivrat | Domeniu expeditor neverificat | Verifică domeniul în setările Brevo Senders |
| Webhook neprimit | URL incorect sau eroare de server | Verifică accesibilitatea URL-ului webhook și logurile |
| SMS netrimis | Format de telefon invalid | Folosește format internațional cu cod de țară |
Modul debug
Activează logarea detaliată:
connectors: brevo: debug: true log_level: verbose log_webhooks: trueTestează conexiunea
tajo connectors test brevo# ✓ API connection successful# ✓ Contacts API accessible# ✓ Transactional email ready# ✓ SMS sending configured# ✓ Webhooks registeredBune practici
- Folosește rotația cheilor API - Rotește cheile API periodic pentru securitate
- Implementează verificarea webhook-urilor - Validează semnăturile webhook cu autentificare username/password
- Importuri batch de contacte - Folosește importul bulk pentru seturi mari de date în loc de apeluri API individuale
- Monitorizează limitele de rată - Verifică header-ele de limită de rată pentru a evita erorile 429
- Folosește urmărirea evenimentelor - Implementează Brevo Tracker pentru date complete despre comportamentul clienților
- Configurează autentificarea corectă a expeditorului - Configurează SPF, DKIM și DMARC pentru livrabilitate optimă
Securitate
- Autentificare prin cheie API - Acces bazat pe token secret prin header-ul
api-key - OAuth 2.0 - Acces delegat bazat pe token pentru integrări private
- Verificare webhook - Autentificare username și password pentru apeluri webhook sigure
- Criptare TLS - Toată comunicarea API criptată în tranzit
- Whitelist IP - Restricții IP opționale disponibile pe planurile Enterprise