Konektor Customer.io

Połącz swoją platformę komunikacyjną Customer.io z Brevo dla ujednoliconych danych klientów, wieloplatformowej koordynacji kampanii i skonsolidowanej analityki zaangażowania.

Przegląd

WłaściwośćWartość
PlatformaCustomer.io
KategoriaMarketing
Poziom konfiguracjiŚredni
Integracja oficjalnaNie
Synchronizowane daneOsoby, Zdarzenia, Kampanie, Segmenty
Używane APITrack API, App API, Pipelines API
UwierzytelnianieSite ID + Klucz API / Klucz App API
Bazowe URLtrack.customer.io, api.customer.io

Funkcje

  • Synchronizacja osób - Dwukierunkowa synchronizacja profili klientów z kontaktami Brevo
  • Przekazywanie zdarzeń - Śledź zdarzenia behawioralne i przekazuj do Brevo jako wyzwalacze automatyzacji
  • Analityka kampanii - Synchronizuj metryki wydajności kampanii dla ujednoliconego raportowania
  • Dane workflow - Dubluj stany workflow Customer.io w atrybutach kontaktów Brevo
  • Replikacja segmentów - Replikuj segmenty Customer.io jako listy Brevo
  • Synchronizacja danych obiektów - Synchronizuj obiekty niebędące osobami i dane relacji

Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

  1. Konto Customer.io z dostępem do API
  2. Site ID i Track API Key (dostępne w Settings > API Credentials)
  3. Klucz App API do odczytu danych kampanii i segmentów
  4. Konto Brevo z dostępem do API
  5. Konto Tajo z aktywną subskrypcją

Uwierzytelnianie

Customer.io używa dwóch oddzielnych API z różnymi metodami uwierzytelniania:

Track API (dane behawioralne)

Używane do wysyłania osób, zdarzeń i danych urządzeń. Uwierzytelnia przy użyciu Site ID i klucza API przez Basic Auth.

Terminal window
# Basic Auth: Site ID as username, API Key as password
curl -X POST https://track.customer.io/api/v1/customers/user123 \
-u "$SITE_ID:$API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'

App API (odczyt danych)

Używane do pobierania kampanii, segmentów i danych klientów. Uwierzytelnia przy użyciu tokenu bearer.

Terminal window
curl -X GET https://api.customer.io/v1/campaigns \
-H "Authorization: Bearer $APP_API_KEY"

Rozdzielenie kluczy API

Klucz Track API i klucz App API to różne poświadczenia. Klucz Track API służy do zapisu danych, natomiast klucz App API do odczytu danych. Oba są wymagane do pełnej integracji z Tajo.

Połączenie z Tajo

Terminal window
tajo connectors install customerio \
--site-id $CIO_SITE_ID \
--track-api-key $CIO_TRACK_API_KEY \
--app-api-key $CIO_APP_API_KEY

Konfiguracja

Podstawowa konfiguracja

connectors:
customerio:
enabled: true
region: "us" # or "eu" for EU data center
sync:
people: true
events: true
campaigns: true
segments: true
objects: false
lists:
all_contacts: 12
active_subscribers: 13
churned: 14

Mapowanie pól

Mapuj atrybuty osób Customer.io na atrybuty kontaktów Brevo:

field_mapping:
# Standard fields
id: CIO_ID
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
# Engagement metrics
created_at: SIGNUP_DATE
last_activity: LAST_ACTIVE
plan: PLAN_NAME
# Custom attributes
company: COMPANY
role: JOB_TITLE
mrr: MONTHLY_REVENUE
lifecycle_stage: LIFECYCLE_STAGE

Mapowanie zdarzeń

event_mapping:
# Customer.io event -> Brevo event
purchase_completed: ORDER_PLACED
subscription_started: SUBSCRIPTION_START
feature_activated: FEATURE_USED
support_ticket_opened: SUPPORT_REQUEST

Endpointy API

Tajo integruje się z następującymi endpointami API Customer.io:

EndpointMetodaAPIPrzeznaczenie
/api/v1/customers/{id}PUTTrackUtwórz lub zaktualizuj osobę
/api/v1/customers/{id}/eventsPOSTTrackŚledź zdarzenie osoby
/api/v1/eventsPOSTTrackŚledź anonimowe zdarzenia
/api/v2/entityPOSTTrackUtwórz lub zaktualizuj osoby/obiekty (Pipelines)
/v1/campaignsGETAppLista kampanii
/v1/campaigns/{id}/metricsGETAppMetryki wydajności kampanii
/v1/segmentsGETAppLista segmentów
/v1/segments/{id}/membershipGETAppPobierz członków segmentu
/v1/customers/{id}/attributesGETAppPobierz atrybuty klienta
/v1/customers/{id}/activitiesGETAppPobierz log aktywności klienta

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
});
await tajo.connectors.connect('customerio', {
siteId: process.env.CIO_SITE_ID,
trackApiKey: process.env.CIO_TRACK_API_KEY,
appApiKey: process.env.CIO_APP_API_KEY,
region: 'us'
});

Synchronizuj osoby do Brevo

// Incremental sync of Customer.io people
await tajo.connectors.sync('customerio', {
type: 'incremental',
resources: ['people'],
since: '2024-01-01',
batchSize: 100
});
const status = await tajo.connectors.status('customerio');
console.log(status);
// {
// connected: true,
// lastSync: '2024-03-15T14:20:00Z',
// peopleCount: 32500,
// campaignsTracked: 18,
// eventsProcessed: 87000
// }

Przekazuj zdarzenia

// Forward Customer.io reporting webhook events to Brevo
app.post('/webhooks/customerio', async (req, res) => {
const events = req.body;
for (const event of events) {
await tajo.connectors.handleEvent('customerio', {
type: event.metric,
payload: {
customerId: event.data.customer_id,
campaignId: event.data.campaign_id,
timestamp: event.timestamp
}
});
}
res.status(200).send('OK');
});

Eksportuj segment

const result = await tajo.connectors.exportSegment('customerio', {
segmentId: 42,
targetList: 13,
includeAttributes: ['email', 'first_name', 'last_name', 'plan']
});
console.log(`Exported ${result.count} people to Brevo list 13`);

Limity API

Customer.io egzekwuje różne limity szybkości dla każdego API:

APILimit szybkościUwagi
Track API~100 żądań/sekundęNa przestrzeń roboczą
App API10 żądań/sekundęNa klucz API
Pipelines API100 żądań/sekundęZalecane dla danych masowych
Endpoint wsadowy1 000 osób na żądanieMaks. ładunek 500KB

Używaj endpointów wsadowych

Dla dużych synchronizacji Tajo używa endpointu wsadowego Customer.io do wysyłania do 1 000 osób na żądanie, co znacznie zmniejsza liczbę wywołań API.

Rozwiązywanie problemów

Typowe problemy

ProblemPrzyczynaRozwiązanie
401 UnauthorizedNieprawidłowy Site ID lub klucz APIZweryfikuj poświadczenia w Customer.io Settings > API
Osoby się nie synchronizująBrakujący identyfikatorUpewnij się, że każda osoba ma id lub email
Zdarzenia nie są śledzoneZły typ klucza APIUżywaj klucza Track API dla zdarzeń, nie klucza App API
Dane EU niedostępneSkonfigurowany zły regionUstaw region na eu dla przestrzeni roboczych UE
Błędy limitu szybkościZbyt wiele wywołań App APIZmniejsz częstotliwość odpytywania danych kampanii

Tryb debug

connectors:
customerio:
debug: true
log_level: verbose
log_api_calls: true

Test połączenia

Terminal window
tajo connectors test customerio
# ✓ Track API connection successful
# ✓ App API connection successful
# ✓ People accessible
# ✓ Campaigns readable
# ✓ Segments listable

Najlepsze praktyki

  1. Używaj Pipelines API dla danych masowych - Nowszy Pipelines API jest zoptymalizowany dla ingestion dużych wolumenów
  2. Skonfiguruj webhooki raportowania - Przekazuj zdarzenia e-mail Customer.io do Tajo w czasie rzeczywistym
  3. Mapuj etapy cyklu życia - Synchronizuj przynależność do segmentów Customer.io z atrybutami Brevo
  4. Używaj spójnych identyfikatorów - Dopasuj pola id między Customer.io a Brevo
  5. Synchronizuj przyrostowo - Unikaj pełnych eksportów; wykorzystuj znaczniki czasu last_activity
  6. Monitoruj dostarczanie webhooków - Ustaw alerty dla nieudanych dostarczeń webhooków

Bezpieczeństwo

  • Basic Auth - Track API uwierzytelnia przy użyciu Site ID i klucza API
  • Token Bearer - App API używa tokenów bearer w stylu OAuth
  • Tylko HTTPS - Cała komunikacja API szyfrowana przez TLS 1.2+
  • Regionalne centra danych - Opcja centrum danych UE dla zgodności z RODO
  • Szyfrowane przechowywanie - Wszystkie poświadczenia szyfrowane w stanie spoczynku w Tajo
  • Podpisy webhooków - Weryfikuj ładunki webhooków podpisami HMAC

Powiązane zasoby

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
Asystent AI

Cześć! Zapytaj mnie o dokumentację.