Brevo konektor
Brevo konektor
Poveži svoj Brevo nalog sa Tajo za unifikovano upravljanje kontaktima, transakcionim porukama putem emaila, SMS-a i WhatsApp-a, i sveobuhvatnu marketing automatizaciju.
Pregled
| Svojstvo | Vrednost |
|---|---|
| Platforma | Brevo |
| Kategorija | Marketing |
| Složenost podešavanja | Lako |
| Zvanična integracija | Da |
| Sinhronizovani podaci | Kontakti, Kampanje, Transakcione poruke, Događaji, eCommerce |
| Osnovni URL API-ja | https://api.brevo.com/v3 |
Karakteristike
- Slanje na više kanala - Slanje transakcionih emailova, SMS-a i WhatsApp poruka iz unifikovanog API-ja
- Upravljanje kontaktima - Kreiranje, ažuriranje i segmentacija kontakata sa prilagođenim atributima
- Marketing kampanje - Programatsko kreiranje i slanje email kampanja
- Praćenje događaja - Praćenje prilagođenih događaja i aktivnosti na veb sajtu putem Brevo Tracker-a
- eCommerce sinhronizacija - Sinhronizacija proizvoda, porudžbina i podataka korpe za personalizovane kampanje
- Programi lojalnosti - Upravljanje pretplatama lojalnosti, poentima i podacima članova
- Podrška za webhook-ove - Obaveštenja o događajima u realnom vremenu za transakcione, marketing i CRM događaje
- Razgovori - Integracija live chat widgeta i programatsko upravljanje porukama
Preduslovi
Pre nego što započneš, proveri da imaš:
- Brevo nalog (Free, Starter, Business ili Enterprise plan)
- API ključ generisan iz Brevo Settings > API Keys
- Tajo nalog sa API pristupom
- Verifikovani domen pošiljaoca za slanje emailova
Autentifikacija
Brevo podržava dve metode autentifikacije:
Autentifikacija API ključem (preporučeno)
Uključi API ključ u header api-key sa svakim zahtevom. Najbolje za direktne integracije i server-to-server komunikaciju.
curl -X GET "https://api.brevo.com/v3/account" \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json"OAuth 2.0 autentifikacija
Koristi OAuth 2.0 za privatne integracije unutar organizacije koje zahtevaju delegirani pristup i dozvole specifične za korisnika. OAuth pruža sistem zasnovan na tokenima sa definisanim periodima važenja.
Dostupnost OAuth-a
OAuth je trenutno dostupan samo za privatne integracije unutar organizacije. OAuth integracije nisu namenjene za javnu distribuciju ili listanje na marketplace-u.
Konfiguracija
Osnovno podešavanje
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: 7Mapiranje polja
Mapiranje polja podataka na Brevo atribute kontakta:
Default Mappings
| Parameter | Type | Description |
|---|---|---|
email required | string | Email adresa kontakta (jedinstveni identifikator) |
FIRSTNAME optional | string | Atribut imena kontakta |
LASTNAME optional | string | Atribut prezimena kontakta |
SMS optional | string | Broj telefona za SMS i WhatsApp poruke |
OPT_IN optional | boolean | Status pristanka na marketing |
ORDER_COUNT optional | integer | Ukupan broj postavljenih porudžbina |
TOTAL_REVENUE optional | number | Doživotni prihod od kontakta |
LOYALTY_POINTS optional | integer | Trenutni saldo poena programa lojalnosti |
Mapiranje prilagođenih atributa
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_POINTSAPI endpointi
Osnovni endpointi
| Metoda | Endpoint | Opis |
|---|---|---|
POST | /v3/smtp/email | Slanje transakcionog emaila |
POST | /v3/transactionalSMS/send | Slanje transakcionog SMS-a |
POST | /v3/whatsapp/sendMessage | Slanje transakcionog WhatsApp-a |
POST | /v3/contacts | Kreiranje kontakta |
PUT | /v3/contacts/{email} | Ažuriranje kontakta |
GET | /v3/contacts/{identifier} | Dohvatanje detalja kontakta |
POST | /v3/contacts/import | Bulk uvoz kontakata |
eCommerce endpointi
| Metoda | Endpoint | Opis |
|---|---|---|
POST | /v3/orders/status | Kreiranje ili ažuriranje statusa porudžbine |
POST | /v3/products | Kreiranje ili ažuriranje proizvoda |
POST | /v3/categories | Kreiranje ili ažuriranje kategorija proizvoda |
POST | /v3/events | Praćenje prilagođenih događaja |
Endpointi kampanja
| Metoda | Endpoint | Opis |
|---|---|---|
POST | /v3/emailCampaigns | Kreiranje email kampanje |
POST | /v3/emailCampaigns/{id}/sendNow | Slanje kampanje odmah |
GET | /v3/emailCampaigns | Listanje svih email kampanja |
GET | /v3/smtp/statistics/events | Dohvatanje statistike email događaja |
Događaji
Transakcioni događaji
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
delivered | Email dostavljen u sandučić | Potvrda dostave |
opened | Email otvorio primalac | Praćenje angažovanja |
clicked | Kliknuta veza u emailu | Praćenje klikova |
bounced | Email se odbio | Higijena liste |
spam | Označen kao spam | Praćenje usklađenosti |
unsubscribed | Kontakt se odjavio | Upravljanje preferencijama |
eCommerce događaji
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
order_completed | Porudžbina uspešno postavljena | Tokovi posle kupovine |
cart_updated | Sadržaj korpe promenjen | Praćenje napuštene korpe |
cart_deleted | Korpa obrisana ili istekla | Oporavak korpe |
product_viewed | Posećena stranica proizvoda | Napuštanje pregledanja |
Primeri koda
Inicijalizacija konektora
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});Slanje transakcionog emaila
// Send a transactional email via Brevoawait tajo.brevo.sendTransactionalEmail({ templateId: 12, params: { ORDER_ID: '12345', ORDER_TOTAL: '$59.99', DELIVERY_DATE: '2024-02-15' }});Sinhronizacija kontakata
// 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// }Praćenje prilagođenih događaja
// 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' } }});Ograničenja brzine
Brevo primenjuje ograničenja brzine na tri nivoa u zavisnosti od tvog plana:
| Endpoint | Free/Starter | Professional | Enterprise |
|---|---|---|---|
POST /v3/smtp/email | 1.000 ZPS | 2.000 ZPS | 6.000 ZPS |
POST /v3/transactionalSMS/send | 150 ZPS | 200 ZPS | 250 ZPS |
POST /v3/events | 10 ZPS | 20 ZPS | 60 ZPS |
/v3/contacts/* | 10 ZPS | 20 ZPS | 60 ZPS |
| Svi ostali endpointi | 100 ZPS/sat | 200 ZPS/sat | 600 ZPS/sat |
Odgovor ograničenja brzine
Kada prekorečiš ograničenje brzine, API vraća status kod 429 Too Many Requests. Prati headere ograničenja brzine u odgovorima da pratiš svoju upotrebu.
Rešavanje problema
Česti problemi
| Problem | Uzrok | Rešenje |
|---|---|---|
| 401 Unauthorized | Nevažeći API ključ | Regeneriši API ključ u Brevo Settings |
| Kontakt nije kreiran | Nedostaje polje email | Osiguraj da je email naveden za sve kontakte |
| Email nije dostavljen | Neverifikovani domen pošiljaoca | Verifikuj domen u Brevo Senders podešavanjima |
| Webhook nije primljen | Pogrešan URL ili greška servera | Proveri dostupnost webhook URL-a i logove |
| SMS nije poslat | Nevažeći format telefona | Koristi međunarodni format sa pozivnim brojem |
Debug režim
Uključi detaljno logovanje:
connectors: brevo: debug: true log_level: verbose log_webhooks: trueTestiraj vezu
tajo connectors test brevo# ✓ API connection successful# ✓ Contacts API accessible# ✓ Transactional email ready# ✓ SMS sending configured# ✓ Webhooks registeredNajbolje prakse
- Koristi rotaciju API ključeva - Periodično rotiraj API ključeve radi bezbednosti
- Implementiraj verifikaciju webhook-ova - Validiraj potpise webhook-ova sa autentifikacijom korisničkim imenom/lozinkom
- Batch uvoz kontakata - Koristi bulk uvoz za velike skupove podataka umesto pojedinačnih API poziva
- Prati ograničenja brzine - Proveri headere ograničenja brzine da izbjegneš 429 greške
- Koristi praćenje događaja - Implementiraj Brevo Tracker za sveobuhvatne podatke o ponašanju kupaca
- Postavi pravilnu autentifikaciju pošiljaoca - Konfiguriši SPF, DKIM i DMARC za optimalnu dostavljivost
Bezbednost
- Autentifikacija API ključem - Pristup zasnovan na tajnom tokenu putem headera
api-key - OAuth 2.0 - Delegirani pristup zasnovan na tokenima za privatne integracije
- Verifikacija webhook-ova - Autentifikacija korisničkim imenom i lozinkom za bezbedne webhook pozive
- TLS enkripcija - Sva API komunikacija enkriptovana u prenosu
- IP allowlisting - Opcijska IP ograničenja dostupna na Enterprise planovima