Konektor ActiveCampaign
Połącz swoje konto ActiveCampaign z Brevo przez Tajo dla kompleksowej migracji kontaktów, synchronizacji pipeline transakcji, mapowania automatyzacji i ujednoliconych danych marketingowych na obu platformach.
Przegląd
| Właściwość | Wartość |
|---|---|
| Platforma | ActiveCampaign |
| Kategoria | Marketing |
| Poziom konfiguracji | Średni |
| Integracja oficjalna | Tak |
| Synchronizowane dane | Kontakty, Transakcje, Automatyzacje, Zdarzenia |
| Bazowy URL API | https://{account}.api-us1.com/api/3 |
Funkcje
- Migracja kontaktów - Migruj kontakty z niestandardowymi polami, tagami i przynależnościami do list
- Synchronizacja pipeline transakcji - Synchronizuj etapy transakcji, wartości i właścicieli dla śledzenia przychodów
- Mapowanie automatyzacji - Mapuj automatyzacje ActiveCampaign na wyzwalacze workflow Brevo
- Śledzenie zdarzeń - Synchronizuj śledzenie witryny i niestandardowe zdarzenia dla segmentacji behawioralnej
- Synchronizacja list i tagów - Replikuj struktury list i segmenty oparte na tagach w Brevo
- Integracja e-commerce - Synchronizuj Deep Data (zamówienia, klientów, koszyki) z Brevo
- Synchronizacja niestandardowych obiektów - Mapuj niestandardowe obiekty ActiveCampaign na atrybuty Brevo
- Synchronizacja wyników - Przenieś wyniki leadów i kontaktów do atrybutów Brevo
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz:
- Konto ActiveCampaign (Lite, Plus, Professional lub Enterprise)
- URL API i klucz API z Settings > Developer
- Konto Brevo z dostępem do API
- Konto Tajo
Uwierzytelnianie
Uwierzytelnianie kluczem API
ActiveCampaign używa klucza API przekazywanego jako nagłówek lub parametr zapytania.
curl "https://{account}.api-us1.com/api/3/contacts" \ -H "Api-Token: YOUR_API_KEY" \ -H "Content-Type: application/json"Znajdź URL API i klucz w ActiveCampaign Settings > Developer.
URL API
Twój URL API jest unikalny dla Twojego konta (np. https://yourcompany.api-us1.com). Zawsze używaj tego URL, nie URL dashboardu.
Konfiguracja
Podstawowa konfiguracja
connectors: activecampaign: enabled: true api_url: "https://yourcompany.api-us1.com" api_key: "${AC_API_KEY}"
# Data sync options sync: contacts: true deals: true automations: true events: true ecommerce: true
# List mapping to Brevo list_mapping: "Main List": 50 "Newsletter": 51 "Customers": 52Mapowanie pól
Mapuj pola ActiveCampaign na atrybuty kontaktów Brevo:
Domyślne mapowania
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mail kontaktu (unikalny identyfikator) |
firstName optional | string | Mapuje na atrybut FIRSTNAME |
lastName optional | string | Mapuje na atrybut LASTNAME |
phone optional | string | Mapuje na atrybut SMS |
tags optional | array | Tagi kontaktu do segmentacji |
score optional | integer | Wynik zaangażowania kontaktu |
deals optional | array | Powiązane rekordy transakcji |
fieldValues optional | array | Wartości niestandardowych pól |
Mapowanie niestandardowych pól
field_mapping: # Standard fields email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS
# Engagement fields score: LEAD_SCORE rating: ENGAGEMENT_RATING
# Deal fields deals.value: DEAL_VALUE deals.stage: DEAL_STAGE deals.owner: DEAL_OWNER
# Custom fields fieldValues.company: COMPANY_NAME fieldValues.industry: INDUSTRY fieldValues.plan_tier: PLAN_TIEREndpointy API
Kontakty
| Metoda | Endpoint | Opis |
|---|---|---|
GET | /api/3/contacts | Lista wszystkich kontaktów |
POST | /api/3/contacts | Utwórz kontakt |
PUT | /api/3/contacts/{id} | Zaktualizuj kontakt |
GET | /api/3/contacts/{id} | Pobierz kontakt |
POST | /api/3/contact/sync | Synchronizuj kontakt (utwórz lub zaktualizuj) |
POST | /api/3/import/bulk_import | Zbiorczy import kontaktów |
Transakcje
| Metoda | Endpoint | Opis |
|---|---|---|
GET | /api/3/deals | Lista wszystkich transakcji |
POST | /api/3/deals | Utwórz transakcję |
PUT | /api/3/deals/{id} | Zaktualizuj transakcję |
GET | /api/3/dealStages | Lista wszystkich etapów transakcji |
GET | /api/3/dealPipelines | Lista wszystkich pipeline’ów |
Automatyzacje
| Metoda | Endpoint | Opis |
|---|---|---|
GET | /api/3/automations | Lista automatyzacji |
GET | /api/3/automations/{id} | Pobierz automatyzację |
POST | /api/3/contactAutomations | Dodaj kontakt do automatyzacji |
E-commerce (Deep Data)
| Metoda | Endpoint | Opis |
|---|---|---|
POST | /api/3/ecomOrders | Utwórz zamówienie |
GET | /api/3/ecomOrders | Lista zamówień |
POST | /api/3/ecomCustomers | Utwórz klienta |
GET | /api/3/ecomCustomers | Lista klientów |
Śledzenie zdarzeń
| Metoda | Endpoint | Opis |
|---|---|---|
POST | /api/3/tracking/event | Śledź niestandardowe zdarzenie |
GET | /api/3/eventTrackingEvents | Lista wszystkich nazw zdarzeń |
POST | /api/3/eventTrackingEvents | Utwórz nazwę zdarzenia |
Zdarzenia
Zdarzenia kontaktów
| Zdarzenie | Wyzwalacz | Przypadek użycia |
|---|---|---|
contact_add | Utworzono nowy kontakt | Przepływ powitalny |
contact_update | Zmiana danych kontaktu | Synchronizacja atrybutów |
contact_tag_added | Przypisano tag | Aktualizacja segmentu |
contact_tag_removed | Usunięto tag | Czyszczenie segmentu |
Zdarzenia transakcji
| Zdarzenie | Wyzwalacz | Przypadek użycia |
|---|---|---|
deal_add | Utworzono nową transakcję | Powiadomienie sprzedażowe |
deal_update | Zmiana etapu transakcji | Automatyzacja pipeline’u |
deal_tasktype_add | Dodano zadanie do transakcji | Śledzenie aktywności |
Zdarzenia automatyzacji
| Zdarzenie | Wyzwalacz | Przypadek użycia |
|---|---|---|
automation_contact_add | Kontakt wszedł do automatyzacji | Śledzenie przepływu |
automation_contact_complete | Kontakt ukończył automatyzację | Wyzwalacz następnego kroku |
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 ActiveCampaignawait tajo.connectors.connect('activecampaign', { apiUrl: process.env.AC_API_URL, apiKey: process.env.AC_API_KEY});Migruj kontakty do Brevo
// Full contact migration with custom fields and tagsawait tajo.connectors.sync('activecampaign', { type: 'full', resources: ['contacts', 'deals', 'events'], options: { includeTags: true, includeCustomFields: true, includeScores: true, includeListMemberships: true }});
// Check sync statusconst status = await tajo.connectors.status('activecampaign');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsMigrated: 28000,// dealsSynced: 4500,// eventsSynced: 120000// }Śledź niestandardowe zdarzenia
// Forward ActiveCampaign events to Brevoawait tajo.activecampaign.trackEvent({ event: 'product_demo_requested', eventData: { product: 'Enterprise Plan', source: 'website' }});Limity API
Limity szybkości ActiveCampaign API:
| Plan | Limit szybkości | Szczegóły |
|---|---|---|
| Lite | 5 żądań/sekundę | Na konto |
| Plus | 10 żądań/sekundę | Na konto |
| Professional | 10 żądań/sekundę | Na konto |
| Enterprise | 20 żądań/sekundę | Na konto |
Dodatkowe limity:
- Import zbiorczy: 250 kontaktów na partię
- Częstotliwość importu zbiorczego: 1 import na raz
- Śledzenie zdarzeń: 2 żądania/sekundę
- Limit dzienny: Brak wyraźnego limitu dziennego (tylko oparty na szybkości)
Obsługa limitów szybkości
ActiveCampaign zwraca 429 Too Many Requests, gdy limity są przekroczone. Wdrożyj logikę ponownych prób z wartością nagłówka Retry-After.
Rozwiązywanie problemów
Typowe problemy
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| 403 Forbidden | Nieprawidłowy klucz API lub URL | Zweryfikuj URL API i klucz w AC Settings > Developer |
| Kontakt nie zsynchronizowany | Obsługa duplikatów e-maili | Używaj endpointa /contact/sync dla zachowania upsert |
| Puste niestandardowe pole | Niezgodność ID pola | Mapuj pola przez ID, nie etykietę (etykiety mogą się zmieniać) |
| Webhook nie odebrany | Webhook niezakonfigurowany | Skonfiguruj webhooki w AC Settings > Developer > Webhooks |
| Transakcja nie utworzona | Brakujące wymagane pola | Upewnij się, że pipeline, etap i kontakt są podane |
Tryb debug
Włącz szczegółowe logowanie:
connectors: activecampaign: debug: true log_level: verbose log_webhooks: trueTest połączenia
tajo connectors test activecampaign# ✓ API connection successful# ✓ Contacts readable# ✓ Deals readable# ✓ Automations accessible# ✓ Event tracking enabledNajlepsze praktyki
- Używaj endpointa sync kontaktu - Używaj
/contact/syncdla operacji upsert zamiast osobnych create/update - Mapuj pola przez ID - ID niestandardowych pól są stabilne; etykiety mogą się zmieniać
- Zachowaj przynależności do list - Migruj przypisania list razem z danymi kontaktów
- Synchronizuj pipeline transakcji - Mapuj etapy pipeline’u dla spójnego raportowania CRM
- Wdrożyj śledzenie zdarzeń - Używaj śledzenia witryny dla danych behawioralnych w Brevo
- Importy wsadowe - Używaj importu zbiorczego dla zestawów danych większych niż 1 000 kontaktów
Bezpieczeństwo
- Uwierzytelnianie kluczem API - Dostęp oparty na tokenach przez nagłówek
Api-Token - Weryfikacja webhooków - Waliduj zakresy IP źródeł webhooków
- Szyfrowanie TLS - Cała komunikacja API szyfrowana przez HTTPS
- Dostęp na poziomie konta - Klucz API zapewnia pełny dostęp do konta; używaj ostrożnie
- Ograniczenia IP - Dostępne na planach Enterprise