Konektor Brevo
Konektor Brevo
Połącz swoje konto Brevo z Tajo dla ujednoliconego zarządzania kontaktami, wiadomości transakcyjnych przez e-mail, SMS i WhatsApp oraz kompleksowej automatyzacji marketingu.
Przegląd
| Właściwość | Wartość |
|---|---|
| Platforma | Brevo |
| Kategoria | Marketing |
| Poziom konfiguracji | Łatwy |
| Integracja oficjalna | Tak |
| Synchronizowane dane | Kontakty, Kampanie, Wiadomości transakcyjne, Zdarzenia, eCommerce |
| Bazowy URL API | https://api.brevo.com/v3 |
Funkcje
- Wielokanałowe wiadomości - Wysyłaj transakcyjne e-maile, SMS i WhatsApp z ujednoliconego API
- Zarządzanie kontaktami - Twórz, aktualizuj i segmentuj kontakty z niestandardowymi atrybutami
- Kampanie marketingowe - Programistycznie twórz i wysyłaj kampanie e-mailowe
- Śledzenie zdarzeń - Śledź niestandardowe zdarzenia i aktywność witryny przez Brevo Tracker
- Synchronizacja e-commerce - Synchronizuj produkty, zamówienia i dane koszyka dla spersonalizowanych kampanii
- Programy lojalnościowe - Zarządzaj subskrypcjami lojalnościowymi, punktami i danymi członków
- Obsługa webhooków - Powiadomienia o zdarzeniach w czasie rzeczywistym dla zdarzeń transakcyjnych, marketingowych i CRM
- Rozmowy - Integracja widgetu czatu na żywo i programistyczne zarządzanie wiadomościami
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz:
- Konto Brevo (plan Free, Starter, Business lub Enterprise)
- Klucz API wygenerowany z Brevo Settings > API Keys
- Konto Tajo z dostępem do API
- Zweryfikowaną domenę nadawcy dla wysyłania e-maili
Uwierzytelnianie
Brevo obsługuje dwie metody uwierzytelniania:
Uwierzytelnianie kluczem API (zalecane)
Dołącz klucz API w nagłówku api-key do każdego żądania. Najlepsze dla bezpośrednich integracji i komunikacji serwer-serwer.
curl -X GET "https://api.brevo.com/v3/account" \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json"Uwierzytelnianie OAuth 2.0
Używaj OAuth 2.0 dla prywatnych integracji w organizacji wymagających delegowanego dostępu i uprawnień specyficznych dla użytkownika. OAuth zapewnia system oparty na tokenach z określonymi okresami ważności.
Dostępność OAuth
OAuth jest obecnie dostępny tylko dla prywatnych integracji wewnątrz organizacji. Integracje OAuth nie są przeznaczone do publicznej dystrybucji ani wystawiania na marketplace.
Konfiguracja
Podstawowa konfiguracja
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: 7Mapowanie pól
Mapuj pola danych na atrybuty kontaktów Brevo:
Domyślne mapowania
| Parameter | Type | Description |
|---|---|---|
email required | string | Adres e-mail kontaktu (unikalny identyfikator) |
FIRSTNAME optional | string | Atrybut imienia kontaktu |
LASTNAME optional | string | Atrybut nazwiska kontaktu |
SMS optional | string | Numer telefonu dla wiadomości SMS i WhatsApp |
OPT_IN optional | boolean | Status zgody na marketing |
ORDER_COUNT optional | integer | Całkowita liczba złożonych zamówień |
TOTAL_REVENUE optional | number | Przychód życiowy od kontaktu |
LOYALTY_POINTS optional | integer | Bieżące saldo punktów programu lojalnościowego |
Niestandardowe mapowanie atrybutów
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_POINTSEndpointy API
Główne endpointy
| Metoda | Endpoint | Opis |
|---|---|---|
POST | /v3/smtp/email | Wyślij transakcyjny e-mail |
POST | /v3/transactionalSMS/send | Wyślij transakcyjny SMS |
POST | /v3/whatsapp/sendMessage | Wyślij transakcyjny WhatsApp |
POST | /v3/contacts | Utwórz kontakt |
PUT | /v3/contacts/{email} | Zaktualizuj kontakt |
GET | /v3/contacts/{identifier} | Pobierz szczegóły kontaktu |
POST | /v3/contacts/import | Zbiorczy import kontaktów |
Endpointy e-commerce
| Metoda | Endpoint | Opis |
|---|---|---|
POST | /v3/orders/status | Utwórz lub zaktualizuj status zamówienia |
POST | /v3/products | Utwórz lub zaktualizuj produkty |
POST | /v3/categories | Utwórz lub zaktualizuj kategorie produktów |
POST | /v3/events | Śledź niestandardowe zdarzenia |
Endpointy kampanii
| Metoda | Endpoint | Opis |
|---|---|---|
POST | /v3/emailCampaigns | Utwórz kampanię e-mailową |
POST | /v3/emailCampaigns/{id}/sendNow | Wyślij kampanię natychmiast |
GET | /v3/emailCampaigns | Lista wszystkich kampanii e-mailowych |
GET | /v3/smtp/statistics/events | Pobierz statystyki zdarzeń e-mail |
Zdarzenia
Zdarzenia transakcyjne
| Zdarzenie | Wyzwalacz | Przypadek użycia |
|---|---|---|
delivered | E-mail dostarczony do skrzynki | Potwierdzenie dostarczenia |
opened | E-mail otwarty przez odbiorcę | Śledzenie zaangażowania |
clicked | Link kliknięty w e-mailu | Śledzenie kliknięć |
bounced | Odbiło się od e-mail | Higiena listy |
spam | Oznaczono jako spam | Monitorowanie zgodności |
unsubscribed | Kontakt zrezygnował z subskrypcji | Zarządzanie preferencjami |
Zdarzenia e-commerce
| Zdarzenie | Wyzwalacz | Przypadek użycia |
|---|---|---|
order_completed | Zamówienie złożone pomyślnie | Przepływy po zakupie |
cart_updated | Zmiana zawartości koszyka | Śledzenie porzuconego koszyka |
cart_deleted | Koszyk wyczyszczony lub wygasły | Odzyskiwanie koszyka |
product_viewed | Odwiedzono stronę produktu | Porzucenie przeglądania |
Przykłady kodu
Inicjalizacja 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});Wyślij transakcyjny e-mail
// Send a transactional email via Brevoawait tajo.brevo.sendTransactionalEmail({ templateId: 12, params: { ORDER_ID: '12345', ORDER_TOTAL: '$59.99', DELIVERY_DATE: '2024-02-15' }});Synchronizuj kontakty
// 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// }Śledź niestandardowe zdarzenia
// 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' } }});Limity API
Brevo egzekwuje limity szybkości na trzech poziomach opartych na Twoim planie:
| 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 |
| Wszystkie inne endpointy | 100 RPH | 200 RPH | 600 RPH |
Odpowiedź na limit szybkości
Gdy przekroczysz limit szybkości, API zwraca kod statusu 429 Too Many Requests. Monitoruj nagłówki limitów szybkości w odpowiedziach, aby śledzić swoje użycie.
Rozwiązywanie problemów
Typowe problemy
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| 401 Unauthorized | Nieprawidłowy klucz API | Wygeneruj ponownie klucz API w Brevo Settings |
| Kontakt nie utworzony | Brakujące pole e-mail | Upewnij się, że e-mail jest podany dla wszystkich kontaktów |
| E-mail nie dostarczony | Niezweryfikowana domena nadawcy | Zweryfikuj domenę w ustawieniach Nadawców Brevo |
| Webhook nie odebrany | Nieprawidłowy URL lub błąd serwera | Sprawdź dostępność URL webhooka i logi |
| SMS nie wysłany | Nieprawidłowy format telefonu | Używaj formatu międzynarodowego z kodem kraju |
Tryb debug
Włącz szczegółowe logowanie:
connectors: brevo: debug: true log_level: verbose log_webhooks: trueTest połączenia
tajo connectors test brevo# ✓ API connection successful# ✓ Contacts API accessible# ✓ Transactional email ready# ✓ SMS sending configured# ✓ Webhooks registeredNajlepsze praktyki
- Używaj rotacji kluczy API - Regularnie rotuj klucze API dla bezpieczeństwa
- Wdrożyj weryfikację webhooków - Waliduj podpisy webhooków z uwierzytelnianiem nazwa użytkownika/hasło
- Importy wsadowe kontaktów - Używaj importu zbiorczego dla dużych zestawów danych zamiast pojedynczych wywołań API
- Monitoruj limity szybkości - Sprawdzaj nagłówki limitów, aby unikać błędów 429
- Używaj śledzenia zdarzeń - Wdrożyj Brevo Tracker dla kompleksowych danych o zachowaniu klientów
- Konfiguruj właściwe uwierzytelnianie nadawcy - Konfiguruj SPF, DKIM i DMARC dla optymalnej dostarczalności
Bezpieczeństwo
- Uwierzytelnianie kluczem API - Dostęp oparty na tokenie sekretnym przez nagłówek
api-key - OAuth 2.0 - Dostęp delegowany oparty na tokenach dla prywatnych integracji
- Weryfikacja webhooków - Uwierzytelnianie nazwą użytkownika i hasłem dla bezpiecznych wywołań webhooków
- Szyfrowanie TLS - Cała komunikacja API szyfrowana w tranzycie
- Allowlisting IP - Opcjonalne ograniczenia IP dostępne na planach Enterprise