Customer.io Konektor
Povežite svoju Customer.io platformu za razmjenu poruka s Brevom za ujedinjene korisničke podatke, koordinaciju kampanja na više platformi i konsolidiranu analitiku angažmana.
Pregled
| Svojstvo | Vrijednost |
|---|---|
| Platforma | Customer.io |
| Kategorija | Marketing |
| Složenost postavljanja | Srednje |
| Službena integracija | Ne |
| Sinkronizirani podaci | Osobe, Događaji, Kampanje, Segmenti |
| Korišteni API-ji | Track API, App API, Pipelines API |
| Autentifikacija | Site ID + API ključ / App API ključ |
| Osnovni URL-ovi | track.customer.io, api.customer.io |
Značajke
- Sinkronizacija osoba - Dvosmjerna sinkronizacija korisničkih profila s Brevo kontaktima
- Prosljeđivanje događaja - Praćenje bihevioralnih događaja i prosljeđivanje u Brevo za okidače automatizacije
- Analitika kampanja - Sinkronizacija metrika performansi kampanje za ujedinjeno izvješćivanje
- Podaci tijeka rada - Zrcaljenje stanja tijeka rada Customer.io u Brevo atributima kontakata
- Replikacija segmenata - Replikacija Customer.io segmenata kao Brevo popisa
- Sinkronizacija podataka objekata - Sinkronizacija objekata koji nisu osobe i podataka o vezama
Preduvjeti
Prije nego što počnete, osigurajte da imate:
- Customer.io račun s API pristupom
- Vaš Site ID i Track API ključ (pronađeni u Postavke > API vjerodajnice)
- App API ključ za čitanje podataka o kampanjama i segmentima
- Brevo račun s API pristupom
- Tajo račun s aktivnom pretplatom
Autentifikacija
Customer.io koristi dva zasebna API-ja s različitim metodama autentifikacije:
Track API (Bihevioralni podaci)
Koristi se za slanje osoba, događaja i podataka o uređajima. Autentificira se sa Site ID-om i API ključem putem Basic Auth.
# Basic Auth: Site ID kao korisničko ime, API ključ kao lozinkacurl -X POST https://track.customer.io/api/v1/customers/user123 \ -u "$SITE_ID:$API_KEY" \ -H "Content-Type: application/json" \App API (Čitanje podataka)
Koristi se za dohvaćanje kampanja, segmenata i korisničkih podataka. Autentificira se s Bearer tokenom.
curl -X GET https://api.customer.io/v1/campaigns \ -H "Authorization: Bearer $APP_API_KEY"Razdvajanje API ključeva
Track API ključ i App API ključ su različite vjerodajnice. Track API ključ se koristi za pisanje podataka, dok je App API ključ za čitanje podataka. Oba su potrebna za potpunu Tajo integraciju.
Povezivanje s Tajom
tajo connectors install customerio \ --site-id $CIO_SITE_ID \ --track-api-key $CIO_TRACK_API_KEY \ --app-api-key $CIO_APP_API_KEYKonfiguracija
Osnovna konfiguracija
connectors: customerio: enabled: true region: "us" # ili "eu" za EU podatkovni centar
sync: people: true events: true campaigns: true segments: true objects: false
lists: all_contacts: 12 active_subscribers: 13 churned: 14Mapiranje polja
Mapirajte atribute osoba Customer.io na Brevo atribute kontakata:
field_mapping: # Standardna polja id: CIO_ID email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# Metrike angažmana created_at: SIGNUP_DATE last_activity: LAST_ACTIVE plan: PLAN_NAME
# Prilagođeni atributi company: COMPANY role: JOB_TITLE mrr: MONTHLY_REVENUE lifecycle_stage: LIFECYCLE_STAGEMapiranje događaja
event_mapping: # Customer.io događaj -> Brevo događaj purchase_completed: ORDER_PLACED subscription_started: SUBSCRIPTION_START feature_activated: FEATURE_USED support_ticket_opened: SUPPORT_REQUESTAPI krajnje točke
Tajo se integrira s sljedećim Customer.io API krajnjim točkama:
| Krajnja točka | Metoda | API | Namjena |
|---|---|---|---|
/api/v1/customers/{id} | PUT | Track | Kreiraj ili ažuriraj osobu |
/api/v1/customers/{id}/events | POST | Track | Prati događaj osobe |
/api/v1/events | POST | Track | Prati anonimne događaje |
/api/v2/entity | POST | Track | Kreiraj ili ažuriraj osobe/objekte (Pipelines) |
/v1/campaigns | GET | App | Popis kampanja |
/v1/campaigns/{id}/metrics | GET | App | Metrike performansi kampanje |
/v1/segments | GET | App | Popis segmenata |
/v1/segments/{id}/membership | GET | App | Dohvati članove segmenta |
/v1/customers/{id}/attributes | GET | App | Dohvati atribute korisnika |
/v1/customers/{id}/activities | GET | App | Dohvati zapisnik aktivnosti korisnika |
Primjeri koda
Inicijalizacija 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'});Sinkronizacija osoba u Brevo
// Inkrementalna sinkronizacija Customer.io osobaawait 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// }Prosljeđivanje događaja
// Prosljeđivanje Customer.io webhook događaja izvješćivanja u Brevoapp.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');});Izvoz segmenta
const result = await tajo.connectors.exportSegment('customerio', { segmentId: 42, targetList: 13, includeAttributes: ['email', 'first_name', 'last_name', 'plan']});
console.log(`Izvezeno ${result.count} osoba na Brevo popis 13`);Ograničenja brzine
Customer.io primjenjuje različita ograničenja brzine po API-ju:
| API | Ograničenje brzine | Napomene |
|---|---|---|
| Track API | ~100 zahtjeva/sekundi | Po radnom prostoru |
| App API | 10 zahtjeva/sekundi | Po API ključu |
| Pipelines API | 100 zahtjeva/sekundi | Preporučeno za skupne podatke |
| Skupna krajnja točka | 1.000 osoba po zahtjevu | Maks. opterećenje 500KB |
Koristite skupne krajnje točke
Za velike sinkronizacije, Tajo koristi Customer.io skupnu krajnju točku za slanje do 1.000 osoba po zahtjevu, značajno smanjujući volumen API poziva.
Rješavanje problema
Uobičajeni problemi
| Problem | Uzrok | Rješenje |
|---|---|---|
| 401 Unauthorized | Nevažeći Site ID ili API ključ | Verificirajte vjerodajnice u Customer.io Postavkama > API |
| Osobe se ne sinkroniziraju | Nedostaje identifikator | Osigurajte da svaka osoba ima id ili email |
| Događaji se ne prate | Pogrešna vrsta API ključa | Koristite Track API ključ za događaje, a ne App API ključ |
| EU podaci nisu dostupni | Pogrešna konfigurirana regija | Postavite regiju na eu za EU radne prostore |
| Greške ograničenja brzine | Previše App API poziva | Smanjite učestalost anketiranja za podatke o kampanjama |
Način otklanjanja grešaka
connectors: customerio: debug: true log_level: verbose log_api_calls: trueTestiranje veze
tajo connectors test customerio# ✓ Track API veza uspješna# ✓ App API veza uspješna# ✓ Osobe dostupne# ✓ Kampanje čitljive# ✓ Segmenti u popisuPreporučene prakse
- Koristite Pipelines API za skupne podatke - Noviji Pipelines API optimiziran je za visoko-volumni unos
- Postavite webhookove za izvješćivanje - Prosljeđujte Customer.io e-mail događaje Taju u stvarnom vremenu
- Mapirajte faze životnog ciklusa - Sinkronizacija članstva u segmentima Customer.io na Brevo atribute
- Koristite dosljedne identifikatore - Uskladite polja
idu Customer.io i Brevo - Sinkronizirajte inkrementalno - Izbjegavajte potpune izvoze; iskoristite vremenske oznake
last_activity - Pratite isporuku webhookova - Postavite upozorenja za neuspjele isporuke webhookova
Sigurnost
- Basic Auth - Track API autentificira se sa Site ID-om i API ključem
- Bearer Token - App API koristi OAuth-style bearer tokene
- Samo HTTPS - Sva API komunikacija šifrirana putem TLS 1.2+
- Regionalni podatkovni centri - Opcija EU podatkovnog centra za GDPR usklađenost
- Šifrirano pohranjivanje - Sve vjerodajnice šifrirane u mirovanju u Taju
- Potpisi webhookova - Verificirajte webhook opterećenja s HMAC potpisima